find 명령을보다 효율적으로 사용하려면 어떻게해야합니까?


15

find 명령을 효율적으로 사용하는 가장 좋은 방법은 무엇입니까?

나는 일반적으로 find [filename] [dir]내 검색과 관련이없는 긴 파일 이름 목록을 제공합니다.

특정 디렉토리에서 하나의 파일 만 찾으면됩니다. 그 명령은 무엇입니까?

답변:


24

일반적으로 찾기 시작 위치와 찾아야 할 사항을 알려줍니다. 따라서 검색 경로와 실제로 찾으려고하는 구문이 다릅니다.

언급 한 유스 케이스의 경우 다음에서 passwd파일 을 찾으려고 가정하십시오 /etc.

find /etc/ -name passwd

당신은, 등의 파일을 찾을 시작 "말을하는지 이름 입니다passwd

기준 (또는 찾기 용어의 "옵션")을 지정하지 않으면 찾기는 지정한 경로에서 시작하여 그 아래의 모든 파일과 디렉토리를 재귀 적으로 찾습니다. 따라서 옵션은 해당 파일을 "필터링"하여 원하는 것을 좁 힙니다.

파일 시스템의 모든 곳에서 모든 JPG 파일을 찾으십시오.

find / -name "*jpg" 

쉘 확장으로 인해 두통이 발생할 수 있으므로 옵션에 따옴표를 사용하는 것이 좋습니다.

경우에 상관없이 문서 또는 다운로드에서 pdf 파일을 찾으십시오.

find Documents/ Downloads/ -iname "*pdf"

당신이 할 경우 man find및 시험을 아래로 스크롤, 당신은 찾기가 검색 범위를 좁힐하는 데 사용할 수있는 모든 "기준"을 찾을 수 있습니다. 특정 사용자 또는 그룹이 소유하고 특정 파일 권한이 있고 특정 유형 인 특정 파일 이름을 가진 파일을 검색 할 수 있습니다 (예 : -type d디렉토리 만 찾고 디렉토리 -type f는 제외하고 일반 파일 만 찾음). 특정 일 수 (또는 분), 비어 있거나 실행 가능한 파일 등.

find 매뉴얼 페이지에서 ACTIONS 섹션을 찾을 수 있습니다.이 섹션은 기준을 따르고 모든 기준과 일치하는 모든 파일에 의해 트리거됩니다. 따라서 find찾은 파일 삭제, 임의의 명령 실행 등의 작업을 수행 할 수 있습니다 .

그러나 물론 기본 구문은 다음과 같습니다.

find [starting path(s)] [conditions or criteria]

감사합니다. 나는 정말로 혼란 스러웠고 이것은 일을 바로
잡는

1
+1 유용한 정보를 제공하며 OP에게 자세한 정보를 찾는 방법을 알려줍니다.
lgarzo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.