[리눅스] 리눅스(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라인 출력