find
이 명령에 대해 몇 가지 질문이 있습니다 .
/var 디렉토리(및 그 이하) 내에서 사용자 또는 루트가 아닌 다른 사람이 소유한 파일 및 디렉토리 수(결과 번호만)를 표시하는 방법.
위와 동일하지만 이번에는 사용자 수를 보여줍니다.
출력 번호와 함께 다른 소유자(알파벳순)를 표시하도록 명령을 수정합니다. 다음과 같아야 합니다.
avahi-autoipd 1개 2가지 색상 데몬 3개 4 목차 5 라이브러리 UID 6LP 7명 8미터 DM 9ntp 10 음성 디스패처 11 시스템 로그
각 질문에는 3개의 개별적이지만 매우 유사한 명령줄을 사용해야 합니다.
편집 : 내가 직접 알아 냈어
sudo find /var/ -not -user root -not -user myusername | wc -l
sudo find /var/ -not -user root -not -user myusername -printf '%u\n' | sort -u | wc -l
sudo find /var/ -not -user root -not -user myusername -printf '%u\n' | sort -u
이 명령줄은 동일한 작업을 수행합니다. 1부:
sudo ls -oAu1QBR /var | tr -s ' ' | cut -d' ' -f3 | grep -Ev '(\"|root|^[[:space:]]*$)' | grep -v ${USER} | wc -l
2 부:
sudo ls -oAu1QBR /var | tr -s ' ' | cut -d' ' -f3 | grep -Ev '(\"|root|^[[:space:]]*$)' | grep -v ${USER} | sort -u | wc -l
세 번째 부분:
sudo ls -oAu1QBR /var | tr -s ' ' | cut -d' ' -f3 | grep -Ev '(\"|root|^[[:space:]]*$)' | grep -v ${USER} | sort -u | nl
답변1
내가 좋아한다고 말한 적 있었나?zsh에 대한 glob 한정자?
files_in_var_not_owned_by_me_or_root=(/var/**/*(^u0u$UID))
echo $#files_in_var_not_owned_by_me_or_root
typeset -U owners_of_files_in_var
zstat -s -A owners_of_files_in_var +uid -- $files_in_var_not_owned_by_me_or_root
echo $#owners_of_files_in_var
i=1
for x in ${(o)owners_of_files_in_var}; do
printf '%4d %s\n' $((i++)) $x
done