기타

linux - 명령어

whyHbr 2025. 2. 23. 18:35
728x90
반응형

grep

Global Regular Expression Print 

  • 주어진 패턴을 파일이나 입력 데이터에서 찾는 명령어
  • 주로 텍스트 검색 시 사용한다.
  • grep[option] "search condition' [filename]
    • option
      • -v: 일치하지 않는
      • -i: 대소문자 구분 없는
      • -n:라인 번호화 함께 출력되는
      • -A: after 이후 라인 출력
      • -B: Before 이전 라인 출력
      • -C: content -A + B 결합. 앞 뒤 라인 출력
//file9.txt 에서 1 포함된 거 찾기
grep "1" file9.txt
1
file1.txt
file123.txt

// -v : 1이 포함되지 않는 것 찾기
grep -v "1" file9.txt
2
3

//디렉토리 내 검색
grep -r "hello" /home/hanboreum

//error 이후 라인 2개 출력 -A
grep -A 2 "error" file9.txt
error.log
file1.txt
file123.txt
--
error2

//error -B 이전 라인 3출 출력
grep -B 3 "error" file9.txt
3
echo
err
error.log
--
folder
out.txt
test
error2
//-C 앞 뒤 라인 1출 출력
hanboreum@DESKTOP-VO9DV1I:~/doc$ grep -C 1 "error" file9.txt
err
error.log
file1.txt
--
test
error2

 

Q. find 와 grep의 차이점?

A. find 는 디렉터리, 파일을 를 찾는 명령어, grep은 파일내, 디렉토리 내 내용을 검색하는 명령어이다.

 


tail

파일의 끝 부분을 출력하는 명령어. 로그 파일의 가장 최근 데이터를 확인할 때 유용하다.

파일 모니터링 할 때 유용함.

// 파일의 마지막 10줄 출력 (기본값 10)
tail file9.txt

//마지막 5줄
tail -n 5 file9.txt

//실시간 출력 확인
tail -f file9.txt

sed

Stream Aditor

  • 스트림 편집기. 파일이나 입력된 데이터에서 받을 텍스트 변환을 수행하는 도구.
  • 주로 치환, 삭제, 삽입, 변경 등에서 사용된다.
  • sed [option] "command" [file]
    • -i: 파일 직접 수정
    • -e: 여라 개의 명령을 한 번에 처러
    • -n: 명령어의 출력을 기본적으로 억제, p 명령을 사용해 선택적으로 출력
      cat file9.txt
      1
      //1 을 111 로 변경 
      sed 's/1/111/' file9.txt
      111
      
      //두번째줄 삭제
      sed '2d' file9.txt
      
      //두번째 줄 입력
      sed '2i/2/' file9.txt
      ​

ps Process Status

  • 현재 시스템에서 실행 중인 프로세스의 상태를 출력하는 명령어
  • 시스템의 프로세스를 모니터링, 관리하는데 유용
  •  ps //현재 실행 중인 프로세스 목록
        PID TTY          TIME CMD
        452 pts/4    00:00:00 bash
       1366 pts/4    00:00:00 ps
    
    ps -e // 모든 프로세스 출력
    
    ps -f //자세한 프로세스 정보 출력(실행중)
    
    ps -u hanboreum//특정 사용자에 대한 프로세스 목록
    
    ps -aux // 전체 프로세스와 그 상태 출력
    
    top // 실시간 프로세스 모니터링
    

Pipe

  • 여러 명령어를 연결해 하나의 명령어 출력 결과를 다른 명령어의 입력으로 사용하는 기능
  • | 사용, and 와 같다.
  • 표준 출력(stdout)과 표준 입력(stdin)을 연결한다.
  • 명령어를 순차적으로 실행
// 현재 디렉토리의 파일 목록을 출력하는 ls와 grep을 사용해 .txt 확장자를 가진 파일들만 필터링.
ls | grep ".txt"
file1.txt
file123.txt
file2.txt
file3.txt

// ps aux 를 사용해 현재 실행 중인 모든 프로세스
//grep: nginx 이름을 가진 프로세스
ps aux | grep 'nginx'
hanbore+    1456  0.0  0.0   4088  1964 pts/4    S+   10:13   0:00 grep --color=auto nginx

// file9.txt 에 있는 error 포함된 줄을 sort
cat file9.txt | grep "error" | sort
error.log

 

728x90