使用“ cd / myOtherFolder”在USB驱动器中导航会导致“无此目录”错误


11

在终端中浏览USB驱动器的文件系统时,发生了一些奇怪的事情,这在我的Raspberry Pi B +上是没有的。我不太确定该如何表达,所以我只展示什么是

  1. 我打开命令行并使用以下命令导航到USB驱动器 cd /media/pi/MYUSB/

  2. cd用来输入USB驱动器的文件夹cd /myFolder/myOtherFolder

  3. 我向后导航至myFoldercd ..

  4. 我再次尝试导航到myOtherFolder具有cd /myOtherFolder。但是,这会导致bash错误bash: cd: /myOtherFolder: no such file or directory

我不知道这是什么或为什么发生,但我以前能够做到这一点而没有错误消息。有时我会因停电而导致Raspberry Pi的USB驱动器关闭,所以我有“幽灵USB驱动器”,如关闭电源后再打开时Ghost USB驱动器中所述。

Answers:


32

您在路径名前加了一个/!那是根目录,这意味着接下来要写的是绝对路径。如果/ myFolder / myOtherFolder安装在/ media / pi / MYUSB /内部,则不在USB上。

但是,您可以cd myOtherFolder在要求的情况下使用。我建议阅读一些有关Linux(或Unix)文件处理,文件系统等的基本教程。


10

更详细一点-

无论您是来自Windows还是Mac OS X背景,都会习惯于将外部驱动器作为独立于硬盘的位置(或多或少)。

Unix传统的一部分是“尽可能避免特殊情况”。例如在Unix(和GNU / Linux)中,键盘被表示为一个文件,可以像打开文本文件一样打开和读取文件。串行端口(也可以写入)也是如此。在Raspberry Pi上,甚至可以像这样控制GPIO引脚。有一个名为的文件/dev/zero,在您读取文件时会产生一个0字节的序列。等等。

这是一个绝妙的主意,因为它允许在没有各种特殊情况的情况下构造程序。

无论如何,按照类似的传统,整个系统只有一个目录结构,从/(根目录)开始。没有特殊情况,没有“驱动器号”。只是/

可以使用mount命令将驱动器“附加”在此结构中的某个位置(Raspberry Pi配置为自动执行此操作,但您也可以手动执行此操作)。

每个文件的路径都/以某种方式出现(例如/home/pi/test.txt)。因此/,从整个系统的根目录开始,假定以开头的路径是“绝对”路径。如果没有/在一开始,它被认为是一个“相对”路径,即从目前的目录开始。

另外两个技巧-您可能知道以开头的路径..引用了父目录。~从您的主目录开始的路径,例如~/test.txt,无论当前目录是什么,其路径都相同。


3
为了完整起见,以开头的路径.指向当前目录。当希望运行存储在当前目录中的命令时,这一点很重要:只需键入foo$PATH搜索,然后foo将执行其中列出的第一个目录,其中包含一个名为的文件。但是键入会./foo指示Shell显式查找当前目录而不是search $PATH
蒙迪·哈德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.