Poruszanie się po dysku USB za pomocą „cd / myOtherFolder” powoduje błąd „brak takiego katalogu”

11

Podczas nawigacji po systemie plików mojego napędu USB w terminalu zdarzają się dziwne rzeczy, które nie zdarzały się na moim Raspberry Pi B +. Nie jestem do końca pewien, jak to wyrazić, więc po prostu pokażę, co jest

  1. Otwieram wiersz poleceń i nawiguję do dysku USB za pomocą cd /media/pi/MYUSB/

  2. Używam cddo wchodzenia do folderu na dysku USBcd /myFolder/myOtherFolder

  3. Nawiguję do tyłu za myFolderpomocącd ..

  4. Staram się ponownie poruszać się myOtherFolderz cd /myOtherFolder. To jednak podnosi błąd bashbash: cd: /myOtherFolder: no such file or directory

Nie mam pojęcia, co się dzieje i dlaczego, ale kiedyś mogłem to zrobić bez komunikatu o błędzie. Czasami mam przerwy w zasilaniu, które powodują, że Raspberry Pi wyłącza się z napędem USB, więc mam „duchowe napędy USB”, takie jak te opisane w Ghost Ghost napędy pozostawione, gdy zasilanie jest wyłączane i włączane .

Henry Westfall
źródło

Odpowiedzi:

32

Umieszczasz nazwy wiodące / na ścieżce! To jest katalog główny, co oznacza, że ​​to, co piszesz, jest ścieżką bezwzględną. Twój / myFolder / myOtherFolder nie znajduje się na twoim USB, jeśli jest zamontowany wewnątrz / media / pi / MYUSB /.

Ale możesz użyć cd myOtherFolderw przypadku, o który pytasz. Sugeruję przeczytanie kilku podstawowych samouczków na temat obsługi plików w systemie Linux (lub Unix), systemów plików i tym podobnych.

Nyos
źródło
10

Aby uzyskać więcej szczegółów -

Bez względu na to, czy wywodzisz się z systemu Windows, czy Mac OS X, będziesz przyzwyczajony do zewnętrznych dysków będących niezależnymi miejscami na dysku twardym (mniej więcej).

Częścią uniksowej tradycji jest „unikanie specjalnych przypadków, gdy jest to możliwe”. Na przykład w systemie Unix (i GNU / Linux) klawiatura jest reprezentowana jako plik, który można otworzyć i odczytać tak jak plik tekstowy. Podobnie jest z portem szeregowym (do którego można również zapisać). Na Raspberry Pi nawet pinami GPIO można tak sterować. Jest tak zwany plik, /dev/zeroktóry podczas odczytu generuje sekwencję 0 bajtów. Itp.

To był genialny pomysł, ponieważ pozwalał na tworzenie programów bez różnego rodzaju specjalnych przypadków.

W każdym razie, w podobnej tradycji istnieje jedna struktura katalogów dla całego systemu, zaczynając od /(katalog główny). Bez specjalnych przypadków, bez „liter napędowych”. Właśnie /.

Dyski można „podłączyć” gdzieś w tej strukturze za pomocą mountpolecenia (Raspberry Pi jest skonfigurowany do robienia tego automatycznie, ale można to również zrobić ręcznie).

Ścieżka każdego pliku zstępuje /w jakiś sposób (na przykład /home/pi/test.txt). Z tego powodu /zakłada się, że ścieżka zaczynająca się od „ścieżki absolutnej”, zaczynająca się od katalogu głównego całego systemu. Bez /początku jest uważana za ścieżkę „względną”, tzn. Zaczyna się od bieżącego katalogu.

Dwie inne sztuczki - zapewne wiesz, że ścieżka zaczynająca się od ..odnosi się do katalogu nadrzędnego. Ścieżka zaczynająca ~się od zaczyna się od katalogu domowego, np. ~/test.txtDziała tak samo bez względu na katalog bieżący.

Artelius
źródło
3
Dla kompletności ścieżka rozpoczynająca się od .odnosi się do bieżącego katalogu. Jest to ważne, gdy chcemy uruchomić polecenie zapisane w bieżącym katalogu: Samo wpisanie foospowoduje $PATHprzeszukanie go, a pierwszy wymieniony w nim katalog zawierający nazwany plik foozostanie wykonany. Ale wpisanie ./fooinstruuje powłokę, aby jawnie szukała w bieżącym katalogu zamiast przeszukiwać $PATH.
Monty Harder