我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:
which 查看可执行文件的位置。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。
01. 命令概述
查找环境变量中的文件
which 命令用于查找并显示给定命令的绝对路径,环境变量 PATH 中保存了查找命令时需要遍历的目录。which 指令会在环境变量 $PATH 设置的目录里查找符合条件的文件。也就是说,使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
02. 命令格式
which [选项] 执行文件名 […]
03. 常用选项
查找环境变量中的文件 -a 查找全部内容,而非第一个文件 -n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。 -p 与-n参数相同,但此处的包括了文件的路径。 -w 指定输出时栏位的宽度。 -V 显示版本信息。 --version, -[vV] 显示版本信息并退出 --help 显示帮助信息并退出 --skip-dot 跳过 PATH 中以点开头的目录 --skip-tilde 跳过 PATH 中以波形符号开头的目录 --show-dot 不要在输出中将点扩展到当前目录 --show-tilde 为 HOME 目录(非根目录)输出波形 --tty-only 如果不在 tty 上,停止右边的处理选项 --all, -a 打印 PATH 中的所有匹配项,而不仅仅是第一个 --read-alias, -i 从 stdin 中读取别名列表 --skip-alias 忽略选项 --read-alias;不读 stdin --read-functions 从 stdin 读取 shell 函数 --skip-functions 忽略选项 --read-functions;不读 stdin
04. 参考示例
4.1 显示命令的路径
[deng@localhost test]$ which bash /usr/bin/bash
说明:which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行文件!所以,不同的 PATH 配置内容所找到的命令可能不一样的。
4.2 显示命令的别名
[deng@localhost test]$ which which alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' /usr/bin/alias /usr/bin/which [deng@localhost test]$
4.3 普通用户和root用户查找路径不同
普通用户查找的情形
[deng@localhost test]$ which pwd /usr/bin/pwd
root用户查找的情形
[root@localhost ~]# which pwd /bin/pwd [root@localhost ~]#
4.4 查找不到内建命令
[root@localhost ~]# which type /usr/bin/which: no type in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) [root@localhost ~]#
到此这篇关于Linux which命令的具体使用的文章就介绍到这了,更多相关Linux which内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!