Làm thế nào tôi có thể liệt kê các tập tin trong thư mục khác (không hiện tại)?


10

Nếu ls liệt kê nội dung của thư mục hiện tại, có một lệnh tương tự liệt kê nội dung của một thư mục không hiện tại, mà không sử dụng cd không?

Câu trả lời:


12

Sau khi lschỉ cần nhập đường dẫn của thư mục bạn muốn liệt kê và bạn sẽ nhận được nó. Hãy tưởng tượng bạn đang ở trong thư mục nhà của bạn nhưng muốn liệt kê /etc. Chỉ cần chạy ls /etcvà bạn sẽ nhận được nó được liệt kê.


6

ls sẽ làm điều này

Cú pháp cho lslà:

 ls flags file-or-directory-names

Đối với những gì tôi đang gọi file-or-directory-names, bạn có thể liệt kê các tệp trong thư mục hiện tại, để có một số tệp nhất định được liệt kê. Ví dụ: ls -l foo barsẽ liệt kê thông tin về chỉ foobar(ở dạng dài, như tôi đã đưa -lcờ). ls baz*gosẽ liệt kê tất cả các tệp có tên bắt đầu bằng bazvà kết thúc bằng go(nếu có).

Nhưng khi bạn đặt tên thư mục cho lsnó, nó sẽ liệt kê nội dung của thư mục đó thay vì thư mục hiện tại.

Vì vậy, để liệt kê nội dung /var/log, bạn chỉ cần chạy:

ls /var/log

Nếu bạn đưa ra một đường dẫn tương đối cho thư mục - nghĩa là, một đường dẫn không bắt đầu bằng - /thì nó sẽ tìm thư mục đó trong thư mục hiện tại (giống như nó tìm tệp). Nhưng nó vẫn sẽ liệt kê nội dung của thư mục, như bạn muốn.

Là một lưu ý phụ, đôi khi bạn có thể thấy bạn không muốn liệt kê nội dung của một thư mục, nhưng chỉ liệt kê thư mục giống như một tệp sẽ được liệt kê. Để làm điều này, bạn có thể vượt qua -dcờ. Ví dụ: điều này hiển thị /var/logở dạng dài (không phải nội dung của nó , nhưng /var/logchính nó):

ls -ld /var/log

Rất chi tiết. Tuy nhiên, hãy nhớ rằng lskhông chịu trách nhiệm mở rộng baz*gocho tất cả các tệp bắt đầu bazvà kết thúc bằng go- đó là vỏ thực hiện việc này.
krlmlr

@krlmlr Phải, ls baz*golà một ví dụ về lsviệc nhận (có khả năng) nhiều đối số cho file-or-directory-names(và theo cách này tương tự như ls foo bar).
Eliah Kagan
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.