find, find, grep, whereis 및 Linux에서 파일 검색의 명령 사용

1. 파일 검색 위치

Linux find 명령은 조건을 충족하는 문서를 찾는 데 사용되며 문서 및 디렉토리 이름이 저장된 데이터베이스 mlocate로 이동하여 템플릿 스타일 조건에 맞는 문서 또는 디렉토리를 찾습니다. 일반적으로 지정된 파일의 이름 만 입력하면됩니다. ( 찾기는 파일 이름 만 검색 할 수 있습니다 )

find 명령은 find -name과 기능이 동일하지만 찾기 검색보다 빠릅니다. find 명령은 특정 디렉토리 파일을 검색하는 반면, Locate는 데이터베이스를 검색하기 때문입니다 /var/lib/mlocate/mlocate.db.이 데이터베이스는 모든 로컬 파일 정보를 저장합니다. 데이터베이스는 Linux에서 자동으로 생성되고 매일 자동으로 업데이트 및 유지 관리됩니다. 관련 구성 정보는 /etx/updatedb.conf,타이밍 작업 정보에 /etc/cron.daily/mlocate있습니다.

단, 새로 생성 된 파일의 경우이 명령어를 사용하여 검색하면 생성 된 파일은 검색되지 않으며, 새로 생성 된 파일을 찾기 명령어로 검색하려면 updatedb명령어를 사용하여 mlocate데이터베이스 를 업데이트 한 다음 locate명령어를 사용하여 검색 할 수 있습니다. 그렇지 않으면 파일을 검색하려면 다음 날까지 기다려야합니다. 백그라운드 데이터베이스는 기본적으로 하루에 한 번 업데이트됩니다.

명령 형식 :

locate 参数 文件名

명령 매개 변수 :

  • -e는 검색 범위에서 제외됩니다.
  • -1 1 인 경우 그런 다음 안전 모드를 시작하십시오. 안전 모드에서 사용자는 권한으로 볼 수없는 파일을 볼 수 없습니다. find는 실제 파일 시스템에서 파일 권한 데이터를 가져와야하기 때문에 처음에는 속도가 느려집니다.
  • -f는 특정 파일 시스템을 제외합니다. 예를 들어 데이터베이스의 proc 파일 시스템에 파일을 넣을 필요가 없습니다.
  • -q 자동 모드, 오류 메시지가 표시되지 않습니다.
  • -n 최대 n 개의 출력을 표시합니다.
  • -r 정규식을 사용하여 조건을 찾습니다.
  • -o는 데이터베이스의 이름을 지정합니다.
  • d 데이터베이스 경로 지정
  • -h 보조 정보 표시
  • -V는 프로그램의 버전 정보를 표시합니다.

예를 들면 :

지정된 파일 이름 찾기 : 파일 이름을
여기에 사진 설명 삽입
찾아 pwd와 관련된 모든 파일 찾고, 5 개만 표시하고,
여기에 사진 설명 삽입
etc 디렉토리에서 sh로 시작 하는 모든 파일을 검색 하고 ,
여기에 사진 설명 삽입
대소 문자를 무시합니다.

locate -i 文件名

데이터베이스 갱신

updatedb

2. 파일명 검색 찾기 명령어

구문 형식 :

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {
    
    } \;

공통 매개 변수 :

  • -name filename #filename이라는 파일 찾기
  • -perm # 실행 권한으로 검색
  • -user username # 파일 소유자로 검색
  • -group groupname # 그룹으로 검색
  • -mtime -n + n # 파일 변경 시간으로 파일 찾기, -n은 n 일 이내, + n은 n 일 전을 의미합니다.
  • -atime -n + n # 파일 액세스 시간으로 파일 찾기, -n은 n 일 이내, + n은 n 일 전을 의미합니다.
  • -ctime -n + n # 파일 생성 시간에 따라 파일 찾기, -n은 n 일 이내, + n은 n 일 전을 의미
  • -nogroup # 유효한 그룹이없는 파일을 확인합니다. 즉, 파일의 그룹이 / etc / groups에 존재하지 않습니다.
  • -nouser # 유효한 소유자가없는 파일, 즉 파일의 소유자가 / etc / passwd에 존재하지 않는지 확인합니다.
  • -type b / d / c / p / l / f # 블록 장치, 디렉토리, 문자 장치, 파이프, 심볼릭 링크, 일반 파일 확인
  • -size n [c] #n 개 블록 [또는 n 바이트] 길이의 파일 확인
  • -mount # 파일을 검사 할 때 파일 시스템 마운트 지점을 교차하지 마십시오.
  • -follow # 심볼릭 링크 파일을 발견하면 링크가 가리키는 파일을 따르십시오.
  • -prune # 디렉토리 무시

예를 들면 :

특정 파일 찾기
일반적으로 find 명령을 사용하여 파일 이름을 검색 할 때 와일드 카드 일치를 사용할 수 있습니다 (와일드 카드는 정확히 일치 함).

  • 모든 콘텐츠와 일치하는 수단
  • ? 어떤 문자와도 일치 함을 의미합니다.
  • []는 괄호 안의 모든 문자와 일치 함을 의미합니다.
find / -name 文件名

cu로 시작하는 파일 찾기

find ./ -name "cu*"

찾기 파일은 대소 문자를 구분하지 않습니다.

find /root -iname 文件名

검색 디렉토리의 파일 유형은 디렉토리입니다 (f는 파일, d는 디렉토리, l은 소프트 링크를 의미).

find /home -type d

/ etc 디렉토리에서 속성이 5 분 이내에 수정 된 파일 및 디렉토리를 찾습니다.

find /etc -cmin -5

512k보다 큰 파일 확인

find   /home   -size   +512k     

512k보다 작은 파일 확인

find   /home   -size   -512k    

루트 디렉토리에서 100M보다 큰 파일을 찾습니다 (+ n은보다 큼, -n은보다 작음을 의미, n은 같음을 의미).

1 데이터 블록 == 512 바이트 0.5KB, 즉 1KB는 2 데이터 블록과 동일합니다. 100MB == 102400KB204800 데이터 블록

find / -size +204800

하드 링크가 2보다 큰 파일 또는 디렉토리 확인

find   /home   -links   +2     

700 권한으로 파일 또는 디렉토리 확인

find   /home   -perm   0700  

시스템에서 지난 10 분 동안 액세스 한 파일 찾기

find    /   -amin    -10   

시스템에서 최근 48 시간 동안 액세스 한 파일 찾기

find    /   -atime   -2      

시스템에서 비어있는 파일 또는 폴더 찾기

find    /   -empty           

시스템에서 최근 5 분 동안 수정 된 파일 찾기

find    /   -mmin   -5  

시스템에서 지난 24 시간 동안 수정 된 파일 찾기

find    /   -mtime   -1   

3.grep 명령

Linux 시스템의 grep 명령은 강력한 텍스트 검색 도구로 정규 표현식을 사용하여 텍스트를 검색하고 일치하는 행을 인쇄 할 수 있습니다. grep의 전체 이름은 전역 정규식 버전을 의미하는 전역 정규식 인쇄이며 사용 권한은 모든 사용자에게 있습니다.

체재:
grep [选项] [文件]
공통 매개 변수 :
  • -n : 일치하는 줄과 줄 번호를 표시합니다.
  • -i는 대소 문자 무시를 의미합니다.
  • -v는 지정된 문자열을 제외하는 것을 의미합니다.
  • -b는 실행 파일 (바이너리)을 텍스트 파일 (텍스트)로 검색하는 것을 의미합니다.
  • -c는 발견 된 행 수만 표시 함을 의미합니다.
  • -v는 "키워드"가없는 행을 역 선택 전용으로 나열 함을 의미합니다.
  • --Color = auto : 찾은 키워드에 색상을 추가 할 수 있습니다.
  • -A n : 일치하는 문자열이있는 행과 다음 n 행을 표시합니다.
  • -B n : 일치하는 문자열의 행과 처음 n 개의 행을 표시합니다.
  • -C n : 일치하는 문자열의 줄과 그 앞뒤의 n 줄을 표시합니다.

일치하는 행과 행 번호를
여기에 사진 설명 삽입
표시하고 발견 된 행 수만 표시하고 테스트를 포함하는 d로 시작하는 모든 행을
여기에 사진 설명 삽입
표시합니다.

 grep 'test' d*

현재 디렉토리에서 file이 붙은 파일 중 테스트 문자열이 포함 된 파일을 찾습니다.

grep 'test' *file 

재귀 적으로 적합한 파일 찾기

예를 들어, 지정된 디렉토리 / etc / acpi 및 하위 디렉토리 (하위 디렉토리가있는 경우)의 모든 파일에서 문자열 "update"를 포함하는 파일을 검색하고 문자열이있는 행의 내용을 인쇄합니다.

grep -r update /etc/acpi 

일치하는 문자열이있는 줄과 다음 n 줄을
여기에 사진 설명 삽입
표시합니다. 일치하는 문자열이있는 줄과 처음 n 줄을 표시합니다.
여기에 사진 설명 삽입

4. 어떤 명령

which 및 whereis 명령은 모두 Linux 운영 체제에서 실행 파일 경로를 찾는 명령입니다.
여기에 사진 설명 삽입
명령 원리 : PATH 변수로 지정된 경로에서 시스템 명령의 위치를 ​​검색하고 첫 번째 검색 결과를 반환합니다. 즉, which 명령을 사용하면 특정 시스템 명령이 있는지 여부와 명령이 실행되는 위치를 확인할 수 있습니다.

PATH에 추가되지 않은 실행 파일이 아닌 PATH 아래의 실행 파일이어야 하는 검색된 실행 파일. 실행 파일이지만 시스템 검색 경로에 추가되지 않은 경우에도 여전히 찾을 수 없습니다. .

5.whereis 명령

Linux whereis 명령은 파일을 찾는 데 사용됩니다.

이 명령은 특정 디렉토리에서 정규화 된 파일을 찾고 바이너리 (명령), 소스 파일 및 man 파일을 찾는 데 사용할 수 있습니다. 차이점은이 명령은 PATH 대신 파일 인덱스 데이터베이스를 통해 검색 할 수 있으므로 검색 영역이 어느 것보다 넓고 일반적으로 파일을 찾는 데 find 명령이 사용된다는 것입니다.

공통 매개 변수 :
  • -b 바이너리 파일 만 찾습니다.
  • -B <디렉터리> 설정된 디렉터리에서 바이너리 파일 만 검색합니다.
  • -f 파일 이름 앞에 경로 이름을 표시하지 않습니다.
  • -m 문서 만 찾습니다.
  • -M <디렉터리> 설정된 디렉터리에서만 설명 파일을 찾습니다.
  • -s 원본 코드 파일 만 찾습니다.
  • -S <디렉터리> 설정된 디렉터리에서 원본 코드 파일 만 찾습니다.
  • -u 지정된 유형을 포함하지 않는 파일을 찾습니다.
예를 들면 :

"whereis"명령 "bash는"의 위치를 확인하고 다음 명령을 입력하는 명령을 사용하여
여기에 사진 설명 삽입
참고 : 오른쪽에 왼쪽에서 위의 출력 정보 프로그램 이름 , bash는 경로 , 및 매뉴얼 페이지 의 경로 bash는 .

bash 명령 의 바이너리 프로그램을
여기에 사진 설명 삽입
표시합니다. bash 명령의 도움말 파일을 표시합니다.
여기에 사진 설명 삽입

추천

출처blog.csdn.net/weixin_38819889/article/details/107837950