『学了就忘』Linux基础命令|『学了就忘』Linux基础命令 — 27、搜索操作相关命令
目录
- 1、whereis命令
- 2、which命令
- 3、locate命令
1、whereis命令 【『学了就忘』Linux基础命令|『学了就忘』Linux基础命令 — 27、搜索操作相关命令】
whereis
是搜索系统命令的命令,也就是说,whereis
命令不能搜索普通文件,而只能搜索系统命令。whereis
命令的基本信息如下:- 命令名称:
whereis
- 英文原意:
locate the binary,source,and manual page files for a command
- 所在路径:
/usr/bin/whereis
- 执行权限:所有用户。
- 功能描述:查找二进制命令、源文件和帮助文档的命令。
which
也是搜索系统命令的命令。which命令的基本信息如下:
- 命令名称:
which
- 英文原意:
shows the full path of(shell)commands
- 所在路径:
/usr/bin/which
- 执行权限:所有用户。
- 功能描述:列出命令的所在路径。
whereis
命令的区别在于:whereis
命令可以在查找到二进制命令的同时,查找到帮助文档的位置;- 而
which
命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。
# 用whereis命令查询系统命令
[root@192 ~ ]# whereis ls
ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz/bin/ls:表示命令的位置
/usr/share/man/man1p/ls.1p.gz和/usr/share/man/man1/ls.1.gz:ls的帮助文档位置# 用which命令查询系统命令
[root@192 ~]# which ls
alias ls='ls --color=auto'
/bin/lsalias ls='ls --color=auto':别名的显示。ls的全名为:ls --color=auto扩展:查看系统中的别名
[root@192 ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'重点记住`ll`命令代表的意思。
3、locate命令
locate
命令才是可以按照文件名搜索普通文件的命令。- 优点:按照数据库搜索,搜索速度快(比整盘扫描快很多),消耗资源小。数据库位置
/var/lib/mlocate/mlocate.db
,可以使用updatedb
命令强制更新数据库。 - 缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改时间等搜索文件。
提示:locate命令的基本信息如下:
有的时候我们知道一个文件存在,但是找不到位置,用locate
命令也搜不到。就可能是数据库没有进行更新,用updatedb
命令强制更新数据库即可解决。(也可以退出登陆系统再进入,也可以进行更新,解决问题。)
- 命令名称:
locate
- 英文原意:
find files by name
- 所在路径:
/usr/bin/locate
- 执行权限:所有用户。
- 功能描述:按照文件名搜索文件。
[root@192 ~]# locate abcde
/root/abcde
关于locate命令的配置文件
updatedb.conf
配置文件对我们来说平时是用不着的。(记住这个配置文件名,了解即可)# 打开配置文件,里边有4行。
[root@localhost ~ ] # vi/etc/updatedb.conf # 开启搜索限制,也就是让这个配置文件生效
PRUNE BIND MOUNTS="yes"# 在locate执行搜索时,禁止搜索这些文件系统类型,这些文件系统都不是Linux系统自带的文件系统。(Linux系统认为搜索这些没有意义)
PRUNEFS="……"# 在locate执行搜索时,禁止搜索带有这些扩展名的文件。(这些一般都是文件版本控制系统,系统认为这些文件变化太快,搜索这些文件没有意思)
PRUNENAMES="……"# 在locate执行搜索时,禁止搜索这些系统目录
PRUNEPATHS="……"
注意:在些目录中,就有我们常用练习的tmp
目录。如果需要locate
命令在tmp
目录生效,手动修改一下updatedb.conf
配置文件,重启一下就生效了。
推荐阅读
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- 爱就是希望你好好活着
- 拍照一年啦,如果你想了解我,那就请先看看这篇文章
- 烦恼和幸福
- 参保人员因患病来不及到指定的医疗机构就医,能否报销医疗费用()
- 活着就是生命的全部意义
- 其实你就是个普通人
- 是你,情愿
- 有些人真的走着走着就散了
- 有句话忍很久了,女生要求买房怎么就物质了()