【bat】windows和linux下查找命令
DATE: 2018.12.20
1、参考
https://blog.csdn.net/caz28/article/details/43866571
https://blog.csdn.net/lyblyblyblin/article/details/79599035
https://blog.csdn.net/caz28/article/details/43866571
https://blog.csdn.net/grey_csdn/article/details/68938870
2、Linux下的which命令
参考自:https://blog.csdn.net/wx601056818/article/details/80062026
which命令的作用:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
- 命令格式:
which 可执行文件名称
- 命令功能:
which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
- 命令参数:
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p 与-n参数相同,但此处的包括了文件的路径。
-w 指定输出时栏位的宽度。
-V 显示版本信息
- 使用实例:
实例1:查找文件、显示命令路径
[root@localhost ~]# which pwd
/bin/pwd
[root@localhost ~]# which adduser
/usr/sbin/adduser
[root@localhost ~]#
说明:
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行文件的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!
2、Windows下的where命令
cmd下输入where /?
C:\Windows\system32>where /?
WHERE [/R dir] [/Q] [/F] [/T] pattern…
描述:
显示符合搜索模式的文件位置。在默认情况下,搜索是在当前目录和 PATH
环境变量指定的路径中执行的。
参数列表:
/R 从指定目录开始,递归性搜索并显示符合指定模式的文件。
/Q 只返回退出代码,不显示匹配文件列表。(安静模式)
匹配文件。(安静模式)
/F 显示所有相配文件并用双引号括上。
/T 显示所有相配文件的文件的文件。
pattern 指定要匹配的文件的搜索模式。通配符 * 和 ? 可以用在模式中。
也可以指定 “$env:pattern” 和 “path:pattern” 格式; 其中
“env” 是环境变量,搜索是在 “env” 变量的指定的路径中执行的。
这些格式不应该跟 /R 一起使用。此搜索也可以用将 PATHEXT 变
量扩展名附加于此模式的方式完成。
/? 显示此帮助消息。
注意: 如果搜索成功,此工具返回错误级别 0; 如果不成功,返回 1; 如果失
败或发生错误,返回 2。
示例:
WHERE /?
WHERE myfilename1 myfile????.*
WHERE $windir:*.*
WHERE /R c:\windows *.exe *.dll *.bat
WHERE /Q ??.???
WHERE "c:\windows;c:\windows\system32:*.dll"
WHERE /F /T *.dll
@echo off
echo %~dp$PATH:1
@echo on