Câu trả lời:
Nếu sử dụng GNU find, bạn có thể làm
find /path -path '*/.*' -ls | tee output-file
Biên tập
Để tránh hiển thị các mục không bị ẩn trong các thư mục ẩn
find /path -name '.*' >output-file
(như đã lưu ý, teecó thể tránh được nếu bạn không cần xem đầu ra và -lschỉ nên sử dụng tùy chọn nếu cần).
-lsđiều này, đó có thể là thông tin lộn xộn thêm để phân tích suy nghĩ.
-pathlà POSIX từ năm 2008 -lskhông phải là tiêu chuẩn nhưng khá phổ biến.
Để liệt kê các tệp và thư mục ẩn trong thư mục hiện tại, bao gồm .và ..:
echo .*
Để liệt kê các tệp và thư mục ẩn trong thư mục hiện tại và các thư mục con của nó theo cách đệ quy:
find . -name '.*'
Nếu bạn muốn lưu kết quả vào một tệp, hãy sử dụng chuyển hướng:
find . -name '.*' >output-file.txt
Với zsh(sử dụng vòng loại toàn cầu D ):
print -rl ./**/.*(D)
Để bao gồm các tệp không bị ẩn trong các thư mục ẩn:
setopt extendedglob
print -rl ./**/*~^*/.*(D)
Bạn thực sự có thể đặt cùng một đối số nhiều lần trong cùng một dòng lệnh:
find /storage/????-????/ -iname '.*' -iname "*" | tee -a file-list-micSD-20190801163729.fli
Các tee -alệnh có khả năng hiển thị của lệnh đầu ra (hoặc stdout ) đồng thời whie viết nó vào một tập tin. Các -atùy chọn ngăn chặn ghi đè và thay vào đó sẽ thêm thông tin vào tệp đầu ra đích.
/storage/????-????/là một ví dụ đường dẫn. Đó là đường dẫn đến thẻ MicroSD của điện thoại Android Mobile mới hơn (cũng có một ứng dụng đầu cuối cho Android, với ít lệnh hơn nhưng vẫn còn nhiều và tăng đáng kể kể từ Android 6.0). Thẻ MicroSD trước đây /storage/extSdCard. Bây giờ, nó là số sê-ri âm lượng.
>thay vì| tee, nếu không muốn thấy toàn bộ đầu ra trên thiết bị đầu cuối.