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.txt, log2.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 |