경로를 찾는 방법은 무엇입니까?

경로를 찾는 방법은 무엇입니까?

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'

루트나 자신의 홈 디렉토리에서 실행하지 않는 한, "권한이 거부되었습니다"라는 메시지를 많이 받게 됩니다.

관련 정보