Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

คำสั่ง du (การใช้งานดิสก์) ที่มีประโยชน์ที่สุดใน Linux

คำสั่ง du (การใช้งานดิสก์) ที่มีประโยชน์ที่สุดใน Linux

du เป็นเครื่องมือบรรทัดคำสั่งที่มาพร้อมกับ Linux ซึ่งรายงานจำนวนพื้นที่ดิสก์ที่ใช้โดยไดเร็กทอรีและไฟล์ ย่อมาจาก “การใช้ดิสก์” du เป็นเครื่องมือหลักในการวิเคราะห์พื้นที่ดิสก์ในบรรทัดคำสั่ง

การใช้งานพื้นฐาน

du /path/to/directory

เรียกใช้ du คำสั่งพร้อมไดเร็กทอรีเพื่อดูการวิเคราะห์ที่สมบูรณ์ของพื้นที่ดิสก์ที่ใช้โดยแต่ละไดเร็กทอรี แต่ละไดเร็กทอรีจะถูกแสดงตามลำดับในเอาต์พุตมาตรฐาน ดังนั้นไดเร็กทอรีขนาดใหญ่หรือการสแกนทั้งระบบอาจสร้างหลายหมื่นบรรทัดและใช้เวลานานมาก ด้วยเหตุนี้ โดยทั่วไปคำสั่ง du พื้นฐานจึงถูกเสริมด้วยแฟล็กที่ระบุด้านล่าง แฟล็กเหล่านี้สามารถรวมเข้ากับแฟล็กอื่นได้ แม้ว่าชุดค่าผสมบางค่าจะตัดกันเนื่องจากขัดแย้งกัน

การควบคุมเอาต์พุต

คำสั่ง du (การใช้งานดิสก์) ที่มีประโยชน์ที่สุดใน Linux
du -c

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

du -s

แสดงเฉพาะข้อมูลสรุปของพื้นที่ดิสก์ทั้งหมดที่ใช้โดยไดเร็กทอรีที่ระบุ จะไม่มีการแสดงผลลัพธ์จนกว่าจะมีการคำนวณสรุป

du > du-report.txt

ผู้เชี่ยวชาญบรรทัดคำสั่งจะรู้จักคำสั่งนี้ แต่ไม่ใช่ทุกคนที่เป็นผู้เชี่ยวชาญ สิ่งนี้จะส่งออกผลลัพธ์ของคำสั่งไปยังไฟล์ข้อความในไดเร็กทอรีการทำงานปัจจุบันที่ชื่อว่า “du-report.txt”

du | less

วางจอแสดงผลไปยังโปรแกรมแก้ไขข้อความที่น้อยลง สร้างผลลัพธ์ที่อ่านง่ายขึ้น ซึ่งสามารถอ่านคร่าวๆ ได้โดยใช้ปุ่มลัดการนำทางที่น้อยกว่า

การเปลี่ยนขนาดการแสดง

คำสั่ง du (การใช้งานดิสก์) ที่มีประโยชน์ที่สุดใน Linux

โปรดทราบว่าโดยทั่วไปขนาดไฟล์จะถูกปัดเศษเมื่อมีการประกาศหน่วยเฉพาะ ตัวอย่างเช่น ไฟล์ขนาด 4KB จะแสดงเป็นศูนย์เมกะไบต์หาก -m เรียกแฟล็ก ขณะที่ไฟล์ 750KB จะแสดงเป็น 1MB

du -h

แสดงในรูปแบบ "ที่มนุษย์อ่านได้" โดยมีขนาดที่เหมาะสมอยู่ในรายการ เช่น กิโลไบต์ เมกะไบต์ และกิกะไบต์ แทนที่จะเป็นขนาดบล็อกมาตรฐาน

du -k

จำนวนบล็อกที่แสดงในบล็อก 1024 ไบต์ (1 กิโลไบต์)

du -m

บล็อกการแสดงผลนับเป็น 1,048,576 ไบต์ (1 เมกะไบต์) บล็อก

du -g

บล็อกการแสดงผลนับเป็น 1,073,741,824 ไบต์ (1 กิกะไบต์) บล็อก

รวมไฟล์และลิงค์

คำสั่ง du (การใช้งานดิสก์) ที่มีประโยชน์ที่สุดใน Linux
du -L

ทำตามลิงก์สัญลักษณ์ (หรือ "การไม่อ้างอิง") ​​ในบรรทัดคำสั่งและลำดับชั้นของไฟล์ มิฉะนั้น พื้นที่ที่ใช้โดยลิงก์สัญลักษณ์เองจะถูกรายงาน (โดยทั่วไปคือระบบไฟล์ขั้นต่ำสุด) แทนที่จะเป็นแผนผังไดเร็กทอรีที่ลิงก์สัญลักษณ์ชี้ไป

du -a

แสดงการใช้ดิสก์สำหรับไฟล์ทั้งหมด ไม่ใช่แค่ไดเร็กทอรี

du /path/to/file.txt

แสดงการใช้งานดิสก์ของไฟล์เฉพาะตามชื่อในคำสั่ง

ไม่รวมไฟล์ ไดเร็กทอรี และลิงก์

คำสั่ง du (การใช้งานดิสก์) ที่มีประโยชน์ที่สุดใน Linux
du -X FILE

ยกเว้นไฟล์ที่ตรงกับรูปแบบใดๆ ในสตริงที่ระบุ

du --exclude="*.o"

ยกเว้นไฟล์และไดเร็กทอรีย่อยตามที่ระบุโดยรูปแบบ ในตัวอย่างนี้ ไดเร็กทอรีทั้งหมดรวมทั้งสตริง “*.o” จะถูกข้ามไป โปรดทราบว่าสิ่งเหล่านี้คือรูปแบบเชลล์ ไม่ใช่นิพจน์ทั่วไป ดังนั้น อักขระควบคุมจะถูกจำกัดที่ * ซึ่งตรงกับสตริงของอักขระที่เป็นศูนย์หรือมากกว่า และ ? ซึ่งตรงกับอักขระตัวใดตัวหนึ่ง ซึ่งจะแยกไฟล์เหล่านี้ออกจากการคำนวณขนาดไดเร็กทอรี ถ้า -a ใช้แฟล็ก ไฟล์ที่แยกออกจะถูกข้ามในผลลัพธ์ที่ได้

du --threshold=SIZE

ยกเว้นรายการที่เล็กกว่า SIZE หากเป็นค่าบวก หรือรายการที่มากกว่า SIZE หากเป็นค่าลบ SIZE เป็นจำนวนเต็มและใช้หน่วย (เป็นทางเลือก) ตัวอย่างเช่น --threshold=1MB จะข้ามไฟล์ทั้งหมดที่มีขนาดเล็กกว่า 1 เมกะไบต์ (1000^2 ไบต์) หน่วยประกอบด้วย K, M, G, T, P, E, Z, Y สำหรับกำลัง 1024 (kibibyte, mebibyte, gibibyte และอื่นๆ) หรือ KB, MB, GB, TB, ... สำหรับกำลังมาตรฐานที่มากกว่า 1,000 ( กิโลไบต์ เมกะไบต์ กิกะไบต์ และอื่นๆ) นี่เป็นเครื่องมือที่มีประโยชน์ในการค้นหาไฟล์ที่ใหญ่ที่สุดในระบบของคุณด้วยคำสั่งเช่น du --threshold=1GB .

du -d N

ตั้งค่าความลึกสูงสุดเป็น N โฟลเดอร์ แฟล็กนี้สามารถเป็นจำนวนเต็มบวกใดๆ ก็ได้ ด้วยการตั้งค่านี้ du จะสแกนหาไดเร็กทอรีย่อยสูงสุดสองไดเร็กทอรีในไดเร็กทอรีที่ระบุ หากมีไดเรกทอรีย่อยเพิ่มเติม ไดเรกทอรีย่อยเหล่านั้นจะไม่ถูกสแกนทีละรายการ แต่จะรวมค่าไว้ในโฟลเดอร์ที่รายงาน โปรดทราบว่า -d 0 จะรายงานผลเหมือนกับ -s ธง.

ตัวอย่างเช่น พิจารณาพาธไดเร็กทอรี "dir1/dir2/dir3/dir4" ซึ่งประกอบด้วยไดเร็กทอรีหลักหนึ่งไดเร็กทอรีและสามไดเร็กทอรีย่อย ด้วยการตั้งค่า du เป็น du -d 2 dir1 จะสแกนลงไปที่ dir3 ขนาดของ dir3 จะรวมไฟล์ใน dir4 แม้ว่า dir4 จะไม่อยู่ในรายการแยกกัน

บทสรุป:Piping du

คำสั่ง du มีประโยชน์มากที่สุดเมื่อจับคู่กับยูทิลิตี้อื่นๆ เช่น คำสั่ง du -a / | sort -n -r | head -n 10 . การดำเนินการนี้จะค้นหาระบบไฟล์ทั้งหมดของคุณ (du -a / ) จัดเรียงผลลัพธ์ตามขนาด (sort -n -r ) แล้วแสดงเฉพาะผลลัพธ์สิบอันดับแรก (head -n 10 ). เป็นทางลัดสำหรับไฟล์ที่ใหญ่ที่สุดสิบอันดับแรกในเครื่องของคุณ รวม du กับคำสั่งอื่น ๆ ผ่านไพพ์เพื่อสร้างผลลัพธ์ที่เป็นประโยชน์ยิ่งขึ้น