ฉันจะดู du ใน GB แทน MB ใน linux ได้อย่างไร


คำตอบ:


41

GNU duมี--block-sizeตัวเลือก:

du -csh --block-size=1G .

ดังที่sajbระบุไว้การข้ามอาร์กิวเมนต์ขนาดบล็อกจะปรับขนาดเอาต์พุตโดยอัตโนมัติ (และแสดงหน่วย) การใช้อาร์กิวเมนต์ขนาดบล็อกใด ๆ จะแสดงตัวเลข แต่ไม่ต้องใส่หน่วย


ที่ (GNU coreutils) 8.25 -h ไม่ทำงานในขณะที่ขนาดบล็อก = 1G ทำ!
Florian Straub

@ FlorianStraub: ฉันไม่แน่ใจว่าคุณหมายถึงเกี่ยวกับการ-hไม่ทำงาน เป็นตัวเลือกที่รองรับซึ่งทำให้เอาต์พุตอยู่ใน "human readable" (เช่นมีส่วนต่อท้ายของหน่วยและปรับสัดส่วน) แต่มันเป็นความจริงที่มันจะถูกละเว้นเมื่อ--block-sizeมีการใช้งาน นี่คือข้อสังเกตในคำตอบของฉัน
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป

ไม่ดีของฉัน: ฉันหมายถึง "-g ไม่ทำงาน"
Florian Straub

4

เพื่อความสะดวกนี่เป็นข้อมูลอ้างอิงสำหรับ macOS:

  • -hเอาต์พุต "อ่านง่าย" ใช้ส่วนต่อท้ายของหน่วย: ไบต์, กิโลไบต์, เมกะไบต์, กิกะไบต์, เทราไบต์และเพตาไบต์
  • -k แสดงบล็อกนับในบล็อก 1024- ไบต์ (1-Kbyte)
  • -m แสดงจำนวนบล็อกในบล็อก 1,048,576- ไบต์ (1 เมกกะไบท์)
  • -g แสดงจำนวนบล็อกในบล็อก 1,073,741,824-byte (1-Gbyte)

นี่คือการทำงานของตัวเลือกต่าง ๆ ที่ให้1,234,567 KBไฟล์:

$ mkfile -n 1234567k file.txt

$ du file.txt
2469136 file.txt

$ du -k file.txt
1234568 file.txt

$ du -m file.txt
1206    file.txt

$ du -g file.txt
2   file.txt

$ du -h file.txt
1.2G    file.txt

นอกจากนี้ยังเป็นที่น่าสังเกตว่าคุณสามารถกำหนดค่าพฤติกรรมโดยนัยแม้ว่าBLOCKSIZEตัวแปรสภาพแวดล้อม:

BLOCKSIZEหากBLOCKSIZEตั้งค่าตัวแปรสภาพแวดล้อมและ-kไม่ได้ระบุตัวเลือกจำนวนบล็อกจะถูกแสดงในหน่วยของบล็อกขนาดนั้น หากBLOCKSIZEไม่ได้ตั้งค่าไว้และ-kไม่ได้ระบุตัวเลือกจำนวนบล็อกจะถูกแสดงใน512บล็อก -byte


1

ใช้du -B1073741824แต่ระวังมันให้ผลเป็นหน่วยจำนวนเต็มเท่านั้นและจะไม่มีความหมายด้วย-h


0

นอกเหนือจากคำตอบก่อนหน้านี้ดูเหมือนว่าจะแตกต่างกันระหว่าง coreutils รุ่นต่าง ๆ (หรือ locale?) เนื่องจากในโฮสต์ของฉันฉันได้รับ:

$ du -csh .
32G     .
32G     total
$ du --version | head -1
du (GNU coreutils) 7.4
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.