为什么 cat 不能处理位于不同目录的路径上的文件?

问题描述 投票:0回答:1

在这个教程之后,它说运行

cat pip
来查看pip脚本的内容。
尝试在 WSL Ubuntu 20 上运行它,它显示“cat:pip:没有这样的文件或目录”,即使 pip 肯定在我的路径上。

经过一番研究,发现cat对路径上的文件不起作用,文件需要位于工作目录中,或者需要指定它们的路径。

cat pip                  ---> doesn't work
cat .local/bin/pip       ---> works
which pip                ---> finds the pip file in .local/bin/

为什么有些命令可以处理路径上的文件(如 (whereis - 和 which)),但其他命令则不能?

linux unix path environment-variables
1个回答
0
投票

为什么 cat 不能处理位于不同目录的路径上的文件?

因为这样的文件不存在。

为什么有些命令可以处理路径上的文件,例如 (whereis - and which)

因为它们就是这样编程的。字面上地。命令

whereis
which
正在获取环境变量
PATH
在多个目录中搜索命令,直到找到为止。

但其他命令没有?

相反,

cat
输出特定文件。

考虑研究

PATH
环境变量和默认命令搜索。请参阅
man which
man whereis
。请参阅 https://www.gnu.org/software/bash/manual/bash.html#Command-Search-and-Execution 。请参阅
man cat

© www.soinside.com 2019 - 2024. All rights reserved.