คำสั่ง ls: บรรทัดแรกมีความหมายว่าอะไร?


30

เมื่อฉันฉันจะls -lได้รับสิ่งนี้:

calico@A000505:~/Documentos$ ls -l
total 2020
-rwxr-xr-x 1 calico calico    8559 2010-11-16 11:12 a.out
-rwxrw-rw- 1 smt    smt    2050138 2010-10-14 10:40 Java2.pdf
-rwxrw-rw- 1 ocv    ocv        234 2010-11-16 11:11 test.c

แต่ "รวม 2020" หมายความว่าอะไร? ฉันมี 3 ไฟล์เท่านั้นดังนั้นจึงไม่ใช่จำนวนไฟล์หรือไดเรกทอรีและฉันเดาว่ามันไม่ได้มีขนาดเท่ากัน แล้วมันคืออะไร

คำตอบ:


25

จำนวนบล็อก 1kB ที่ใช้โดยไฟล์ในไดเรกทอรีซึ่งไม่ใช่แบบเรียกซ้ำ

ใช้ls -lhเพื่อให้ได้ผลลัพธ์ที่มีความหมายมากขึ้น


5
แม่นยำยิ่งขึ้นเกี่ยวกับการใช้งานส่วนใหญ่นี่คือจำนวนบล็อกทั้งหมดที่ใช้โดยไฟล์ที่รวมอยู่ในรายการไดเรกทอรี (เปรียบเทียบls -l ~กับls -la ~และls -lA ~) ขนาดบล็อกคือ 1kB พร้อมเครื่องมือ GNU แต่ 512B ตาม POSIX และการนำไปใช้งานในปัจจุบันส่วนใหญ่
Gilles 'หยุดความชั่วร้าย'

อะไร-hทำอย่างไร
คดีกองทุนของโมนิก้า

14

"รวม" หมายถึงอะไรใน ls -al

เป็นคำถามที่ดีหมายความว่าคุณต้องการใส่ใจในรายละเอียด ฉันจะอธิบายด้วยตัวอย่าง ภายใต้โฮมได/home/elเร็กตอรี่ของฉันมีไดเร็กตอรี่ที่ชื่อ tmpdir พร้อมไฟล์ที่อยู่ข้างใต้ ฉันเปลี่ยนเป็นไดเรกทอรีนั้นและทำls -al

el@angeliqe ~/tmpdir $ ls -al
total 20
drwxrwxr-x 4 el users 4096 Dec 21 11:45 .
drwx--x--x 9 el users 4096 Dec 21 11:45 ..
drwxrwxr-x 2 el users 4096 Dec 21 11:45 dirWithFiles
drwxrwxr-x 2 el users 4096 Dec 21 11:44 emptydir
-rw-rw-r-- 1 el users  182 Dec 21 11:45 myfile.txt

มันบอกว่า 'ทั้งหมด 20' ที่แปลเป็น: "tmpdir ใช้พื้นที่ 20K บนดิสก์สำหรับไดเรกทอรีและไฟล์ทั้งหมด"

ด้วยตัวเลือก -h คุณจะบอกให้มันให้กับคุณในรูปแบบที่มนุษย์สามารถอ่านได้:

el@angeliqe ~/tmpdir $ ls -alh
total 20K
drwxrwxr-x 4 el users 4.0K Dec 21 11:45 .
drwx--x--x 9 el users 4.0K Dec 21 11:45 ..
drwxrwxr-x 2 el users 4.0K Dec 21 11:45 dirWithFiles
drwxrwxr-x 2 el users 4.0K Dec 21 11:44 emptydir
-rw-rw-r-- 1 el users  182 Dec 21 11:45 myfile.txt

เป็นที่น่าสนใจที่จะทราบว่าไดเรกทอรีที่ไม่มีอะไรในนั้นยังใช้พื้นที่ 8K ในกรณีของฉันemptydirไม่มีอะไรในนั้น แต่แสดงว่าใช้ 8K

el@angeliqe ~/tmpdir/emptydir $ ls -al
total 8
drwxrwxr-x 2 el users 4096 Dec 21 11:44 .
drwxrwxr-x 4 el users 4096 Dec 21 11:45 ..

การเพิ่มไดเรกทอรีว่างพิสูจน์ว่าไดเรกทอรีใช้ 4K:

el@angeliqe ~/tmpdir/emptydir $ ls -alh
total 12K
drwxrwxr-x 3 el users 4.0K Dec 21 11:54 .
drwxrwxr-x 4 el users 4.0K Dec 21 11:45 ..
drwxrwxr-x 2 el users 4.0K Dec 21 11:54 blah

คำสั่งที่จะตรวจสอบก็คือdu:

el@angeliqe ~/tmpdir/emptydir $ du
4       ./blah
8       .

นอกจากนี้คุณสามารถดูขนาดไฟล์ได้ที่ระดับความลึก:

el@angeliqe ~ $ du -h --max-depth=1
12K     ./.ssh
4.0K    ./my_recycle_bin
8.0K    ./.vim
13G     ./gnuoctbluehost
24K     ./tmpdir
48K     ./.subversion
152K    ./.cpan
13G     .
el@angeliqe ~ $

5

ไม่มีใครพูดถึง -sตัวเลือก (?) จากman ls:

-s, --size print the allocated size of each file, in blocks

.. ดังนั้นหากคุณมีรายการ ls -sคุณจะได้รับจำนวนบล็อกสำหรับแต่ละไดเรกทอรีและไฟล์ในไดเรกทอรีปัจจุบัน เมื่อคุณสรุปว่าแล้วคุณจะได้รับสิ่งหมายเลขเดียวกันในขณะที่คุณเห็นอยู่ด้านบนของtotal:ls -l

พิเศษ: เพื่อให้ได้ขนาดบล็อกตรวจสอบนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.