In đầy đủ đường dẫn của tệp và kích cỡ có trong Linux


3

Dưới đây là thông số kỹ thuật: Tìm tất cả các tệp trong / sửa đổi sau thời gian sửa đổi của / tmp / test, loại trừ / Proc và / sys khỏi tìm kiếm và in đường dẫn đầy đủ của tệp cùng với kích thước có thể đọc được của con người. Đây là những gì tôi có cho đến nay:

find / \( -path /proc -o -path /sys \) -prune -o -newer /tmp/test -exec ls -lh {} \; | less

Vấn đề là đường dẫn đầy đủ không được in. Thật không may, ls không hỗ trợ in đường dẫn đầy đủ! Và tất cả các giải pháp tôi đã tìm thấy cho thấy cách in đường dẫn đầy đủ đề xuất sử dụng find. : |

Có ý kiến ​​gì không? Cảm ơn!

Câu trả lời:


3

Thay vì -exec ls -lh {} \;bạn cũng có thể sử dụng printftùy chọn:

find / \( -path /proc -o -path /sys \) -prune -o -newer /tmp/test -printf "%s %p\n" | less

Mặc dù điều đó sẽ chỉ in kích thước theo byte và không lshỗ trợ định dạng dễ đọc của con người .


1
+1 cho POSIX và không lsgiải pháp.
l0b0

1

Thêm -dvào lệnh ls.

find / \( -path /proc -o -path /sys \) -prune -o -newer /tmp/test -exec ls -lhd {} \; | less

Điều đó cũng sẽ khắc phục vấn đề bạn bị ràng buộc với các tệp hiển thị hai lần trong danh sách của bạn.


0

Tôi cũng rất thích những thông tin đầy đủ của mình, vì vậy cuối cùng tôi đã tạo ra một vài bí danh chỉ trong một dịp như vậy: alias ldf='ls $PWD/* -dF' alias lfp='ls $PWD/* -daFc --group-directories-first' alias lfh='ls $PWD/.* -daFc --group-directories-first' alias lafp='ls $PWD/.* $PWD/* -daFc --group-directories-first' Và chỉ cần lưu trữ chúng vào $ HOME / .bashrc (những cái này đã tuân theo cú pháp của .bashrc) Mặc dù, nếu ai đó muốn sao chép + dán mã vào thiết bị đầu cuối (Không phải là thông lệ được đề xuất, nhưng tôi không phải là người giám hộ của bạn, vì vậy :) Đây là dán trực tiếp cho .bashrc:

echo " alias ldf='ls $PWD/* -dF' alias lfp='ls $PWD/* -daFc --group-directories-first' alias lfh='ls $PWD/.* -daFc --group-directories-first' alias lafp='ls $PWD/.* $PWD/* -daFc --group-directories-first'" >> ~/.bashrc

Tất cả những điều này về cơ bản là cho cùng một mục tiêu, với các điều chỉnh nhỏ cho các mục đích cụ thể; như: ldf = List Listys Files, lfp = List đầy đủ cờ sắp xếp đường dẫn được sử dụng, lfh = List Full Hidden, Và cuối cùng; cho tất cả người dùng và cá heo: lafp = Liệt kê Đường dẫn đầy đủ (cả ẩn và quy định)


Ngày bạn cần sử dụng một số hệ thống hoặc người dùng khác, nó sẽ cắn bạn.
vonbrand
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.