Menavigasi melalui drive USB dengan "cd / myOtherFolder" menyebabkan kesalahan "no directory"

11

Saat menavigasi sistem file drive USB saya di terminal, beberapa hal aneh terjadi yang tidak pernah terjadi pada Raspberry Pi B + saya. Saya tidak yakin bagaimana mengartikulasikan ini, jadi saya hanya akan menunjukkan apa itu

  1. Saya membuka baris perintah dan menavigasi ke USB drive saya dengan cd /media/pi/MYUSB/

  2. Saya gunakan cduntuk memasukkan folder dengan USB drivecd /myFolder/myOtherFolder

  3. Saya menavigasi ke belakang myFolderdengancd ..

  4. Saya mencoba menavigasi lagi myOtherFolderdengan cd /myOtherFolder. Namun, ini menimbulkan kesalahan bashbash: cd: /myOtherFolder: no such file or directory

Saya tidak tahu apa atau mengapa ini terjadi, tetapi saya dulu bisa melakukan ini tanpa pesan kesalahan. Kadang-kadang saya mengalami pemadaman listrik yang menyebabkan Raspberry Pi mati dengan drive USB di dalamnya, jadi saya memiliki "drive USB hantu" seperti yang dijelaskan dalam drive USB Ghost yang tertinggal saat daya dihidupkan dan dimatikan .

Henry Westfall
sumber

Jawaban:

32

Anda menempatkan yang terdepan / ke nama jalur Anda! Itu direktori root, artinya apa yang Anda tulis selanjutnya adalah jalur absolut. / MyFolder / myOtherFolder Anda tidak ada di USB jika terpasang di / media / pi / MYUSB /.

Tetapi Anda dapat menggunakannya cd myOtherFolderjika Anda bertanya. Saya sarankan membaca beberapa tutorial dasar tentang penanganan file (atau Unix) Linux, sistem file, dan semacamnya.

Nyos
sumber
10

Untuk sedikit lebih detail -

Apakah Anda berasal dari latar belakang Windows atau Mac OS X, Anda akan terbiasa dengan drive eksternal yang merupakan tempat independen dari hard disk Anda (kurang lebih).

Bagian dari tradisi Unix adalah "hindari kasus khusus sedapat mungkin". Misalnya di Unix (dan GNU / Linux), keyboard direpresentasikan sebagai file yang dapat dibuka dan dibaca seperti file teks. Begitu juga port serial (yang dapat ditulis juga). Pada Raspberry Pi bahkan pin GPIO dapat dikontrol seperti ini. Ada file bernama /dev/zeroyang menghasilkan urutan 0-byte ketika Anda membacanya. Dll

Ini adalah ide yang brilian karena memungkinkan program untuk dibangun tanpa memiliki semua kasus khusus.

Bagaimanapun, dalam tradisi yang sama, ada satu struktur direktori untuk seluruh sistem, mulai dari /(direktori root). Tidak ada kasus khusus, tidak ada "huruf drive". Adil /.

Drive dapat "dilampirkan" di suatu tempat dalam struktur ini menggunakan mountperintah (Raspberry Pi dikonfigurasi untuk melakukan ini secara otomatis, tetapi Anda juga dapat melakukannya secara manual).

Setiap jalur file turun /dengan cara tertentu (misalnya, /home/pi/test.txt). Karena itu, jalur yang dimulai dengan /diasumsikan sebagai jalur "absolut", dimulai dari direktori root seluruh sistem. Tanpa /di awal, itu dianggap sebagai jalan "relatif", yaitu dimulai dari direktori saat ini.

Dua trik lain — Anda mungkin tahu bahwa jalan yang dimulai dengan ..merujuk ke direktori induk. Sebuah jalur yang dimulai dengan ~dimulai dari direktori home Anda, mis. ~/test.txtBerfungsi sama tidak peduli apa direktori Anda saat ini.

Artelius
sumber
3
Untuk kelengkapan, jalur yang dimulai dengan .merujuk ke direktori saat ini. Ini penting ketika seseorang ingin menjalankan perintah yang disimpan di direktori saat ini: Cukup mengetik fooakan menyebabkan $PATHpencarian, dan direktori pertama yang tercantum di dalamnya yang berisi file bernama fooakan dieksekusi. Tetapi mengetik ./foomenginstruksikan shell untuk secara eksplisit mencari di direktori saat ini daripada mencari $PATH.
Monty Harder