Điều hướng qua ổ đĩa USB với phiên bản cd cd / myOtherFolder do gây ra lỗi không có thư mục như vậy


11

Khi điều hướng hệ thống tệp của ổ USB của tôi trong thiết bị đầu cuối, một số điều kỳ lạ xảy ra không được sử dụng trên Raspberry Pi B + của tôi. Tôi không chắc chắn làm thế nào để nói rõ điều này, vì vậy tôi sẽ chỉ cho thấy những gì

  1. Tôi mở dòng lệnh và điều hướng đến ổ USB của mình bằng cd /media/pi/MYUSB/

  2. Tôi sử dụng cdđể nhập một thư mục của ổ USB vớicd /myFolder/myOtherFolder

  3. Tôi điều hướng ngược lại myFoldervớicd ..

  4. Tôi cố gắng điều hướng một lần nữa myOtherFoldervới cd /myOtherFolder. Tuy nhiên, điều này làm tăng lỗi bashbash: cd: /myOtherFolder: no such file or directory

Tôi không biết điều gì hoặc tại sao điều này xảy ra, nhưng tôi đã từng có thể làm điều này mà không có thông báo lỗi. Đôi khi, tôi bị mất điện khiến Raspberry Pi bị tắt với ổ USB trong đó, vì vậy tôi có "ổ USB ma" giống như các ổ được mô tả trong các ổ USB Ghost bị bỏ lại khi tắt và bật nguồn .

Câu trả lời:


32

Bạn đặt một hàng đầu / tên đường dẫn của bạn! Đó là thư mục gốc, nghĩa là những gì bạn viết tiếp theo là một đường dẫn tuyệt đối. Your / myFolder / myOtherFolder không có trên USB của bạn nếu nó được gắn bên trong / media / pi / MYUSB /.

Nhưng bạn có thể sử dụng cd myOtherFoldertrong trường hợp bạn yêu cầu. Tôi khuyên bạn nên đọc một số hướng dẫn cơ bản về xử lý tệp, hoặc hệ thống tệp của Linux, v.v.


10

Để đi vào chi tiết hơn một chút -

Cho dù bạn đến từ nền tảng Windows hoặc Mac OS X, bạn sẽ được sử dụng cho các ổ đĩa ngoài là những nơi độc lập với đĩa cứng của bạn (ít nhiều).

Một phần của truyền thống Unix là "tránh các trường hợp đặc biệt bất cứ khi nào có thể". Ví dụ, trong Unix (và GNU / Linux), một bàn phím được biểu diễn dưới dạng một tệp có thể được mở và đọc từ giống như một tệp văn bản. Vì vậy, một cổng nối tiếp (có thể được viết là tốt). Trên Raspberry Pi, ngay cả các chân GPIO cũng có thể được điều khiển như thế này. Có một tệp được gọi là /dev/zerotạo ra một chuỗi 0 byte khi bạn đọc nó. Vân vân.

Đây là một ý tưởng tuyệt vời vì nó cho phép các chương trình được xây dựng mà không có tất cả các trường hợp đặc biệt.

Dù sao, trong một truyền thống tương tự, có một cấu trúc thư mục cho toàn bộ hệ thống, bắt đầu từ /(thư mục gốc). Không có trường hợp đặc biệt, không có "ký tự ổ đĩa". Chỉ cần /.

Các ổ đĩa có thể được "đính kèm" ở đâu đó trong cấu trúc này bằng mountlệnh (Raspberry Pi được cấu hình để thực hiện việc này một cách tự động, nhưng bạn cũng có thể thực hiện thủ công).

Mọi đường dẫn của tập tin đi xuống /theo một cách nào đó (ví dụ /home/pi/test.txt:). Do đó, một đường dẫn bắt đầu /được coi là một đường dẫn "tuyệt đối", bắt đầu từ thư mục gốc của toàn bộ hệ thống. Không có /lúc bắt đầu, nó được coi là một đường dẫn "tương đối", tức là nó bắt đầu từ thư mục hiện tại.

Hai thủ thuật khác mà bạn có thể biết rằng một đường dẫn bắt đầu bằng ..tham chiếu đến thư mục cha. Một đường dẫn bắt đầu với ~bắt đầu từ thư mục chính của bạn, ví dụ như ~/test.txthoạt động như nhau cho dù thư mục hiện tại của bạn là gì.


3
Để hoàn thiện, một đường dẫn bắt đầu bằng .tham chiếu đến thư mục hiện tại. Điều này rất quan trọng khi một người muốn chạy một lệnh được lưu trữ trong thư mục hiện tại: Việc gõ đơn giản foosẽ khiến $PATHtìm kiếm và thư mục đầu tiên được liệt kê trong đó chứa tệp có tên foosẽ được thực thi. Nhưng gõ ./foohướng dẫn shell để nhìn rõ ràng trong thư mục hiện tại thay vì tìm kiếm $PATH.
Monty Harder
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.