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 명령의 도움말 파일을 표시합니다.