常用命令-查找命令
1. which
which [-a] command
查找系统命令位置,只在$path环境变量中查找,并且默认只返回第一个查找结果
参数:
- -a 列出所有的查找结果
例: which -a php
type [option] command
用于区别某个命令到底是由shell自带的,还是shell外部的独立二进制文件提供的
参数:
- -t 输出命令的type,比如:alias,file,builtin
- -p 如果是外部命令,则输出绝对地址
如:type -t cd
whereis [-bmsu] file
whereis命令用于定位可执行文件、源代码文件、帮助文件在系统中的位置
参数:
- -b查找二进制文件
- -m查找说明文件
- -s查找源代码文件
- -u查找非上述三种文件的其他文件
例:whereis -b php
**PS:whereis默认从数据库文件(linux将所有的文件都记录在一个数据库文件,但并不实时更新,一般一天更新一次)中查找指定文件,因此whereis比其他从硬盘查找的命令,效率高很多
find [path] [option] [action]
find命令可查找指定路径下所有符合条件的文件或目录,find命令参数可以拟分成两大类,一种是普通参数,一种是时间参数
普通参数:
- type 根据文件类型进行搜索
find /usr/bin/ -type d
查找/usr/bin/目录下的所有目录 - name 根据文件名进行搜索(-iname不区分大小写)
find /usr/bin -name '*.jpg'
查找/usr/bin/目录下以JPG为后缀的文件和目录 - size 根据文件的大小进行搜索(+n大于 -n小于)
- prem 根据文件读写权限进行搜索
- -group 根据文件拥有组进行搜索
- -empty 匹配空文件或空目录
- -time 天
- min 分钟
- +n n天(分钟)之前
- -n n天(分钟)之内
- -atime +n 搜索n天前被访问过的文件或目录
- -mtime -n 搜索n天前被修改过文件内容的文件或目录
- -cmin -n 搜索n分钟之内被被修改过文件内容、权限、属性的文件或目录
- 。。。
- -i 忽略大小写
- -r 使用正则表达式做匹配条件。
- 五个查找命令中,find、locate、whereis是用来查找具体的文件,which、type是用来查找命令(which也相当于查找文件,但是只是查找命令位置)
- whereis只查找3中类型的文件:二进制文件、说明文件、源代码文件
- whereis和locate都是从数据库文件查找,所以效率最高
- 使用优先级:
- 区分命令,使用type
- 查找命令位置,使用which、whereis、type(优先使用whereis)
- 通过文件名查找,优先使用locate,找不到时,updatedb
- 其他查找条件、或者因数据库文件未更新,使用whereis、lacate找不到时用find
推荐阅读
- Linux下常用软件源码编译
- 数据库|三分钟学会数据库, date 日期 及格式转换 (开发比较常用YYYYMMDD)
- CPU监控命令mpstat
- windows|拓端tecdat|windows中用命令行执行R语言命令
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 数组常用方法一
- 你命令我爱你吧(原创)
- 常用git命令总结
- java|java 常用知识点链接
- 用Go构建区块链——3.持久化和命令行