标签:
根据环境变量设定的位置来搜索执行文件的文件名,搜索的是执行文件哦!如果搜索的命令设置了别名,还会将设置的别名显示出来。
-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
whereis是从数据库中查找的,因此搜索速度很快,但是个人感觉显示的界面很不友好。默认不加任何参数会将所有找到的结果显示出来。
-b参数只搜索可执行文件
[root@xuexi tmp]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
也是从数据库中查找,相比whereis的优点是可以通过文件的部分名称查找文件。locate后面直接接文件名或部分文件名即可。
强大的搜索命令,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,则只能搜索出0776、0767、0777三种权限的文件。
根据上面的参数意义,下图中find搜索的意思是:搜索3天以前的.log文件,指定了搜索的类型是f,即一般文件。
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