locate
그리고 그 변형은 빠른 방법 인 경향이 있습니다.
# updatedb # run as root, possibly using sudo, e.g. sudo -b updatedb. If file is on the system for more than a day it should already be in the index and this can be skipped
$ locate -i book1
찾기를 사용할 수없는 경우 find
대신 사용할 수 있습니다 . 훨씬 느리지 만 더 정확한 경향이 있습니다.
단일 파티션이있는 경우 : (사용자가 파일에 액세스 할 수없는 경우 루트로 실행)
$ find / -xdev -iname 'book1*' -print # If the iname extension to find is available
$ find / -xdev -print | grep -F -i /book1 # if iname is not available
당신은 포함하지 않는 경우 -xdev
find
다른 같은 파티션에 검색 것들 /proc
과 /sys
당신이 루트가 특히 오류가있는 화면을 범람하는 경향이있다. ( 2> /dev/null
찾기 명령 끝에 주석 을 추가하여 오류를 숨길 수 있습니다 (주석을 제거해야 함))
파티션이 여러 개이고 파일이있는 파티션을 모르는 경우 lsblk
(Linux 기반 OS의 경우 구문 분석 df
출력은 옵션 임)를 사용 하여 목록을 가져 와서 찾은 위치에 넣을 수 있습니다. 파일에 액세스 할 수 있는지 모르겠습니다)
$ find $(lsblk -O MOUNTPOINT -n | grep -F /) -xdev -iname 'book1*' -print # GNU-based OSes
$ find $(df -P|awk '$1 ~ /^\/dev/ {print $NF}') -xdev | grep -F -i book1 # Non-GNU based OSes.
((당신의 마운트 포인트 중 하나가에 공백이있는 경우이 조금 약해) df
매개 변수는 GNU가 있습니다 -P. 조정이 필요할 수 있습니다 df
. 표준 POSIX 출력을주고 다른 버전이 다른 매개 변수를가하거나 탈락 할 수도 있습니다. 당신의 남자 페이지를 참조)
grep -F
스왑 파티션과 같이 반환 된 다른 항목 은 제외됩니다.
GNU 이외의 버전에서 awk /dev
는 실제 파일 시스템을 가져 오기 위해 마운트가있는 장치를 찾은 다음 출력에서 마지막 필드 (마운트 포인트)를 인쇄합니다 df
.
이것은 또한 본쉘 같은 가정 ( ksh
그리고 bash
당신이 사용하는 경우. 작업을해야 csh
변형을하는 시작 스크립트 쉘을 당신이 시도하기 전에)
Book1
이 있고 읽을 수있는 디렉토리에 있으면find / -iname book1
찾을 수 있습니다. 실제로Book1
그렇지Book1.xyz
않습니까?