Linux常用命令介绍(搜索命令)
来源:互联网 发布:股票医生软件下载 编辑:程序博客网 时间:2024/05/21 21:39
一、文件搜索命令
1.1 文件搜索命令locate
在后台数据库中按文件名搜索,只可以搜索文件名,搜索功能简单,但搜索速度快,命令格式为:
locate [文件名]
问题一:centOS系统找不到locate命令
locate: command not found
解决方法:
原因是系统中没有安装mlocate这个包。
* 第一步:安装mlocate包
yum -y install mlocate
会出现下面正在安装该包的信息,等待一会,直到出现Complete!就表示安装完成了。
* 第二步:更新数据库
updatedb
* 第三步:就可以使用locate命令了
[root@localhost ~]# locate install.log/root/install.log/root/install.log.syslog
问题二:当在某些目录下创建文件,然后更新数据库之后,并不能用locate命令查找到
原因是系统在更新数据库的配置文件中,设置了一些搜索限制,所以搜索不到,输入如下命令可以看到:
[root@localhost ~]# vi /etc/updatedb.confPRUNE_BIND_MOUNTS = "yes"PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"PRUNENAMES = ".git .hg .svn"PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"
/etc/updatedb.comf配置文件
- PRUNE_BIND_MOUNTS = “yes” 表示开启搜索限制,如果为’no’则表示不开启搜索限制;
- PRUNEFS = 表示搜索时,不搜索的文件系统;
- PRUNENAMES = 表示搜索时,不搜索的文件类型;
- PRUNEPATHS = 表示搜索时,不搜索的路径;
不只locate命令遵循搜索限制,whereis与which也遵循
1.2 whereis与which命令
whereis与which命令是用来搜索命令的
whereis [命令]
查看命令所在的地址
1.3 find命令
find命令功能强大,而且搜索范围广,搜索速度相对较慢。一般都精确查找,只有加上通配符之后才能进行模糊查找。命令格式如下:
find [搜索范围][搜索条件]
[搜索条件]有如下几种:
1. 举例
find /home/ -name test
查找名为’test’的文件文件或目录
- -name 文件或目录名称
名称中可以使用通配符
* * 匹配任意内容
* ? 匹配任意一个字符
* [] 匹配任意一个中括号内的字符
2. 举例:
find /var/log/ -mtime +10
表示查找10天前修改的文件
- -atime 文件访问时间
- -ctime 改变文件属性
- -mtime 修改文件内容
其中:
* -10 10天内修改的文件
* 10 10天当天修改的文件
* +10 10天前修改的文件
3. 举例
find . -size 25k
查找所有文件大小为25KB的文件
- -25k 小于25KB的文件
- 25k 等于25KB的文件
- +25k 大于25KB的文件
4. 举例
find . -inum 255673
查找i节点是255673的文件
5. 举例
find /etc -size +20k -a -size -50k
查找/etc目录下大于20K并且小于50K的文件或者目录
- -a 逻辑与,两个条件都满足
- -r 逻辑或,两个条件满足一个即可
6. 举例
find /etc -size +20k -a -size -50k -exec ls -l {} \
查找/etc目录下大于20K并且小于50K的文件或者目录,并且显示文件的详细信息
- -exec ** {} \ 表示对搜索结果执行相应的操作;
7. 举例
find /root -iname install.log
文件名称不区分大小写;
8. 举例
find /root -user root
查找所有者为root的文件
9. 举例
find /root -nouser
查找没有所有者的文件
1.4 grep命令
指在文件中匹配符合条件的字符串,格式如下:
grep [选项] 字符串 文件名
[选项]:
* -i 忽略大小写
* -v 排除指定字符串
[root@localhost ~]# cat /home/zixuan/learn/test.hardthis is a test file;111111111111those are there[root@localhost ~]# grep "th" /home/zixuan/learn/test.hardthis is a test file;those are there[root@localhost ~]# grep -v "th" /home/zixuan/learn/test.hard111111111111
find命令与grep命令的区别
- find命令:在系统当中搜索符合条件的文件名,如果需要匹配使用通配符匹配,并且通配符是完全匹配;
- grep命令:在文件当中搜索符合条件的字符串,如果需要匹配使用正则表示式进行匹配,并且正则表达式是包含匹配;
- Linux常用命令介绍(搜索命令)
- Linux-常用命令(3)文件搜索命令
- Linux-常用命令(3)文件搜索命令
- linux常用命令(3)-文件搜索命令
- Linux(1)Linux常用命令_搜索命令_grep命令
- Linux(2)Linux常用命令_搜索命令_whereis命令
- Linux(3)Linux常用命令_搜索命令_locate命令
- Linux(4)Linux常用命令_搜索命令_which命令
- Linux常用命令-文件搜索命令
- Linux 常用命令 之 搜索命令
- Linux常用命令-文件搜索命令
- Linux常用命令之搜索命令
- Linux常用命令介绍(目录命令)
- Linux曲径通幽:常用命令(文件搜索命令、目录命令)
- 笔记:Linux常用命令(三) 文件搜索命令
- Linux常用命令(6)之文件搜索命令
- Linux常用命令(7)之文件搜索命令
- Linux常用命令(8)之文件搜索命令
- Android AlertDialog的基本用法
- VCS-5 LVM和VxVM
- 11.RecyclerView使用
- ubuntu cannot access network using bridge to host windwos
- USACO-Section1.1 Friday the Thirteenth【泰勒公式】
- Linux常用命令介绍(搜索命令)
- Java反射概念
- 傲娇与偏见
- jQuery笔记
- 两数组的交
- JavaScript学习记录(4)
- spark报错:ERROR SparkUI: Failed to bind SparkUI,解决办法
- 图片无缝滚动
- 今天做到一道面试题:Android中进程的通信方式