![“文件”命令位于哪个位置?](https://linux22.com/image/852435/%E2%80%9C%E6%96%87%E4%BB%B6%E2%80%9D%E5%91%BD%E4%BB%A4%E4%BD%8D%E4%BA%8E%E5%93%AA%E4%B8%AA%E4%BD%8D%E7%BD%AE%EF%BC%9F.png)
当我们检查文件类型时,我们使用file
命令来执行此操作。我猜那个file
命令是二进制文件。所以我在 bin 文件夹中查找它,但没有找到。问题是,如果它是二进制文件,那么该二进制文件位于哪里?
答案1
您可以使用which
命令来定位命令:
which file
请参阅man which
以了解更多信息。
答案2
在大多数 shell 中,包括 bash,你可以使用命令type
来查找命令的位置:
$ type file
file is /usr/bin/file
答案3
它位于 /usr/bin/file。
下面的命令将帮你定位。你可以用任意内容替换文件。
which file
检查 /usr/bin 中的特定内容将会发现它在那里......
cd /usr/bin; ls -l | grep "file"
答案4
最好的方法是使用type
shell 内置命令作为@FlorianDiesch建议。该which
命令也可以做到这一点,但是,其他各种问题,它不能很好地处理别名或 shell 函数。
shell 内建命令type
(可在bash
、sh
、dash
、fish
、zsh
以及ksh
可能在其他命令中使用)不存在这些问题:
$ type file
file is /usr/bin/file
$ type ls
ls is aliased to `ls --color=tty'
$ type fix_config
fix_config is a function
fix_config ()
{
old="ha";
new="ba";
sed -i.bak "17 s/$old/$new/" .config;
cat .config;
cp .config.bak .config
}
比较以上内容
$ which file
/usr/bin/file
$ which ls
/bin/ls
$ which fix_config
$