본문 바로가기
G.Code/Linux

리눅스 명령어 정리

by 한선배 2023. 1. 18.
반응형
  • sort 명령어
    -k : key에 의한 정렬 수행(예 : sort -k 5 -> 5번째 컬럼을 기준)
    -t : 필드 구분자(기본값은 공백문자)(예 : sort -k 5 -t: -> ':'을 구분자로 해서 5번째 컬럼 기준으로 정렬)
    -n : 해당 컬럼을 number로 인식
    -r : 내림차순 정렬(reverse)
    -u : unique한 값
    --debug : sort 처리한 컬럼에 대해서 밑줄처리해서 보여줌
    예시 명령어 : ls -al | sort -k 5 -n -r  -> 해당 폴더에 파일 사이즈(5번째 컬럼) 순으로 내림차순하여 정렬
  • uniq 명령어
    중복 관련 명령어
    -d : 중복만 출력
    -u : 중복되지 않은 데이터만 출력
    -i : 중복데이터 제거해서 출력
    예시 명령어 : grep "shm_open" *.c | awk -F: '{print $1|' | uniq -> shm_open이 들어간 *.c 파일을 찾기(중복을 제거)
  • sed  명령어 : stream editor
    -n : 기본출력은 삭제 하고 원하는 대상만 출력 {RANGE}p 옵션에서만 사용함
    head /etc/passwd | sed -n '1,3p' -> /etc/passwd 파일 내용 중 1,3줄까지만 출력
    head /etc/passwd | sed '1,3d' -> /etc/passwd 파일 내용 중 1~3줄은 삭제하고 출력(4~10라인만 출력)
    head /etc/passwd | sed -n '/games/p' -> /etc/passwd 파일 내용 중 '/games/'가 포함된 라인만 출력
    head /etc/passwd | sed '3,5 s/:/^/g'  -> /etc/passwd 파일 내용 중 3~5줄까지 ':'을 '^'로 변경(g옵션의 경우 해당 라인의 모든 ':'을 '^'로 변경
  • awk 명령어 : 텍스트 처리  script language
    -F : field seperator 지정
    $1, $2, $3, $4 ... : 출력할 필드 값 지정
    NR : 줄 라인 출력
    wc /etc/passwd | awk ' {print $1}' -> wc 명령어를 실행시킨 /etc/passwd 정보 중 첫번째 값(라인수)를 출력
    head /etc/passwd | awk -F: '{print $1}' -> head 명령어를 실행시킨 /etc/passwd 정보(10개 출력) 중 ':'를 구분자로 첫번째 값만 출력
    head /etc/passwd | awk -F: '/sy/ {print $1} -> head 명령어를 실행시킨 /etc/passwd 정보 중 'sy'로 시작하는 데이터 중 ':' 로 구분해서 첫번째 값만 출력

  • find : 조건에 맞는 파일을 찾아 명령을 수행한다.
             기본 사용 방법 : find [OPTIONS] path EXPR

find . -> 현재 디렉토리에 있는 모든 파일 검색(하위 디렉토리 포함)
find . | wc -l  -> 현재 디렉토리에 있는 파일의 라인수 출력(하위 디렉토리 포함)

find . -name "*.py" -> .py로 끝나는 파일명 모두 찾아 내기

find . -empty -> 빈파일 찾기

find . -size +10M -ls -> 10메가보다 큰 파일 찾기

find . -size -10M -ls -> 10메가보다 큰 파일 찾기

find . -size +10M -exec ls -lh {} \; --> 10메가보다 큰 파일 찾고 해당 파일 간단하게 표기하기(M or G)
                                                    --> -exec  를 실행할때는 꼭 {} \;을 끝에 붙여야 마무리가 된다.

  • grep : 파일 내용 중 원하는 내용을 찾는다.
    -r : 하위 디렉토리까지 모두 검색
    grep ftok *.c | awk -F: '{ print $1 }' | sort -u -> ftok *.c 가 포함된 파일을 갖고 와서 중복을 제거해서 출력
    grep "\<for\>" *.c -> for 단어만 포함되어 있는 파일 출력
  • du : 특정 파일/디렉토리가 점유하고 있는 disk usage를 조회 한다.
    -a : directory 뿐만 아니라 모든 파일 출력
    -b : byte 단위로 출력
    -h : 사람이 읽기 편한 포맷으로 출력
    -d : directory 최대 깊이
    -c : 총 합계
    -s : 항목 별 요약 출력
    du /etc /usr/include -> /etc 폴더 및 /usr/include 폴더에 깊이별 각각 사이즈 분석
    du /etc /usr/include -s -c -h -> /etc 폴더 및 /usr/include 폴더에 사이즈 합계 및 총 합계를 사람이 보기 편한 사이즈로 출력
    du ~/ -d 1 ->  홈 디렉토리에서 깊이 1 출력
  • ps : process status 출력 
    -e : 모든 프로세스
    -f :  Full-format
    -L : Thread까지 출력
    --forest : 프로세스를 tree 형태로 구성/출력
    -o : output formatting
    --sort : sorting
  • top : 프로세스를 어떤 기준으로 정렬하여 n개의 프로세스를 조회/모니터링 하는것
    'space'  : 업데이트
    -q : 종료
    -c : full command line 조회
    -1(숫자) :  모든 cpu 상태 조회
    정렬(top을 실행한 상태에서 버튼 누르기)
    - M : memory usage
    - P : CPU usage
    - N : process ID
    - T :  running time
    - R : 역순정렬
  • netstat : 네트워크 소켓 상태를 조회할 수 있는 툴
    -a : all types of port
    -n : numerical address로 변환
    -t : TCP socket only
    -u : UDP socket only
    -l : listening socket only
    -p : 소켓을 열고 있는 프로그램과  PID도 조회
    -r : routing table 조회
    -s : network statistics 조회
    netstat 
    netstat -an
    netstat -x -p | grep chrome ->  크롬이 실행하고 있는 네트워크

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'G.Code > Linux' 카테고리의 다른 글

Linux 한국시간으로 변경하기  (0) 2022.01.04
[Linux] Linux 명령어  (0) 2021.10.04