1、根據時間戳
以“天”為單位;
-atime[+|-]#, 10表示[10,11) ;+10表示[11,∞)-10表示[0,10)
-mtime
-ctime
以“分鐘”為單位:
-amin
-mmin
-cmin
[root@centos7 app]#useradd haha;find /etc/ -mmin -1
useradd: user 'haha' already exists
/etc/
/etc/group
/etc/gshadow
/etc/passwd
/etc/shadow
[root@centos7 app]#userdel -r haha;find / \( -path "/proc" -o -path "/sys" \) -a -prune -o -mmin -1 |wc -l
21
2、根據權限
find -perm 755會匹配權限模式恰好是755的文件 ---表示精確匹配必須是權限為755的文件
find -perm +222或find -perm /222 ---表示三種人有一種人至少有寫權限的文件,centos7中+被淘汰,使用/
find -perm -222 ---表示三種人都必須至少有寫權限
find -perm -022 ---表示所有者不關心,其他兩種人必須都至少有寫權限
總結:0只有在不是精確匹配的情況下才表示不關心。
[root@centos7 app]#ll fstab
--------w-. 1 root root 595 Aug 1 08:46 fstab
[root@centos7 app]#find /app -perm -002 -a -type f -ok chmod o-w {} \; ---找到/app下其他人具有寫權限的普通文件,將其他人的寫權限去掉,{} 代表找到的文件
< chmod ... /app/fstab > ? y ----ok會問
[root@centos7 app]#ll fstab
----------. 1 root root 595 Aug 1 08:46 fstab
[root@centos7 app]#touch f{1..3}
[root@centos7 app]#ll
total 16
-rw-r--r--. 1 root root 0 Aug 1 09:11 f1
-rw-r--r--. 1 root root 0 Aug 1 09:11 f2
-rw-r--r--. 1 root root 0 Aug 1 09:11 f3
----------. 1 root root 595 Aug 1 08:46 fstab
[root@centos7 app]#find /app -name "f*" -a -type f -exec mv {} {}.bak \; ---用-exec不會問直接執(zhí)行
[root@centos7 app]#ll
total 16
-rw-r--r--. 1 root root 0 Aug 1 09:11 f1.bak
-rw-r--r--. 1 root root 0 Aug 1 09:11 f2.bak
-rw-r--r--. 1 root root 0 Aug 1 09:11 f3.bak
----------. 1 root root 595 Aug 1 08:46 fstab.bak
3 、參數替換xargs
?由于很多命令不支持管道|來傳遞參數,而日常工作中有這個必要,所以就有了xargs命令
?xargs用于產生某個命令的參數,xargs可以讀入stdin(標準輸出)的數據,并且以空格符或回車符將stdin的數據分隔成為arguments
?注意:文件名或者是其他意義的名詞內含有空格符的情況
?有些命令不能接受過多參數,命令執(zhí)行可能會失敗,xargs可以解決
舉例
echo f{1..100}|xargs touch
echo f*|xargs rm -f
總結:用echo顯示多個文件可以避免ls顯示時因參數過多無法顯示的情況,用xargs將參數一個一個的傳給touch和rm也可以避免文件過多無法創(chuàng)建或刪除的情況
4、文件解壓縮
compress -c fstab>fstab.Z
zcat fstab.Z >fstab-compress
gzip -c fstab >fstab.gz
zcat fstab.gz >fstab-gzip
bzip2 -k fstab
bzcat fstab.bz2 >fstab-bzip2
xz -k fstab
xzcat fstab.xz >ff
zip -r fa faa ---將faa目錄打包壓縮成fa目錄
unzip fa.zip ---解壓縮