<b>Shell下的find号令</b>[Linux安全]
本文“<b>Shell下的find号令</b>[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
find
-perm 775 按文件权限查找.
-exec find号令对匹配的文件履行该参数所给出的s h e l l号令.呼应号令的情势为' c o m m -
and' {} \;,注意{ }和\;之间的空格.
-bash-3.2$ find . -name registry.xml -exec file {} \;
./registry.xml: XML 1.0 document text
-ok 和-exec的作用相同,只不过以一种更为安全的情势来履行该参数所给出的s h e l l号令,
在履行每一个号令之前,城市给出提醒,让用户来肯定能否履行.
< file … ./registry.xml > ? yes
-bash-3.2$ mkdir -p test/test1/test2
-bash-3.2$ cd test
-bash-3.2$ touch lo test1/lo test1/test2/lo
-bash-3.2$ find . -path "./test1/test2" -prune -o -name "lo" -print
./lo
./test1/lo
-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" -a -prune -o -print 的简写表达式按次序求值,
-a 和 -o 都是短路求值,与 shell 的 && 和 || 近似假如 -path "/usr/sam" 为真,则求值 -prune , -prune 返回真,
与逻辑表达式为真;不然不求值 -prune,与逻辑表达式为假.假如 -path "/usr/sam" -a -prune 为假,则求值 -print ,
-print返回真,或逻辑表达式为真;不然不求值 -print,或逻辑表达式为真.
if -path "/usr/sam" then
-prune
else
-print
#find /usr/sam \(-path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -name "temp" -print
-user-group
ctime含inode信息改正的时间.
mtime只指文件内容成立或改正的时间
atime
用touch可以写出你想要的任什么时刻间的文件,然后用-newer ,! -newer选项便可成功
touch -afile#modify atime to now
-mfile#modify mtime to now
-r refFile#modify time to same of refFile
-t Time [[CC]YY]MMDDhhmm[.SS]
但愿在系统根目录下查找更改时间在5日以内的文件,可以用:
$ find / -mtime -5 -print
为了在/ v a r / a d m目录下查找更改时间在3日从前的文件,可以用:
$ find /var/adm -mtime +3 -print
-newer file1 ! -newer file2
比file1新但是比file2旧的文件
-size +100000c 大于100000字节的文件
为了在当前目录下查找长度超越1 0块的文件(一块等于5 1 2字节),可以用:
$ find . -size +10 -print
为了在/logs目录中查找更改时间在5日从前的文件并删除它们,可以用:
$ find logs -type f -mtime +5 -exec rm {} \;
利用mount选项
在当前的文件系统中查找文件(不超越其他文件系统),可以利用f i n d号令的m o u n t选项.
在下面的例子中,我们从当前目录开始查找位于本文件系统中文件名以X C末尾的文件:
$ find . -name "*.XC" -mount -print
-nouser 、nogroup 查找无有效属主的文件,即该文件的属主在/ e t c / p a s s w d中不存在.
/etc/fstab本系统中有关文件系统的信息
-cpio 对匹配的文件利用c p i o号令,将这些文件备份到磁带设备中.
-follow 假如find号令碰到标记链接文件,就跟踪至链接所指向的文件.
-depth 广度优先
设置suid位$ find . -type f -perm 4755 -print
为了查找系统中全部文件长度为0的普通文件,并列出它们的完好途径,可以用:
$ find / -type f -size 0 -exec ls -l {} \;
为了查找/var/logs目录中更改时间在7日从前的普通文件,并删除它们,可以用:
$ find /var/logs -type f -mtime +7 -exec rm {} \;
为了查找系统中全部属于a u d i t组的文件,可以用:
$find /-name -group audit -print
我们的一个审计系统每天成立一个审计日记文件.日记文件名的最后含有数字,这样我
们一眼便可以看出哪个文件是最新的,哪个是最旧的.A d m i n . l o g 文件编上了序号:
admin.log . 0 0 1、a d m i n . l o g . 0 0 2等等.下面的f i n d号令将删除/ l o g s目录中拜候时间在7日从前、
含有数字后缀的a d m i n . l o g文件.该号令只查抄三位数字,所以呼应日记文件的后缀不要超越
999.
$find /logs -name 'admin.log[0-9][0-9][0-9]' -atime +7 -exec rm {} \;
为了查找当前文件系统中的全部目录并排序,可以用:
$find . -type d -print -local -mount |sort
为了查找系统中全部的rmt磁带设备,可以用:
$find /dev/rmt -print
以上是“<b>Shell下的find号令</b>[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |