linux学习之文件查询

来源:互联网 发布:自然灾害的数据2016 编辑:程序博客网 时间:2024/05/18 02:12

linux学习之文件查询

1. 可执行性文件的查询:which

原理:按照PATH环境变量的内容去查询

格式: which [-a] command

注:bash内置的命令找不到,比如cd命令


2. 查找文件

2.1 快速查找文件(相对于下面find命令):whereis/locate

原理:查找linux操作系统的数据库文件

解析:这里所说的数据库:linux操作系统会将系统的所有文件都存放在/var/lib/mlocate这个数据库文件里,因此使用whereis 或者locate不需要查找硬盘,执行速度快

限制:linux操作系统数据库默认每天更新一次,因此使用whereis或者locate的查找文件的实时性差(即新建的文件,使用locate或是whereis命令可能查找不到)

解决方式:可以对linux数据库文件手动更新

格式:locate/whereis 文件名



2.2 通过查询硬盘查找文件,速度慢但功能强大:find

格式:find pathname [option]  [-print -exe -ok...]

path:为find所查找的目录

-print: find命令将匹配的文件输出到标准输出。 
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {  } \;,注意{   }和\;之间的空格。 
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

举例find经典的用法

1.通过文件名查找文件

find  / -name “*.log"  :在/目录下查找以log结尾的文件

注意:以文件名查找:-name

2. 按照目录和文件的权限查找

find /opt/soft/test/ -perm 777   :查找/opt/soft/test/目录下 权限为 777的文件

注意:文件权限option为-perm

3.按目录或文件的大小进行查找

find    /home    -size    +512k :                查大于512k的文件

注意:文件大小option为-size 大于用+ 小于用-

4.找出/etc目录下,容量大于50kb且文件所有者不是root的文件

find /etc/ -size +50kb -a -user root;

find总结:

若是并列查找利用-a

若是或查找利用-o



0 0
原创粉丝点击