码迷,mamicode.com
首页 > 其他好文 > 详细

文件搜索命令

时间:2016-03-27 01:34:53      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

1.1 which

根据环境变量设定的位置来搜索执行文件的文件名,搜索的是执行文件哦!如果搜索的命令设置了别名,还会将设置的别名显示出来。

-a列出搜索出来的所有命令,而不是只显示第一个找到的

[root@xuexi tmp]# which ls

alias ls=‘ls --color=auto‘   <==显示设置的别名     

        /bin/ls

[root@xuexi tmp]# which awk 

/bin/awk

[root@xuexi tmp]# which -a awk <==结果中不止显示了一个搜索结果

/bin/awk

/usr/bin/awk

1.2 whereis

whereis是从数据库中查找的,因此搜索速度很快,但是个人感觉显示的界面很不友好。默认不加任何参数会将所有找到的结果显示出来。

-b参数只搜索可执行文件

[root@xuexi tmp]# whereis ls

ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

1.3 locate

也是从数据库中查找,相比whereis的优点是可以通过文件的部分名称查找文件。locate后面直接接文件名或部分文件名即可。

1.4 find

强大的搜索命令,find搜索是从磁盘开始搜索的,不是从数据库搜索,因此有时候可能会相对慢点。

1.4.1 find一般参数

find后首先接要搜索的目录位置,表示从哪个目录搜索。

-type 根据文件类型搜索,常用的f代表一般文件,d代表目录。

-name根据文件名搜索,可以使用通配符

-mtime(-ctime-atime) 根据修改时间来搜索文件。

  n  表示n天前的文件,也就是前第n天。比如说3天前的文件,是指往前推3第三天的文件。

 +n  表示n天以前的文件。比n更早的时间。

 -n  表示前n天的文件,比n更晚更接近现在的。比如前3天的文件,是指最近3天的文件。

-perm 根据权限来搜索文件。

  mode 0766,搜索权限正好是0766的所有文件

 +mode 指搜索包含mode中的权限文件,可以包含所有者权限,所属组权限和其他人权限。

       如+0766,则0700也会被搜索出来,因为包含了所有者的7 权限。同理6也是一样的。

 -mode 指搜索比mode权限更大的文件。

       如-0766,则只能搜索出077607670777三种权限的文件。

根据上面的参数意义,下图中find搜索的意思是:搜索3天以前的.log文件,指定了搜索的类型是f,即一般文件。

技术分享

1.1.1 find附加功能

find有附加操作的功能。

-exec command:command为要执行的命令。

command命令之后一定要接"\;",表示exec的操作到此结束。也就是说,额外要执行的命令是在"-exec""\;"之间的,而分号";"前的反斜杠"\"是用于对分号";"转义的,因为分号";"具有特殊意义。

-print:将搜索结果显示出来,默认就是这个选项。

技术分享

 

上图中,将find到的内容传给"{}",命令为ls -l,整体"ls -l {}"放在"-exec"和"\;"之间。

文件搜索命令

标签:

原文地址:http://www.cnblogs.com/f-ck-need-u/p/5324493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!