文件搜索命令
命令名称:which
命令路径:/usr/bin/which
执行权限:所有用户
功能描述:显示系统命令所在目录
语法:while [命令名称]
Ex: which ls
相似命令:whereis [文件名]
命令名称:find
命令路径:/usr/bin/find
执行权限:所有用户
功能描述:查找文件或目录
语法:find [搜索路径] [搜寻关键字]
PS:尽量不要在根路径下搜索。
选项: -name 查找名称
-size 按照文件大小搜索
-user 按照拥有者搜索
-type 按照文件类型查询
按天查询: ctime,atime,mtime
按分钟查询: cmin,amin,mmin
c:change 文件属性被改变,比如权限,修改时间,拥有者
a:access 文件被访问
m:modify 文件内容被修改
eg:find / -mmin -120 :查找两小时内被修改过的文件
通配符: *表示0或多个字符
占位符: ?
文件块: 一个块,512个字节=0.5KB.
100M 102400*2
正负号: -102400 小于 50M
+204800 大于 100M
连接符:
-a 相当于 and
-o 相当于 or
练习:在 /home/michael 搜索大于3m 并且文件类型是f
find /home/michael -size +6144 -a -type f
-exec ls -l {} \;
-exec [命令] [选项] {} \;
练习:查找两小时内被访问过的文件,并显示详情信息
find /home/michael -amin -120 -exec ls -l {} \;
查找/home/michael里大于50M的文件,并删除
find /home/michael -size +102400 -exec rm {} \;
在做查找并删除时,为了防止删除重要文件。可以使用-ok 代替-exec 来进行询问
命令名称:locate
命令原意:list files in databases
命令路径:/usr/bin/locate
执行权限:所有用户
功能描述:寻找文件和目录
语法:locate [搜索关键字]
Ex: locate file
列出所有跟file相关的文件
ps:locate在系统维护的文件系统数据库查询,速度快。
linux系统里维护了一个文件系统结构的数据库
locate是在数据库中查询文件。速度比find快
命令名称:updatedb
命令原意:update the slocate databases
命令路径:/usr/bin/updatedb
执行权限:root
功能描述:建立整个系统目录文件的数据库
语法:updatedb
Ex: updatedb
命令名称:grep
命令路径:/bin/grep
执行权限:所有用户
功能描述:在文件中搜寻字串匹配的行并输出
语法:grep [指定字符] [源文件]
Ex: grep ftp /etc/services