답변:
find (1) 유틸리티에는 "!"를 사용하여 부정 ( "역전") 할 수있는 기본 노드가 있습니다. 운영자. 그러나 프롬프트에서 셸 메타 문자이므로 백 슬래시로 부정을 피해야합니다. 결과:
find . \! -user foo -print
xargs -I{} -P3 -- ${cmdhere} {}
$ {cmdhere}가 각 파일에서 병렬로 작동 하도록 할 수 있습니다. cmdhere :: = 표준 유닉스 유틸리티; 표준 유닉스 유틸리티 :: = chmod, chown, stat, ls, ...
find . ...
또는 xargs
첫 번째 또는 두 번째 방법으로 배관을 의미 합니까?
find . ! -user foo -exec chown <owner>:<group> {} \;
다른 사람이 소유하지 않은 파일 찾기
다른 사람들은 신체의 "특정 사용자가 아님" 이라는 질문에 대답했습니다 . 다음은 기본적인 질문에 대한 답변이지만 제공되지 않은 질문입니다.
$ find / -nouser
다음과 같이 사용할 수 있습니다.
$ sudo find /var/www -nouser -exec chown root:apache {} \;
그리고 관련된 것 :
$ find / -nogroup
-user
사용자 또는 사용자 ID별로 찾고 !
술어를 반전시킵니다. 그래서 ! -user ...
.
z-shell (zsh)을 사용하면
ls -laR *(^U)
또는
ls -la **/*(^U)
귀하가 소유하지 않은 모든 파일을 재귀 적으로 검색합니다.
-a
은 와일드 카드 확장으로 인해 플래그를 사용 하더라도 도트 파일을 나열하지 않습니다 . 도트 파일을 포착하려면 zsh dotglob
옵션을 사용하십시오 setopt dotglob
. 한 줄에 : (setopt dotglob; ls **/*(^U) )
. 괄호는 하위 셸에서 실행되므로 setopt nodotglob
완료 후에 실행할 필요가 없습니다 .
!
선택적인 것으로 보인다