Навігація через USB-накопичувач з "cd / myOtherFolder" викликає помилку "немає такого каталогу"


11

Під час навігації по файловій системі мого USB-накопичувача в терміналі трапляються деякі дивні речі, які раніше не траплялися на моєму Raspberry Pi B +. Я не зовсім впевнений, як це сформулювати, тому я просто покажу, що таке

  1. Я відкриваю командний рядок і переходжу до свого USB-накопичувача cd /media/pi/MYUSB/

  2. Я використовую cdдля входу в папку USB-накопичувачаcd /myFolder/myOtherFolder

  3. Я переміщатися в зворотному напрямку , щоб myFolderзcd ..

  4. Я намагаюся знову перейти до myOtherFolderз cd /myOtherFolder. Однак це призводить до помилки башbash: cd: /myOtherFolder: no such file or directory

Я поняття не маю, що і чому це відбувається, але я раніше міг це робити без повідомлення про помилку. Іноді у мене є відключення електроенергії, які призводять до відключення Raspberry Pi із USB-накопичувачем у ньому, тому у мене є "привидні USB-накопичувачі", як ті, що описані на привідних USB-накопичувачах Ghost, коли живлення вимикається та вмикається .

Відповіді:


32

Ви ставите провідні / до своїх імен! Це кореневий каталог, тобто те, що ви пишете далі, - це абсолютний шлях. Ваш / myFolder / myOtherFolder не знаходиться на вашому USB, якщо він все-таки встановлений всередині / media / pi / MYUSB /.

Але ви можете використовувати 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команду оболонці явно шукати в поточному каталозі, а не шукати $PATH.
Monty Harder
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.