find 조건 :
최상위 / 디렉토리로부터 하위 3단계 깊이 만큼 find 하는데
/proc, /sys, /dev 디렉토리를 제외 하고 파일/폴더 이름이 .sh, .rpm 으로 끝나거나 vvr 이라는 명칭이 포함된 것만 찾는다.
이렇게 찾을 경우 불필요한 디렉토리는 skip 하여 빠른 찾기가 가능하고 directory entry cache(SLAB cache)의 증가를 초래하지 않고 찾을 수 있게 된다.
실행 결과 :
아래는 위 조건대로 파일을 찾을 경우 실행 결과
[root@RHEL63-2 /]# pwd
/
[root@RHEL63-2 /]# find . -maxdepth 3 ! \( \( -type d -path './proc' -o -path './sys' -o -path './dev' \) -prune \) \( -name "*.sh" -o -name "*.rpm" \ -o -name "*vvr*" \)
./etc/profile.d/colorls.sh
./etc/profile.d/lang.sh
./etc/profile.d/qt.sh
./etc/profile.d/less.sh
./etc/profile.d/cvs.sh
./etc/profile.d/which2.sh
./etc/vvr.conf
./mnt/Packages/setroubleshoot-3.0.47-2.el6.x86_64.rpm
./mnt/Packages/setroubleshoot-plugins-3.0.40-1.el6.noarch.rpm
./mnt/Packages/setroubleshoot-server-3.0.47-2.el6.x86_64.rpm
./mnt/Packages/shadow-utils-4.1.4.2-13.el6.x86_64.rpm
./mnt/Packages/shared-mime-info-0.70-4.el6.x86_64.rpm
./mnt/Packages/squashfs-tools-4.0-5.el6.x86_64.rpm
./mnt/Packages/tcsh-6.17-19.el6_2.x86_64.rpm
./mnt/Packages/thai-scalable-umpush-fonts-0.4.12-2.1.el6.noarch.rpm
./mnt/Packages/trilead-ssh2-213-6.2.el6.noarch.rpm
./mnt/Packages/wireshark-1.2.15-2.el6_2.1.x86_64.rpm
./mnt/Packages/wireshark-1.2.15-2.el6_2.1.i686.rpm
./mnt/Packages/wireshark-gnome-1.2.15-2.el6_2.1.x86_64.rpm
.
.
.
find 조건 :
최상위 / 디렉토리로부터 inode 값이 같은 파일, 즉 hard link 된 파일을 모두 찾아서 inode 값을 표시하여 ls 하고 inode 값을 기준으로 sort해서 출력하기
[root@RHEL63-2 /]# find / -type f -links +1 | xargs ls -li | sort -n -k 1
45 -rw-r--r--. 1386 root root 50 Sep 13 15:47 /var/lib/yum/yumdb/a/03e545ccb78a949dc8fcda8130bb9e2c565f2d9d-aic94xx-firmware-30-2.el6-noarch/from_repo
45 -rw-r--r--. 1386 root root 50 Sep 13 15:47 /var/lib/yum/yumdb/a/139301f5264d444c18eec163107642087ed5377d-audit-libs-2.3.7-5.el6-x86_64/from_repo
45 -rw-r--r--. 1386 root root 50 Sep 13 15:47 /var/lib/yum/yumdb/a/16711d59178ab190aaaa59daeb6ed991ddd0a2a8-abrt-2.0.8-34.el6-x86_64/from_rep
.
.
참고:
https://www.cyberciti.biz/faq/find-command-exclude-ignore-files/