운영체제/Linux

내가 보려고 정리한 리눅스 명령어: find / grep 옵션 사용법

gamjadori 2023. 11. 29. 10:35
728x90

명령어 find란?

파일을 찾는 명령어

  • 기본 형태
find [옵션] [경로+타겟]

 

<자주 사용하는 옵션>

    • find -name : 해당 이름의 파일을 찾음
find -name adam
adam이라는 이름이 들어가는 파일이나 디렉터리 찾기
    • find -type : 지정된 파일 타입에 해당하는 파일 검색
      • 특정 파일 타입만 따로 추출 가능
        • d : 디렉토리
        • f : 일반적인 파일
        • l : 심볼릭 링크
        • ** 심볼릭 링크: 절대 경로 또는 상대 경로의 형태로 된 다른 파일이나 디렉터리에 대한 참조를 포함하고 있는 특별한 종류의 파일
find -name adam -type f
adam이라는 이름이 들어가는 파일 찾기
  • find -user : 해당 유저에게 속한 파일 검색
  • find -empty : 빈 디렉토리 혹은 크기가 0인 파일 검색
  • find -exec : 검색된 파일에 대해 지정된 명령 실행
find -name adam -exec ls -l
  • find -path : 지정된 문자열 패턴에 해당하는 경로에서 검색
  • find -print : 검색 결과를 출력
  • find -size : 파일 크기를 사용하여 파일 검색
find -size +1k
크기가 1kb보다 큰 파일 찾기

 


명령어 grep란?

지정된 파일의 내용에서 특정 문자열을 찾고자 할 때 사용하는 명령어

  • 기본 형태
grep [옵션] '찾을 내용' [파일명]
** 입력 순서 주의하기!
  • | (파이프)를 사용해 다른 명령어와 동시에 사용 가능
grep -i 'a*' 파일명 | 또 다른 명령어
  • 정규 표현식 사용이 가능
    • 정규 표현식: 문자열을 다룰 때, 문자열의 일정한 패턴을 표현하는 일종의 형식 언어
      •  
. / ? 임의의 한 문자
[ ] 사이의 문자 중 하나를 의미 (-로 문자의 범위 지정)
^,$ 각각 줄의 시작과 끝
* 바로 앞의 것을 0번 이상 반복
[^] [^]에 들어간 문자를 제외한 나머지 문자 중 하나

 

<자주 사용하는 옵션>

  • grep -c : 일치하는 행의 수를 출력
  • grep -i : 대소문자를 구별하지 않고 출력
  • grep -n : 포함된 행의 번호를 함께 출력
  • grep -l : 패턴이 포함된 파일의 이름을 출력
  • grep -w : 단어와 일치하는 행만 출력
  • grep -x : 라인과 일치하는 행만 출력
  • grep -r : 하위 디렉토리를 포함한 모든 파일에서 검색