例如:ln /root/text /tmp/text.soft
文件搜索命令:
文件搜索:locate(搜索速度快)但是不能搜索到新建文件
locate 文件名locate是在后台数据库实现搜索 /var/lib/mlocate(默认一天一更新)
所以新建文件之后 需要updatedb(更新数据库)之后
才能搜索到
locate并不是所有的文件都能搜索到,搜索时遵循
/etc/updatedb.conf配置文件
# 开启搜索限制
prune-bind-mounts = "yes"
#搜索时,不搜索的文件系统
prunefs = ...
#搜索时,不搜索的文件类型
prunenames = ...
#搜索时,不搜索的路径
prunepaths = ...
具体是那些 可以利用 locate locate命令查看
命令的搜索命令 whereis和which
whereis命令
whereis 命令名 (只能搜索系统命令不能搜索普通文件)
#搜索命令所在路径及帮助文档所在位置
选项:
-b:只查看可执行文件
-m:之查找帮助文件
which 文件名(不能查找shell的内置命令)
#搜索命令所在路径及别名
find命令:
find [搜索范围] [搜索条件] #搜索文件
例如: find / -name install.log(在/目录下按照文件名查找)
#要尽量避免大范围搜索linux常用命令linux常用命令,会非常耗费系统资源
#find是系统当中搜索符合条件的文件名。如果需要匹配
使用通配符匹配,通配符是完全匹配。
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
使用时要有双引号括起来
例如 find /root -name "install.log*"
find还支持以下几种查找方式
-iname 不区分daxiaoxie
find /root -iname install.log
-user 按照所有者搜索
find /root -user root
-nouser 查找没有所有者的文件
find /root -nouser
#查找10天前修改的文件
find /var/log/ -mtime +10
-10 10内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
查找文件大小是25KB的文件
find . -size 25k或者20M
-25k 小于25k的文件
25k 等于。。
+25k 大于。。
查找i节点是262422的文件
find . inum 262422
*****注意这里的k是小写M是大写(严格区分大小写)
find /etc -size +20k -a -size -50k
查找/etc目录下,大于20k并且小于50k的文件
-a (and)逻辑与 两个条件都满足
-o (or)逻辑或 两个条件满足一个即可
find /home/prestat/bills/test -type f -mtime +20 -exec ls -l {} \。list friday [exec ls] [exec cat /etc/passwd]。ls-l命令放在find命令的-exec选项中 find.-typef-execls-l{}\。
查找/etc目录下,大于20k并且小于50k的文件 并显示详细信息
-exec ls -lh {}/; 对搜索结果执行操作
grep命令:
grep [选项] 字符串 文件名