locate
파일 시스템의 경로가 파일 이름과 같을 수 있나요? 예를 들어, 시스템에서 "foo/bar"를 포함하는 모든 경로를 찾고 싶습니다. 그러면 다음과 같은 결과가 나올 수 있습니다.
/집/내 이름/테스트/부자/바/안녕하세요
/var/www/site/부자/바
답변1
다음 명령을 사용하여 파일을 찾을 수 없으면 updatedb
찾기 명령에 사용되는 데이터베이스를 업데이트해 보십시오.
locate -r foot/bar/
또는
# locate "/*/bar/avi"
/foot/bar/avi
find 명령으로도 이 작업을 수행할 수 있습니다.
find / -path */foot/bar*
find /
전체 시스템이 다음에서 검색됩니다./
답변2
다음 명령을 사용하십시오 find
.
find . -ipath "*foo/bar*"
또는 정규식 구문을 선호하는 경우 다음을 사용할 수 있습니다.
find . -iregex ".*foo/bar.*"
답변3
노력하다:
ls -lR | sed -n 's/foo\/bar/p'
출력이 매우 길 수 있으며 ID가 파일에 직접 입력됩니다.
ls -lR | sed -n 's/foo\/bar/p' >> outfile
답변4
이렇게 하면 원하는 작업이 수행됩니다.
user@machine% find / -print0 | grep -FzZ 'foo/bar'
루트나 자신의 홈 디렉토리에서 실행하지 않는 한, "권한이 거부되었습니다"라는 메시지를 많이 받게 됩니다.