[Linux] 시스템 관리 명령어

Joney의 SW 공부 블로그·2023년 6월 1일
0

Linux

목록 보기
3/4

crontab

  • 정기적으로 지정한 시간에 실행하고 싶은 명령어를 등록
  • 스크립트 등록도 가능
옵션설명
-l등록된 명령어 리스트 확인
-e등록된 명령어를 수정

crontab 주기

  • 크론탭을 등록할 때는 실행하고자 하는 주기와 명령어를 입력 필요
  • 주기는 분, 시, 일, 월, 요일의 형태로 입력
  • *는 모두를 의미
주기비고
0 ~ 59
0 ~ 23
1 ~ 31
1 ~ 12
요일0 ~ 7(0, 7이 일요일)
# 입력 형태 
분 시 일 월 요일 명령어

# 매 시간 50분에 time.sh 실행 
50 * * * * /mnt/usr/time.sh

# 매일 1시에 log 로 끝나는 파일을 찾아서 find.log 파일로 저장 
0 1 * * * find -name '*.log' ./ >> /test/log/fin.log 

# 5분 마다 program.sh 실행
*/5 * * * * /home/user/program.sh

# 4-10 시 사이에 1시간마다 program.sh 실행
0 4-10/1 * * * /home/user/program.sh

# 매일 1시, 3시에 program.sh 를 실행하고 로그를 저장
# 크론탭에 입력할 때 %는 오류가 발생하기 때문에 역슬래쉬(\)로 감싸 주어야 함 
0 1,3 * * /home/user/program.sh >> /home/user/logs/`date -u +\%Y\%m\%d.\%H\%M.log` 2>&1



free

  • 메모리 사용량을 확인하는 명령어
옵션내용
-h사람이 읽을 수 있는 GB, MB, KB 형태로 변경하여 출력
-s [second]지정한 초(second) 마다 이용량 출력

메모리 사용량 확인

이름내용
total전체 메모리 용량
used사용중인 메모리 용량
free유휴 메모리 용량
shared공유 메모리 용량. 프로세서, 스레드간 통신을 위해 사용.
buffers버퍼 메모리 용량. 파일 저장을 위한 임시 저장 공간 등.
cached캐쉬 메모리 용량. 자주 사용하는 데이터를 메모리에 캐슁하여 IO 속도 증가
$ free 
             total       used       free     shared    buffers     cached
Mem:       3921016    1925576    1995440        144     159096     999700
-/+ buffers/cache:     766780    3154236
Swap:            0          0          0

$ free -h
             total       used       free     shared    buffers     cached
Mem:          3.7G       1.8G       1.9G       144K       155M       976M
-/+ buffers/cache:       748M       3.0G
Swap:           0B         0B         0B

# 1초에 한번씩 메모리 사용량 출력
$ free -h -s 1
             total       used       free     shared    buffers     cached
Mem:          3.7G       1.8G       1.9G       144K       155M       976M
-/+ buffers/cache:       748M       3.0G
Swap:           0B         0B         0B

             total       used       free     shared    buffers     cached
Mem:          3.7G       1.8G       1.9G       144K       155M       976M
-/+ buffers/cache:       748M       3.0G
Swap:           0B         0B         0B



jobs

  • 현재 실행중인 작업을 표시
옵션내용
-l프로세스 ID를 표시합니다.

프로세스 상태

상태내용
Running실행 중
Stopped일시 중단(Ctrl + Z 입력)
Terminated강제 종료(kill 명령 종료)
Done정상 종료



journalctl

  • systemctl로 실행한 systemd의 로그를 확인할 수 있는 명령어
옵션내용
-u로그를 출력할 유닛을 지정
-o출력 형식을 지정. (short, short-iso)
-f신규로 추가 되는 로그를 출력



kill

  • 프로세스를 종료



ps

  • 프로세스 정보를 표시
옵션내용
-e현재 실행중인 모든 프로세스를 표시한다.
-f유저명, 시작시간을 표시한다.
-u유저명으로 검색한다.
-o사용자가 설정한 포맷으로 출력한다.
-p [pid]지정한 프로세스 정보만 표시한다.
-e f프로세스의 관계를 트리형식으로 표시한다.

사용자가 설정한 포맷

  • -o 옵션을 이용해서 현재 실행중인 프로세스의 정보중 원하는 것만 확인 가능
옵션설명
user유저명
pid프로세스 ID
ppid부모 프로세스 ID
rss실제 메모리 사용량
pmem메모리 사용률
pcpuCPU 사용률
timeCPU 사용시간
etime총 실행 시간
cmd커맨드



which

  • 명령어의 경로/앨리어스를 표시
옵션내용
-a환경변수 PATH에서 지정한 모든 경로를 표시합니다.
# rm 명령어의 위치를 확인 
$ which rm
/bin/rm

# ll 앨리어스의 정보를  확인 
$ which ll
alias ll='ls -l --color=auto'
    /bin/ls
profile
SW 지식 노트 블로그

0개의 댓글