Làm thế nào để tôi điều hướng giữa các thư mục trong thiết bị đầu cuối?


26

Tôi chưa quen với Linux và Ubuntu và đã thử thay đổi thư mục / thư mục với một số khó khăn.

Ai đó có thể giải thích tại sao các lệnh sau không thể thay đổi thư mục / thư mục đích mong muốn không?

sharon@sharon:~$ cd Home 
bash: cd: Home: No such file or directory 
sharon@sharon:~$ cd /Home 
bash: cd: /Home: No such file or directory 
sharon@sharon:~$ cd Documents 
sharon@sharon:~/Documents$ cd Downloads 
bash: cd: Downloads: No such file or directory 
sharon@sharon:~/Documents$ cd /Downloads 
bash: cd: /Downloads: No such file or directory 
sharon@sharon:~/Documents$

Câu trả lời:


38

Hệ thống tập tin là GNU / Linux giống như một cái cây, ngoại trừ việc root nằm ở trên cùng. :-) Vì vậy, bạn có cấu trúc như:

/
  bin/
  home/
    sharon/
      Documents/
      Downloads/
      fileA.txt
      fileB.jpg
  usr/
  var/

Nếu bạn muốn di chuyển bên trong cây, một tùy chọn là sử dụng các đường dẫn tương đối. Nếu bạn đang ở /home/sharonthì gõ cd Downloadssẽ hoạt động, vì Tải xuống là con ngay lập tức của thư mục hiện tại của bạn. Nếu bạn đang ở trong thư mục con Documentsvà muốn thay đổi thư mục ( cd) thành Downloads, bạn phải đi lên ( ..) và sau đó đến Downloads. Vì vậy, lệnh chính xác sẽ là cd ../Downloads.

Bạn cũng có thể nhập một đường dẫn tuyệt đối. Vì vậy, Downloadsthư mục là thư mục con trong sharonđó là thư mục con trong homeđó là Lọ (bạn hiểu ý :-)) Vì vậy, bạn cũng có thể nhập cd /home/sharon/Downloadsbất cứ nơi nào bạn đang ở trong hệ thống tệp.

  • ~luôn đề cập đến thư mục chính của người dùng hiện tại ( /home/sharontrong trường hợp của bạn). Nếu bạn nhập cd ~/Downloadsbạn sẽ hạ cánh trong Downloadsthư mục của bạn .

  • .đề cập đến thư mục hiện tại, vì vậy cd ./Downloadsgần tương đương với cd Downloads.

  • .. có nghĩa là "thư mục mẹ".

  • / ở đầu đường dẫn tập tin đề cập đến thư mục gốc.

Điều tốt đẹp tiếp theo là mở rộng tab. Nếu bạn nhập cd ~/DowTab(lần cuối là nhấn phím Tabulator), bash sẽ tự động mở rộng nó thành cd ~/Downloads.

Như những người khác đã nói GNU / Linux là trường hợp nhạy cảm. Vì vậy, nó làm cho một sự khác biệt nếu bạn nhập Home, hOmehoặc home. Hơn nữa, tôi hy vọng rằng bạn thấy rằng có một sự khác biệt giữa /homehome. Đầu tiên được quảng cáo tuyệt đối trong khi cuối cùng là liên quan đến thư mục hiện tại của bạn.


1
@ qbi: Wow, bạn thật tuyệt vời. Tôi thích lời giải thích chi tiết của bạn về cách điều hướng giữa các thư mục / thư mục. Bạn có phải là giáo viên hoặc giáo sư trong một tổ chức giáo dục? Hầu hết các nhân viên IT đều biết rất nhiều công cụ CNTT nhưng chia nhỏ các khái niệm thành các phần có thể quản lý và "dễ tiêu hóa" để những người mới có thể hiểu được chỉ trong tầm tay của một anh chàng tài giỏi nhưng có năng khiếu như bạn.
n00b

2
@ n00b Nếu bạn thấy câu trả lời này hữu ích, bạn có thể "chấp nhận" nó bằng cách nhấp vào V ở bên trái của nó.
Revetahw nói Phục hồi lại

8
sharon@sharon:~$ cd Home 
bash: cd: Home: No such file or directory 

Cedilla nhỏ ~ cho biết bạn đã có trong thư mục / home / sharon của bạn. Khi bạn yêu cầu 'cd Home', thiết bị đầu cuối sẽ tìm / home / sharon / Home. Chẳng có ai.

sharon@sharon:~$ cd /Home 
bash: cd: /Home: No such file or directory 

Bây giờ bạn đang yêu cầu, đưa ra dấu gạch chéo hàng đầu, để đi đến một thư mục phía trên vị trí hiện tại; đó là / nhà / nhà. Chẳng có ai.

sharon@sharon:~$ cd Documents 
sharon@sharon:~/Documents$

Sự thành công!

sharon@sharon:~/Documents$ cd /Downloads 
bash: cd: /Downloads: No such file or directory 

Tôi không chắc chắn chính xác đây là đâu. Nếu bạn muốn thay đổi từ / home / sharon / Documents thành / home / sharon / Tải xuống, vui lòng thử:

cd ~/Downloads

Nếu bạn muốn truy cập trực tiếp vào thư mục chính của mình, đó là / home / sharon, chỉ cần làm:

cd

Ngoài ra, bạn có thể quay lại với

cd ..

Và bạn có thể in thư mục bạn đang làm việc với (in thư mục làm việc)

pwd

@ chili555: Cảm ơn rất nhiều vì đã giúp đỡ những người mới như tôi. Giáng sinh vui vẻ đến bạn và những người thân yêu.
n00b

2
Dấu gạch chéo hàng đầu chỉ ra một đường dẫn liên quan đến thư mục gốc, không phải đường dẫn phía trên thư mục hiện tại. Đó sẽ là../
psusi

3

Lệnh cho bạn biết lý do tại sao: Không có thư mục như vậy.

Tên tập tin là trường hợp nhạy cảm, vì vậy nó là / nhà, không phải / Nhà. Nếu không có dấu gạch chéo hàng đầu, nó được coi là có liên quan đến thư mục hiện tại và thư mục Tải xuống không nằm trong ~ / Documents, cũng không nằm trong /, mà trong thư mục chính của bạn, ~là một phím tắt, do đó, nó là ~ / Các tài liệu.


@ psusi: Cảm ơn bạn quá. Giáng sinh vui vẻ đến bạn và những người thân yêu.
n00b

@ psusi: Dấu gạch chéo hàng đầu có nghĩa là gì?
n00b

@ psusi: ./ <tên tệp> có nghĩa là gì?
n00b

@noob, /có nghĩa là bắt đầu từ thư mục gốc và .có nghĩa là thư mục hiện tại.
psusi

0

Tôi phải trả lời về vấn đề này, vì tôi không thể nhận xét về câu trả lời -.-

Dấu gạch chéo hàng đầu có nghĩa là gì? - n00b

nó có nghĩa là mỏng mà bạn đang nói đến là một thư mục không phải là một tập tin. Các tệp không phải có kết thúc tệp như trong Windows, vì vậy ~/thisIsAFilesẽ là một tệp trong thư mục chính của bạn nhưng ~/thisIsAFile/sẽ là một thư mục / một thư mục.

Nghĩa là gì? - n00b

Điều đó có nghĩa là tệp bạn muốn truy cập nằm trong thư mục hiện tại của bạn.

Những lời khuyên hữu ích khác:

Bạn có thể quay lại một thư mục với

cd ..

Và bạn có thể nhận được đường dẫn bạn đang đi với (in thư mục làm việc)

pwd

@ a2r: Cảm ơn đã làm rõ. Tôi không biết rằng các tệp không có phần mở rộng tệp như trong Microsoft Windows. Các chương trình có phần mở rộng tập tin trong Ubuntu không?
n00b

Nói chung là không, hệ thống không quan tâm đến kết thúc của một tập tin, nếu nó được đánh dấu là có thể thực thi (google about chmod) thì bạn có thể chạy nó dưới dạng chương trình. Ngoài ra, có một biến toàn cục (google về nó) được gọi là $ PATH có một thư mục xem được lưu (bạn có thể xem có thư mục nào với echo $PATH). Và khi bạn cố chạy một chương trình như bạn gõ geditvào terminal. Hệ thống của bạn trông sẽ ném các thư mục vào $ PATH và tìm kiếm gedit.
a2r

1
Đó sẽ là một dấu gạch chéo, không phải là dấu gạch chéo hàng đầu. Ngoài ra, bạn phải có một không gian trong đó trước ...
psusi

@ psusi: Xin lỗi. Tôi có một chút bối rối ở đây. Dấu gạch chéo là gì? chém hàng đầu? Ví dụ xin vui lòng? Cảm ơn trước.
n00b
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.