find
파일과 디렉토리를 각각 찾기 위한 명령 매개변수 -f
가 있지만 두 명령 사이 에 두 개의 명령을 -d
작성하는 것을 피하고 싶습니다 .find
&&
||
하나의 명령으로 파일이나 디렉터리(조건부로 발견된 것)를 찾고 싶습니다. OR로 연결할 수 -d
있습니까 -f
?
답변1
옵션 을 사용하세요 -o
.
로부터찾다매뉴얼 페이지(OPERATORS 제목 아래):
expr1 -o expr2 Or; expr2 is not evaluated if expr1 is true.
답변2
-f
nor 를 지정하지 않으면 모든 유형의 inode(파일, 디렉터리, 장치, 링크 등...)가 표시됩니다 -d
. find
파일과 디렉토리만 원하는 경우에는 를 사용하고 -o
, 다른 유형의 조건을 사용하려는 경우에는 이스케이프된 괄호를 사용할 수도 있습니다.
예를 들어 지난 2일 동안 수정/생성된 모든 파일, 디렉터리, 링크 등은 다음과 같습니다.
find . -iname '*blah*' -mtime -2
위와 동일하지만 파일 및 디렉터리만 독점적입니다(Sym 링크, 장치 없음...).
find . -iname '*blah*' \( -type d -o -type f \) -mtime -2