ldd command

linux의 ldd 명령어(CLI)는 바이너리 파일을 실행할 때 필요한 공유 라이브러리(Shared Library) 의존성을 보여주는 명령어 입니다. 기본 사용법 $> ldd /bin/echo linux-vdso.so.1 (0x00007ffe83de4000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f5802b15000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f5802d2d000) # 라이브러리 의존성과 해당 라이브러리 의존성 보기 $> ldd -v /bin/echo linux-vdso.so.1 (0x00007fffd26f3000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f545e813000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f545ea2b000) Version information: /bin/echo: libc.so.6 (GLIBC_2.3) => /usr/lib/libc.so.6 libc.so.6 (GLIBC_2.3.4) => /usr/lib/libc.so.6 libc.so.6 (GLIBC_2.16) => /usr/lib/libc.so.6 libc.so.6 (GLIBC_2.4) => /usr/lib/libc.so.6 libc.

Continue reading

sar command

linux의 sar 명령어(CLI)는 Linux 서브시스템의 성능을 모니터링 할 수 있는 명령어 입니다. 기본 사용법 $> sar -V sysstat version 12.7.4 (C) Sebastien Godard (sysstat <at> orange.fr) # CPU 코어 0을 1초 단위로 1번 수집하기 $> sar -P 0 1 1 Linux 6.5.5-1-MANJARO (geeksaga) 11/02/2023 _x86_64_ (16 CPU) 03:49:45 PM CPU %user %nice %system %iowait %steal %idle 03:49:46 PM 0 3.06 0.00 1.02 0.00 0.00 95.92 Average: 0 3.06 0.00 1.02 0.

Continue reading

strace command

linux의 strace 명령어(CLI)는 시스템 콜과 시그널에 대해 추적할 수 있는 명령어 입니다. 기본 사용법 #!/usr/bin/python3 print("hello world") # 다양한 옵션을 가지고 실행한 python 프로그램 $> strace -tt -T -o hello.log ./hello.py hello world # 출력한 hello.log 파일을 보면 실제 수행된 system call을 확인 할 수 있습니다. $> cat hello.log 16:15:23.942523 execve("./hello.py", ["./hello.py"], 0x7ffd453cab30 /* 119 vars */) = 0 <0.000605> 16:15:23.943465 brk(NULL) = 0x5609554ff000 <0.000021> 16:15:23.943543 arch_prctl(0x3001 /* ARCH_??? */, 0x7fffeaff96a0) = -1 EINVAL (Invalid argument) <0.

Continue reading

taskset command

linux의 taskset 명령어(CLI)는 프로세스의 CPU 선호도(affinity)를 설정하거나 찾는 명령어 입니다. 간단하게 말하면 프로세스가 동작할 때 CPU(CPU or Core)를 지정하는 명령어 입니다. 기본 사용법 # CPU 0번째(1번) Core를 통해 프로세스를 실행하기 $> taskset -c 0 ./process taskset help $> taskset --help Usage: taskset [options] [mask | cpu-list] [pid|cmd [args...]] Show or change the CPU affinity of a process. Options: -a, --all-tasks operate on all the tasks (threads) for a given pid -p, --pid operate on existing given pid -c, --cpu-list display and specify cpus in list format -h, --help display this help -V, --version display version The default behavior is to run a new command: taskset 03 sshd -b 1024 You can retrieve the mask of an existing task: taskset -p 700 Or set it: taskset -p 03 700 List format uses a comma-separated list instead of a mask: taskset -pc 0,3,7-11 700 Ranges in list format can take a stride argument: e.

Continue reading

일반적으로 가능하면 새로운 패키지를 설치 하는 경우 공식 리포지토리 아니면 AUR 리포지토리를 통해 설치하는게 좋습니다. 그러나 간혹 불가능하거나 리포지토리를 제공하지 않는 경우가 있습니다. 다음은 Arch(Manjaro)에 .deb 패키지를 설치하기 위한 과정 입니다. 설치 과정 .deb 패키지를 설치하기 위해서 debtap을 사용하는데 이를 설치 하려면 yay가 필요 합니다. yay -S debtap debtap을 사용하기 전에 패키지 데이터베이스를 한 번 이상 빌드하도록 해야 하므로 다음 명령어를 한번 실행 합니다. sudo debtap -u $> sudo debtap -u ==> Synchronizing pkgfile database.

Continue reading

netcat(nc) command

linux의 nc or netcat 명령어(CLI)는 임의의 TCP 또는 UDP 연결 및 리스닝하는 명령어 입니다. 기본 사용법 # TCP Listening $> nc -l 9999 # UDP Listening $> nc -l -u 9999 # Client 연결 $> nc 127.0.0.1 9999 # Port 스캔 $> nc -v -n 127.0.0.1 1-100 127.0.0.1 22 (ssh) open SSH-2.0-OpenSSH_9.4 ... # 데이터 쓰기 $> echo "Test" | nc 127.0.0.1 9999 # 연결을 통해서 사용중인 프로그램의 버전을 찾을 수도 있습니다.

Continue reading

logrotate command

linux의 logrotate 명령어(CLI)는 시스템 로그를 회전(rotates), *압축(compresses)하여 메일로 전달 할 수 있는 명령어입니다. 기본 사용법 logrotate LifeCyle crontab -> cron.daily -> logrotate -> logrotate.conf -> logrotate.d logrotate 프로그램 파일 : /usr/bin/logrotate logrotate 설정 파일 : /etc/logrotate.conf logrotate 프로세스 설정파일 : /etc/logrotate.d/ logrotate 로그 : /etc/cron.daily/logrotate logrotate.conf 설정 # see "man logrotate" for details # rotate log files weekly # yearly # monthly # daily weekly # keep 4 weeks worth of backlogs rotate 4 # restrict maximum size of log files #size 20M # create new (empty) log files after rotating old ones create # use date as a suffix of the rotated file dateext # uncomment this if you want your log files compressed #compress # Logs are moved into directory for rotation # olddir /var/log/archive # Ignore pacman saved files tabooext + .

Continue reading

Author's picture

GeekSaga

.

Dreamer

Korea