[리눅스] 리눅스(linux) 명령어 모음
업데이트:
리눅스(linux) 명령어 모음
참고링크
ps - 현재 실행 중인 프로세스 확인
$ ps -ef | grep apache
ps 옵션 | 설명 |
---|---|
-e | 모든 프로세스 출력 |
-f | Full 포맷 |
-eo | etime, time 필드는 프로세스의 시작부터 현재까지의 경과시간과 사용시간 표시 |
$ ps -eo pid,comm,time,etime
- vsz 필드: 가상 메모리 양
- rss 필드: 확보된 물리 메모리 양
- maj_flt + min_flt 필드: 프로세스 생성시부터의 페이지 폴트 횟수
파이프(|) - 출력 결과를 필터링
wc -l : 줄 수 확인 |
$ cat hello.log | wc -l
grep - 파일 패턴을 스캔
- 하위폴더 포함, 존재하는 모든 파일에서 원하는 단어를 찾아주는 명령어
$ grep -rni [검색어] [경로명 또는 파일명]
- r : 하위 디렉토리까지 검색
- n : 파일내 몇번째 라인인지 표시
-
i : 검색어 대소문자 구분없이 검색
- 예) 현재 디렉토리이하 abc라는 문자열 포함되는 경우 검색
$ grep -rni "abc" ./
find - 하위폴더에 존재하는 파일 찾아줌
$ find [검색 디렉토리] -iname [파일명]
- -name : 대소문자 구분하여 파일명 검색
- -iname : 대소문자 구분하지 않고 파일명 검색
리다이렉션(>) - 출력 결과를 파일로 저장
기호 | 의미 |
---|---|
> | 결과를 파일로 저장 |
>> | 결과를 기존 파일에 데이터 추가 |
< | 파일 데이터를 입력 |
예를 들어,
$ ls -al > abc.txt
라고 하면 ls -al을 입력 후 출력되는 결과물을 abc.txt라는 파일에 저장하라는 뜻.
리눅스 파일 디스크립터
기호 | 의미 |
---|---|
0 | 표준입력 |
1 | 표준출력 |
2 | 표준에러 |
$ nohup ./a.sh 1>a.log 2>&1 &
- 1>a.out 의 의미는 표준출력을 a.log 파일에 쓰는 것
- 2>&1 표준에러를 표준출력 장소에 전달하라는 의미, 즉 표준에러를 a.out에 씀.
- &의 의미는 백그라운드 실행
strace
strace : 프로세스가 어떠한 시스템 콜을 호출했는지 확인
$ strace -o hello.log ./hello
$ cat hello.log
- -T 옵션을 붙이면 시스템 콜 처리에 걸린 시간을 마이크로 초 단위로 측정 가능
$ strace -T -o hello.log ./hello $ cat hello.log
sar
sar : 프로세스가 사용자 모드와 커널 모드 중 어느쪽에서 실행되고 있는지 비율 확인
$ sar -P ALL 1 1
sar -r : 메모리에 관련된 통계 정보 확인 sar -r 1 : 1초 간격으로 확인
$ sar -r 1
sar -B 1 :1초 간격으로 페이
- 세번째 파라미터 : 측정 시간 단위(1초마다 측정)
- 네번째 파라미터 : 측정 횟수 단위(1회 측정)
getppid()
getppid() : 부모 프로세스의 프로세스 ID 획득
ldd
ldd : 프로그램이 어떤 라이브러리에 링크하고 있는지 확인
$ ldd /bin/echo
OS가 제공하는 프로그램
- 시스템 초기화: init
- OS 동작 바꿈: sysctl, nice, sync
- 파일 관련: touch, mkdir
- 텍스트 데이터 가공: grep, sort, uniq
- 성능 측정: sar, iostat
- 컴파일러: gcc
- 스크립트 언어 실행환경: perl, python, ruby
- 셸: bash
- 윈도우 시스템: X
taskset
$ taskset -c 0 ./hello 1 100 1
- -c : 논리 cpu지정. 예제에서는 cpu 0번을 지정하였다.
- 첫번째 파라미터: 동시에 동작하는 프로세스 수
- 두번째 파라미터: 프로그램 동작 총 시간
- 세번째 파라미터: 데이터 수집 간격
시스템에 탑재된 논리 cpu 갯수 확인
$ grep -c processor /proc/cpuinfo
free
free: 시스템의 총 메모리양과 사용 중인 메모리 양 확인
tail
tail: 파일 끝부분 n줄을 출력해줌(기본값 10줄), 보통 로그 확인할 때 쓰인다
옵션 | 뜻 |
---|---|
-f | 파일 마지막 라인 10개 실시간으로 계속 출력 |
-n | n라인만큼 출력 |
$ tail -f -n 100 abc.log
abc.log 파일의 마지막 100라인 출력