>  기사  >  운영 및 유지보수  >  Linux에서 find 명령 사용법에 대한 자세한 설명

Linux에서 find 명령 사용법에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2017-09-04 14:00:003252검색

Windows에서는 특정 경로에 있는 파일을 검색할 수도 있고, 특정 경로에 있는 파일을 검색하지 않도록 설정할 수도 있습니다. Linux에서 find 명령과 -path -prune 매개변수를 결합하여 이 기능을 Linux에서 구현하는 방법을 살펴보겠습니다. .

현재 디렉터리에서 파일을 검색하고 있고 현재 디렉터리에 dir0, dir1, dir2... 및 dir00, dir01...dir10을 포함하여 많은 파일과 디렉터리(다단계 디렉터리)가 있는 경우, dir11... 등 하위 디렉터리.

1. 현재 디렉터리에서 모든 txt 접미사 파일을 찾습니다.

find ./ -name *.txt

2. dir0 디렉터리와 하위 디렉터리에서 txt 접미사 파일을 찾습니다.

find ./ -path ' . /dir0*' -name *.txt

3. 현재 디렉터리의 dir0 디렉터리 아래에 있는 dir00 하위 디렉터리와 해당 하위 디렉터리에서 txt 접미사 파일을 찾습니다./ -path '*dir00*' -name * .txt

4. dir0 및 하위 디렉터리가 아닌 디렉터리에서 txt 접미사 파일을 찾습니다.

find ./ -path './dir0*' -a -prune -o -name *.txt -print

지침: -a는 약어여야 합니다. and의 논리 연산자 'or'(&&)를 의미합니다. -o는 논리 연산자 'and'(||)를 의미하는 or의 약어여야 하며, -not은 not을 의미합니다.

명령줄 의미: if dir0 디렉터리가 존재하는 경우(즉, -a의 왼쪽이 true), -prune 값을 찾으면 -prune이 true를 반환하고 'AND' 논리 표현식이 true(즉, -path './dir0 *' -a - prune이 true임), find 명령은 이 디렉토리 이외의 디렉토리에서 txt 접미사 파일을 검색하고 dir0 디렉토리가 존재하지 않는 경우(즉, -a의 왼쪽이 false임) 이를 인쇄합니다. , -prune은 평가되지 않습니다. 'AND' 논리식 수식이 false인 경우 모든 txt 접미사 파일이 현재 디렉터리에서 검색됩니다.

5. dir0, dir1 및 하위 디렉터리가 아닌 디렉터리에서 txt 접미사 파일을 찾습니다.

find ./ /( -path './dir0*' -o -path './dir1*' /) -a - prune -o -name *.txt -print

참고: 괄호()는 표현식의 조합을 나타냅니다. 즉, 쉘에 다음 문자를 특수하게 해석하지 말고 find 명령에 맡겨 의미를 해석하도록 지시합니다. 괄호는 명령줄에서 직접 사용할 수 없으므로 백슬래시 '/'를 사용하여 이스케이프해야 합니다. 즉, '/' 이스케이프 문자를 사용하면 명령줄에서 괄호를 인식할 수 있습니다. 또한 '/(', '/)'에는 양쪽에 공백이 필요합니다.

6. dir0, dir1 및 하위 디렉터리에서 txt 접미사 파일을 찾습니다.

./ /( -path './dir0*' -o -path './dir1*' /) -a -name *.txt -print를 찾습니다.

+1. dir_general

find ./ -path '*/dir_general/*' -name *.txt -print

라는 모든 디렉터리에서 txt 접미사 파일을 찾습니다.

위 내용은 Linux에서 find 명령 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.