`Du /` có liệt kê mọi tệp đơn lẻ trên một hệ thống không? [đóng cửa]


-3

Làm du / danh sách mỗi tập tin?
| |
Có cách nào tốt hơn?


2
Một cách tốt hơn để làm gì?
Daniel B

Một cách tốt hơn để danh sách mỗi tập tin duy nhất ..
tjt263

Mỗi tập tin trên một hệ thống? Không Mỗi tập tin trên tất cả các hệ thống tập tin gắn kết? Có lẽ ... Mặc dù có thể có một chút khác biệt đáng kể giữa hai điều đó, nhưng trên các hệ thống khác, sự khác biệt có thể là đáng kể đáng kể (và đáng nói để các dữ liệu khác không bị bỏ qua / quên).
TOOGAM

Vui lòng không đăng cùng một câu hỏi trên nhiều trang web StackExchange unix.stackexchange.com/q/303635/133107
techraf

Câu trả lời:


2

Làm du / liệt kê từng tập tin?

Từ man du:

Tóm tắt cách sử dụng đĩa của mỗi FILE, đệ quy cho các thư mục.

Tôi giải thích rằng: có, du / liệt kê mọi tập tin dưới /. Có thể có một số cạm bẫy tôi không biết mặc dù.

Điều này sẽ liệt kê các tập tin nếu chúng được đưa ra làm đối số. Bởi vì / là một thư mục, du / liệt kê các thư mục; tập tin là đưa vào tài khoản trong khi tính toán kích thước của các thư mục tương ứng của họ; trong trường hợp này chúng không được liệt kê.


find là một công cụ tiêu chuẩn để liệt kê các tập tin. Để liệt kê mỗi tập tin gọi:

sudo find / -type f

Ở đâu -type f nói cho công cụ chỉ liệt kê các tập tin. Bằng cách này, bạn có được đầu ra của mình mà không có kích thước (so với du đầu ra); đó là một điều tốt nếu bạn chỉ muốn liệt kê các tập tin.


Trong trường hợp chung find là hữu ích vì bạn có thể chỉ định một số tiêu chí cho nó (danh sách sau đây không đầy đủ):

  • Nếu kết quả bao gồm các tệp thông thường, thư mục, ống có tên, thì ( -type Tùy chọn);
  • bởi thời gian , một thời gian , thời gian ;
  • bởi chủ sở hữu;
  • bằng quyền;
  • theo kích cỡ.

Tôi đoán bạn cần phải có một danh sách các tập tin để làm điều gì đó với nó. Bạn có thể sử dụng các đường dẫn được cung cấp bởi find trong một đường ống, chỉ định đầu ra của nó ( -fprint tùy chọn) hoặc thực thi lệnh cho mọi tệp được tìm thấy ( -exec ). Ngoài ra còn có các tùy chọn (như -print0 ) được thiết kế để tránh các vấn đề với một số nhân vật rắc rối trong tên tệp.

Tham khảo man find để biết thêm thông tin.


Đây có vẻ như là một câu trả lời tốt ... cho câu hỏi thứ ba. (Bỏ qua hai câu hỏi đầu tiên, về cơ bản là giống nhau, bao gồm cả câu hỏi trong tiêu đề.)
TOOGAM

@TOOGAM Điều này là do tôi cho rằng OP giả định du là một giải pháp tốt cho vấn đề thực tế ( Vấn đề XY ?). Tôi có thể sai về trường hợp của OP nhưng người dùng trong tương lai đang tìm kiếm "liệt kê từng tệp" find, không phải du.
Kamil Maciorowski

@TOOGAM Tôi đã mở rộng câu trả lời của mình. Cảm ơn bạn đã nhận xét của bạn.
Kamil Maciorowski

Chỉ cần chạy du trên một cá thể Ubuntu và chỉ hiển thị các thư mục. 16.04 trên AWS. Nhưng sau đó, một lần nữa chúng là các liên kết mềm được thực hiện bằng cách sử dụng ln -s đó có thể là một sự khác biệt quan trọng find trả lại những cái này
AER

@AER Cảm ơn bạn. Câu trả lời của tôi bây giờ đã được sửa.
Kamil Maciorowski
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.