우분투는 한 줄에서 이름과 일치하는 파일과 디렉토리를 찾습니다.

우분투는 한 줄에서 이름과 일치하는 파일과 디렉토리를 찾습니다.

find파일과 디렉토리를 각각 찾기 위한 명령 매개변수 -f가 있지만 두 명령 사이 에 두 개의 명령을 -d작성하는 것을 피하고 싶습니다 .find&&||

하나의 명령으로 파일이나 디렉터리(조건부로 발견된 것)를 찾고 싶습니다. OR로 연결할 수 -d있습니까 -f?

답변1

옵션 을 사용하세요 -o.

로부터찾다매뉴얼 페이지(OPERATORS 제목 아래):

   expr1 -o expr2
          Or; expr2 is not evaluated if expr1 is true.

답변2

-fnor 를 지정하지 않으면 모든 유형의 inode(파일, 디렉터리, 장치, 링크 등...)가 표시됩니다 -d. find파일과 디렉토리만 원하는 경우에는 를 사용하고 -o, 다른 유형의 조건을 사용하려는 경우에는 이스케이프된 괄호를 사용할 수도 있습니다.

예를 들어 지난 2일 동안 수정/생성된 모든 파일, 디렉터리, 링크 등은 다음과 같습니다.

find . -iname '*blah*' -mtime -2

위와 동일하지만 파일 및 디렉터리만 독점적입니다(Sym 링크, 장치 없음...).

find . -iname '*blah*' \( -type d -o -type f \) -mtime -2

관련 정보