如何在终端的目录之间导航?

如何在终端的目录之间导航?

我是 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$

答案1

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是子文件夹的子文件夹home...(您明白了吧 :-))因此,您也可以输入cd /home/sharon/Downloads文件系统中的任何位置。

  • ~始终指当前用户的主目录(/home/sharon就您而言)。如果您输入,cd ~/Downloads您将进入您的Downloads文件夹。

  • .指的是当前目录,所以cd ./Downloads大致相当于cd Downloads

  • ..意思是“父目录”。

  • /文件路径开头指的是根目录。

下一个好东西是 tab 扩展。如果你输入cd ~/DowTab(最后按下 Tab 键),bash 会自动将其扩展为cd ~/Downloads

正如其他人所说,GNU/Linux 区分大小写。因此,输入Home,hOme或 时会home有所不同。此外,我希望您现在明白/home和之间存在差异home。第一个是绝对地址,而最后一个是相对于当前目录的地址。

答案2

sharon@sharon:~$ cd Home 
bash: cd: Home: No such file or directory 

小变音符 ~ 表示您已位于 /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

答案3

该命令会告诉您原因:没有这样的目录。

文件名区分大小写,所以是 /home,而不是 /Home。如果没有前导斜杠,则假定它是相对于当前目录的,而 Downloads 目录不在 ~/Documents 中,也不在 / 中,而是在您的主目录中,这~是快捷方式,因此它是 ~/Documents。

答案4

我必须回答这个问题,因为我无法对答案发表评论-.-

前导斜杠是什么意思? – n00b

这意味着您谈论的是目录而不是文件。文件不必像在 Windows 中那样具有文件结尾,因此它~/thisIsAFile应该是主目录中的文件,而~/thisIsAFile/应该是目录/文件夹。

./ 是什么意思? – n00b

这意味着您要访问的文件位于您当前的目录中。

其他有用提示:

你可以使用

cd ..

并且您可以通过以下方式获取您所在的路径(打印工作目录)

pwd

相关内容