文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux find小解

linux find小解

时间:2009-05-05  来源:ubuntuer

   一些相对简单点的 -type f -name什么的,就不说了。

1.为了在当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件,可以用:
  find . -type f -perm 644 -exec ls -l {} \;
2.为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径,可以用:
  find / -type f -size 0 -exec ls -l {} \;

3.下面的find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件。该命令只检查三位数字,所以相应文件的后缀不要超过999。
先建几个admin.log*的文件 ,才能使用下面这个命令
 find . -name "admin.log[0-9][0-9][0-9]" -atime -7  -exec rm {} \;
 
  注意当用到正则的时候,-name需要打引号,要不然就被shell给扩展了,导致有时候得不到正确的,或者其实是正确的而不是你想要的.

4.find +xargs
  find . -type f -print | xargs grep "hostname"

5.使用find查找文件的时候怎么避开某个文件目录

比如要在/usr/sam目录下查找不在dir1子目录之内的所有文件
find /usr/sam -path "/usr/sam/dir1" -prune -o -print
其实就是
if -path "/usr/sam"  then
          -prune
else
          -print

6.避开多个文件夹

find /usr/sam \( -path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -print
圆括号表示表达式的结合。
\ 表示引用,即指示 shell 不对后面的字符作特殊解释,而留给 find 命令去解释其意义。

查找某一确定文件,-name等选项加在-o 之后
find /usr/sam  \(-path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -name "temp" -print

7.查找某一时间段的文件
[root@mip-123456 shell]# touch -t 05040946 olderfile (5月4日9时46分)
[root@mip-123456 shell]# touch -t 05040950 newerfile (5月4日9时50分)

 
 find . -type f -newer olderfile -a ! -newer newerfile

这个我喜欢
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载