dir
Lệnh liệt kê thư mục Windows có một dòng ở cuối hiển thị tổng dung lượng được chiếm bởi các tệp được liệt kê. Ví dụ: dir *.exe
hiển thị tất cả các .exe
tệp trong thư mục hiện tại, kích thước của chúng và tổng cộng kích thước của chúng. Tôi rất thích có chức năng tương tự với dir
bí danh của mình trong bash, nhưng tôi không chắc chắn chính xác làm thế nào để đi về nó.
Hiện nay, tôi có alias dir='ls -FaGl'
trong tôi .bash_profile
, cho thấy
drwxr-x---+ 24 mattdmo 4096 Mar 14 16:35 ./
drwxr-x--x. 256 root 12288 Apr 8 21:29 ../
-rw------- 1 mattdmo 13795 Apr 4 17:52 .bash_history
-rw-r--r-- 1 mattdmo 18 May 10 2012 .bash_logout
-rw-r--r-- 1 mattdmo 395 Dec 9 17:33 .bash_profile
-rw-r--r-- 1 mattdmo 176 May 10 2012 .bash_profile~
-rw-r--r-- 1 mattdmo 411 Dec 9 17:33 .bashrc
-rw-r--r-- 1 mattdmo 124 May 10 2012 .bashrc~
drwx------ 2 mattdmo 4096 Mar 24 20:03 bin/
drwxrwxr-x 2 mattdmo 4096 Mar 11 16:29 download/
ví dụ. Lấy câu trả lời từ câu hỏi này :
dir | awk '{ total += $4 }; END { print total }'
cung cấp cho tôi tổng số, nhưng không in danh sách thư mục chính nó. Có cách nào để thay đổi điều này thành tập lệnh một lớp hay shell để tôi có thể vượt qua bất kỳ ls
đối số nào tôi muốn dir
và có được một danh sách đầy đủ cộng với tổng cộng không? Ví dụ: tôi muốn chạy dir -R *.jpg *.tif
để lấy danh sách và tổng kích thước của các loại tệp đó trong tất cả các thư mục con. Lý tưởng nhất, sẽ thật tuyệt nếu tôi có thể có được kích thước của mỗi thư mục con, nhưng điều này không cần thiết.
ls -lh
đang in là gì, nhưng nó không phải lúc nào cũng liên quan đến những gì các awk
tập lệnh bên dưới tính toán, hoặc những gì tôi thêm bằng tay. Đôi khi, nó gần bằng số KB tệp trong thư mục, nhưng dường như không có kích thước được phân bổ của các thư mục con có hiệu lực. Tôi sẽ biết ơn nếu bạn có thể chỉ cho tôi một lời giải thích về con số chính xác đó là gì ...
ls -lh
không hiển thị tổng kích thước của một thư mục tính toán nội dung của nó
ls -lh
giúp bạn? Nó in tổng số tiền trong đầu. Bạn cũng có thể chạydu -sh *.exe
để lấy thông tin sử dụng không gian đĩa ở dạng người có thể đọc được.