linux常用命令——2.文件搜索命令

来源:互联网 发布:淘宝网店可以改名吗 编辑:程序博客网 时间:2024/06/14 09:58

linux中常用的搜索命令:

which  查看可执行文件的位置
whereis 查看文件的位置 
locate   配合数据库查看文件位置
find   实际搜寻硬盘查询文件名称

1、which命令

在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

命令格式:
which 可执行文件名称 
例:
[root@localhost ~]# which pwd/bin/pwd

2、whereis命令

只能用于程序名的搜索
whereis查找的速度非常快,因为linux系统会将系统内的所有文件都记录在一个数据库文件中,但数据库文件并不是实时更新,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据或刚建立,却无法查找到,原因就是因为数据库文件没有被更新。 
使用whereis和ocate时,会从数据库中查找数据,效率自然会很高
而find命令,是通过遍历硬盘来查找,所有相对慢些。 

命令格式:
whereis [-bmsu] [BMS 目录名 -f ] 文件名

命令参数:
-b   定位可执行文件。
-m   定位帮助文件。
-s   定位源代码文件。
-u   搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

实例:
[root@localhost ~]# whereis tomcattomcat:[root@localhost ~]# whereis svnsvn: /usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz
说明:
tomcat没安装,找不出来,svn安装找出了很多相关文件

3、find命令

在目录结构中搜索文件,并执行指定的操作。

命令格式:
find pathname -options [-print ...]

命令参数:
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 
-print: find命令将匹配的文件输出到标准输出。 

命令选项:
-name    按照文件名查找文件。
-perm    按照文件权限来查找文件。
-user    按照文件属主来查找文件。
-group   按照文件所属的组来查找文件。
-mtime -n +n 按文件的更改时间来查找文件,-n表示更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。
-size n:[c]  查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-type   查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。

实例:
1:根据关键字查找 在当前目录查找 以.log结尾的文件。 ""代表当前目录 
[root@localhost test]# find . -name "*.log" ./test3/log3-3.log./test3/log3-1.log

2:按照目录或文件的权限来查找文件查找/opt/soft/test/目录下 权限为 777的文件
[root@localhost test]# find /opt/soft/test/ -perm 777/opt/soft/test/log_link.log

3:按类型查找 查找当目录,以.log结尾的普通文件 
[root@localhost test]# find . -type f -name "*.log"./log2014.log./test4/log3-2.log

4:查找当前所有目录并排序
[root@localhost test]# find . -type d | sort../scf./scf/bin./scf/doc

5:按大小查找文件查找当前目录大于1K的文件 
[root@localhost test]#  find . -size +1000c -print../test4



0 0
原创粉丝点击