Câu trả lời:
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ê.
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ỉ foovà bar(ở 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
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).
lskhông chịu trách nhiệm mở rộngbaz*gocho tất cả các tệp bắt đầubazvà kết thúc bằnggo- đó là vỏ thực hiện việc này.