본문 바로가기

[OS]Operating System/[Linux]

[Linux] 검색 명령어

728x90
반응형

검색 명령어

find 명령

find 명령은 파일 또는 디렉토리 위치를 검색한다.

find directory [-name name] [-type type] [-user login] [-date date]

 

옵션 설명
-perm permissions 권한으로 파일 검색
-size size 크기별로 파일 검색

 

 

find 명령의 -exec 옵션

find 명령의 -exec 옵션을 사용하여 각 결과 라인에서 명령을 실행할 수 있다.

$ find /tmp -name *.txt -exec rm -f {} \;

위의 명령은 /tmp 디렉토리에 있는 모든 *.txt 파일을 검색하고 삭제한다.

find 명령이 log1.txtlog2.txt 및 log3.txt라는 세 개의 파일을 찾은 경우 find 명령은 문자열 rm -f {} \;에서 중괄호를 검색 결과 중 하나로 대체하고 결과의 수만큼 이 작업을 수행한다.

동일한 작업을 수행하는 아래 명령어도 있다.

$ find /tmp -name *.txt -delete

 

whereis 명령

whereis 명령은 명령과 관련된 파일을 검색한다.

whereis [-b] [-m] [-s] command

 

예시

$ whereis -b ls
ls: /bin/ls

 

옵션 설명
-b 바이너리 파일만 검색
-m 매뉴얼 페이지만 검색
-s 소스 파일만 검색

 

grep 명령

grep 명령은 파일에서 문자열을 검색한다.

grep [-w] [-i] [-v] "string" file

 

예시

$ grep -w "root:" /etc/passwd
root:x:0:0:root:/root:/bin/bash

 

옵션 설명
-i 검색된 문자열의 대소문자 무시
-v 문자열을 포함하는 줄 제외
-w 정확한 단어 검색

grep 명령은 찾고 있는 문자열이 포함된 전체 줄을 반환한다.

  • 특수 문자는 줄의 시작 부분에서 문자열을 검색하는 데 사용된다.
  • $ 특수 문자는 줄의 끝 부분에서 문자열을 검색하는 데 사용된다.
grep -w "^root" /etc/passwd

 

-R 옵션을 사용하여 파일 트리에서 문자열을 검색할 수도 있다.

grep -R "Virtual" /etc/httpd

 

메타 문자(와일드카드)

메타 문자는 검색 중에 하나 이상의 문자를 대체한다. 메타 문자는 와일드카드라고도 한다.

  • 메타 문자를 포함하는 단어는 항상 큰 따옴표(")로 묶어야 한다.
  • 쉘 메타 문자와 정규 표현식 메타 문자를 혼동하면 안된다.
    • grep 명령어는 정규 표현식 메타 문자를 사용해야 한다.

메타 문자는 모든 또는 일부 단어를 대체함으로써 더 복잡한 검색을 가능하게 한다. * 특수 문자로 대체하면 됩니다.

$ find /home -name "test*"
/home/rockstar/test
/home/rockstar/test1
/home/rockstar/test11
/home/rockstar/tests
/home/rockstar/test362



문자 ?는 단일 문자를 대체한다. (어떤 문자이든 상관없이 대체)

$ find /home -name "test?"
/home/rockstar/test1
/home/rockstar/tests

 

대괄호 [ 및 ]는 단일 문자가 사용할 수 있는 값을 지정하는 데 사용된다.

$ find /home -name "test[123]*"
/home/rockstar/test1
/home/rockstar/test11
/home/rockstar/test362

 


Reference

 

반응형

'[OS]Operating System > [Linux]' 카테고리의 다른 글

[Linux] 특별한 명령어  (0) 2024.06.25
[Linux] 리디렉션 및 파이프 명령어  (0) 2024.06.24
[Linux] 시각화 명령어  (0) 2024.06.22
[Linux] 파일 트리 명령어  (0) 2024.06.21
[Linux] 표시 및 식별 명령어  (0) 2024.06.18