관리용 쉘 템플릿

markyang92·2022년 6월 3일
0

shell-script

목록 보기
19/19
post-thumbnail

column -t: 구분자 tab으로 변경

  1. | column -t: 구분자를 tab으로 변경시켜 출력

$ mount 명령은 보기가 굉장히 불편하다.
$ mount | column -t로 보기 좋게 보자.


메모리 많이 사용하는 프로세스 top10

  1. ps aux: ps 관련 링크 참고
  1. 4번째 필드인 '%MEM'를 sort로 정렬할 것 + r(리버스)
$ ps aux | sort -nr -k 4


  1. 여기서 그러니까, | head -n10을 넣어 상위 top 10만 본다.

timeout: 특정 시간이 지나면 명령어 자동 종료

$ timeout <Time>s <COMMAND>
  • du -h --max-depth=1은 시간이 오래 걸리는데, 5초 동안만 측정하고 끝내기로하자.
$ timeout 5s du / -h --max-depth=1 2> /dev/null


현재 위치 하위의 디렉토리별 파일 수 카운트

find . -xdev -type d -exec /bin/echo -n "{}: " \; -exec sh -c "ls {} | wc -l" \;
  • -xdev: 로컬 파일 시스템에서만 검사한다.

어떤 프로세스가 io interrupt를 기다리고 있는지 확인

  • 1초 마다 data를 찍어, state code가 D(uninterruptible sleep (usually IO))인 프로세스 출력
$ while tru; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done


특정 프로그램(프로세스 명)이 전체 메모리의 몇 퍼센트를 사용하는지 확인

$ ps -eo pmem,comm | grep -i "<PROCESS>" | awk '{sum+=$1} END {print sum "% of MEMORY"}'
  • e.g., VSCODE 가 얼마나 사용하는지 보자.


현재 path


Wrapper 와 real프로그램실행


EOF로 파일 write

test.sh

#!/bin/bash

cat << EOF > $1
#!/bin/bash
realpath=\$(readlink  -fn \$0)
realdir=\$(dirname \$realpath)
export $2
EOF

chmod +x $1
profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글