问题描述
我是 Linux 和 Ubuntu 的新手,并且尝试过更改为文件夹/目录时遇到了一些困难。
有人可以解释为什么以下命令无法更改为所需的目标文件夹/目录吗?
sharon@sharon:~$ cd Home
bash: cd: Home: No such file or directory
sharon@sharon:~$ cd /Home
bash: cd: /Home: No such file or directory
sharon@sharon:~$ cd Documents
sharon@sharon:~/Documents$ cd Downloads
bash: cd: Downloads: No such file or directory
sharon@sharon:~/Documents$ cd /Downloads
bash: cd: /Downloads: No such file or directory
sharon@sharon:~/Documents$
最佳办法
文件系统是 GNU/Linux 就像一棵树,除了根在上面。 🙂 所以你有这样的结构:
/
bin/
home/
sharon/
Documents/
Downloads/
fileA.txt
fileB.jpg
usr/
var/
如果要在树内移动,一种选择是使用相对路径。如果您在 /home/sharon
中,则键入 cd Downloads
将起作用,因为 Downloads 是您当前目录的直接子目录。如果您在子文件夹 Documents
中并想将目录 (cd
) 更改为 Downloads
,则必须向上 (..
) 再到 Downloads
。所以正确的命令是 cd ../Downloads
。
您也可以输入绝对路径。所以 Downloads
文件夹是 sharon
的子文件夹,sharon
是 home
的子文件夹,它是……(你明白了:-))所以你也可以在文件系统中的任何位置输入 cd /home/sharon/Downloads
。
-
~
始终指当前用户的主目录(在您的情况下为/home/sharon
)。如果您输入cd ~/Downloads
,您将进入您的Downloads
文件夹。 -
.
指的是当前目录,所以cd ./Downloads
大致相当于cd Downloads
。 -
..
表示 “parent directory”。 -
文件路径开头的
/
指的是根目录。
下一个好处是标签扩展。如果您输入 cd ~/Dow
Tab
(最后是按 Tabulator 键),bash 会自动将其扩展为 cd ~/Downloads
。
正如其他人所说,GNU/Linux 区分大小写。因此,如果您输入 Home
、 hOme
或 home
,则会有所不同。此外,我希望您现在看到 /home
和 home
之间存在差异。第一个是绝对地址,而最后一个是相对于当前目录的。
次佳办法
sharon@sharon:~$ cd Home
bash: cd: Home: No such file or directory
小 cedilla ~ 表示您已经在 /home/sharon 目录中。当您询问 ‘cd Home’ 时,终端会查找 /home/sharon/Home。空无一人。
sharon@sharon:~$ cd /Home
bash: cd: /Home: No such file or directory
现在你在问,给定前导斜杠,转到当前位置上方的目录;即 /home/Home。空无一人。
sharon@sharon:~$ cd Documents
sharon@sharon:~/Documents$
成功!
sharon@sharon:~/Documents$ cd /Downloads
bash: cd: /Downloads: No such file or directory
我不太确定这到底在哪里。如果您想从 /home/sharon/Documents 更改为 /home/sharon/Downloads,请尝试:
cd ~/Downloads
如果您想直接进入您的主目录,即 /home/sharon,只需执行以下操作:
cd
你也可以退一步
cd ..
您可以打印您正在使用的目录(打印工作目录)
pwd
第三种办法
该命令告诉你原因:没有这样的目录。
文件名区分大小写,因此是 /home,而不是 /Home。没有前导斜杠,假定是相对于当前目录,Downloads 目录不在~/Documents,也不在/,而是在你的主目录,~
是一个快捷方式,所以它是~ /文件。