sos*_*tee 31 command-line paths
我想了解完整路径名的真正含义。我的主目录中有一个名为 my_script 的文件。我假设完整路径名是 ./my_script,这意味着它在根文件夹中,但我不确定。有人可以请教我吗?
Rad*_*anu 39
不,你的假设是错误的。my_script主目录中文件的完整路径名是:/home/your_user_name/my_script. 当您输入./my_script终端时,您实际上是在尝试执行脚本(如果是可执行的),并且仅当您当前的工作目录为/home/your_user_name/. 要执行脚本,您还可以使用完整的文件路径,正如我所说的/home/your_user_name/my_script.
人们认为 UNIX 路径名的外观和感觉就像 Internet 地址,从而导致兼容性。可以使用以下命令在终端中找到当前工作目录的完整路径名:
pwd
Run Code Online (Sandbox Code Playgroud)
要查找用户主目录的完整路径,您可以使用:
echo ~
echo $HOME
echo /home/$USER
Run Code Online (Sandbox Code Playgroud)
以上三个命令是等价的。
要找出文件的完整路径名,您可以使用readlink命令。例如,在您的情况下:
cd ~
readlink -f my_script
Run Code Online (Sandbox Code Playgroud)
完整路径名实际上是指从文件系统/目录到该文件或文件夹的完整路径。
例如,脚本的完整路径是:
/home/your_username/my_script
Run Code Online (Sandbox Code Playgroud)
或者,grep可执行文件的完整路径名是
/bin/grep
Run Code Online (Sandbox Code Playgroud)
至于./my_script,符号.代表当前目录,因此您实际上是说“在当前目录下查找名为 my_script 的文件或文件夹”