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 ý, tee
có thể tránh được nếu bạn không cần xem đầu ra và -ls
chỉ 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ĩ.
-path
là POSIX từ năm 2008 -ls
khô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 -a
lệ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 -a
tù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.