当我输入 时cd /home
,终端会到达那里,但是当我输入cd /home/myusername/downloads
(或任何地址)时,终端不会到达那里。它显示no such file or directory
。
有人能告诉我这是什么原因造成的吗?
答案1
这个问题的核心:目录名称区分大小写。cd /home/username/Downloads
请输入小写字母。
附加信息
查找目录名称:
您可以使用ls
列出任何目录中的文件和目录来查看它们的名称。例如,在全新安装中,您很可能会找到以下目录
$ ls /home/newuser
Desktop/ Downloads/ Music/ Public/ Videos/
Documents/ examples.desktop Pictures/ Templates/
/etc
看到它们都是大写的吗?大多数系统目录(例如或 )并非如此/bin
。传统上,Unix/Linux 命令和目录都是小写的,尽管这并不是一成不变的规则。
顺便说一下,dir
与 Windows 的 cmd 一样,有一个执行相同操作的命令 - 列出当前工作目录中的文件。
还有另一种选择:许多文件管理器支持在这里打开终端或者在终端中打开选项。Nautilus 是 Ubuntu 的默认文件管理器,自 14.04 LTS 起默认不具备此功能,但是您可以安装一个插件来启用此功能或使用一些解决方法。参考这个问题并回答它以获取有关从文件管理器打开终端的更多信息。
在终端中导航
为了在您的主目录中导航,有两个“快捷方式”,一个是,cd $HOME/Downloads
另一个是cd ~/Downloads
。
在第一种情况下$HOME
,环境变量。如果您运行env | sort
或 ,set | sort
您将看到按字母顺序排列的一长串值,其中您将看到一行HOME=/home/yourusername
。当您运行时,cd $HOME/Downloads
shell 会自动扩展$HOME
为/home/yourusername
,并将其添加到 之后的任何其他内容中$HOME
。
对于第二种情况,~
也会自动替换为您的主目录的路径。这个特定字符代表主目录是有历史原因的
还有一些使用cd
命令的技巧,可以使导航更加容易。cd -
就像go back浏览器中的按钮一样;如果您在一个目录中,但想从原来的位置返回,而又不想输入完整路径,只需输入cd -
。 例如,如果我从 跳转/home/Serg
到,则可以使用该命令/etc
返回我的主文件夹。cd -
cd ..
可让您上移一个目录。例如,cd ..
from/home/Serg
可带我上移至/home
。
如果你想从任意位置跳转回主目录怎么办?只需cd
自行运行即可。
点击后TAB会给你一些关于导航位置的建议,有点像自动完成一样。
有时您可能希望输入一个包含设置的隐藏目录,该目录将用单个点初始化,例如.config
在您的主目录中。您可能希望使用列出它们ls -a
。当然,您需要完全按照列出的内容输入它,cd .config
如果目录中有空格或特殊字符怎么办?同样,使用TAB按钮,或者自己输入所有内容,在空格前加上反斜杠,例如cd Folder\ With\ Spaces\ In\ Name
建议:购买一本有关 Linux 或 Shell 编程基本信息的书。就我而言,我发现这非常有帮助Ubuntu Linux 工具箱和Unix Shell 示例.Linux的强大之处就在于命令行。
最重要的建议是 - 享受一切,热爱你所做的事情!