วิธีแสดงรายการไฟล์ที่เรียงตามขนาดใน Linux

How List Files Ordered Size Linux



บทความปัจจุบันอธิบายสั้น ๆ ถึงวิธีการแสดงรายการหรือแสดงไฟล์และไดเร็กทอรีที่เรียงตามขนาด สามารถทำได้ง่ายๆ ด้วยคำสั่ง ลส (รายการ). ก่อนทำการจัดเรียงไฟล์ เพื่ออธิบายแต่ละตัวเลือกที่นำมาใช้ เรามาทำรายการยาวๆ ซึ่งจะพิมพ์ขนาดไฟล์ พร้อมข้อมูลเพิ่มเติม โดยไม่ต้องเรียงลำดับ (ในภาพหน้าจอที่สอง ผมอธิบายวิธีการจัดเรียง) ทำได้โดยการเพิ่ม -l (ตัวพิมพ์เล็ก -l สำหรับรายการแบบยาว) ดังที่แสดงด้านล่าง:

#ลส -NS







บรรทัดแรกแสดงขนาดทั้งหมดของไดเร็กทอรีที่คุณแสดงรายการไฟล์ เมื่อเพิ่ม -NS ตัวเลือกเอาต์พุตจะแสดงสิทธิ์ของไฟล์ในคอลัมน์แรก the ฮาร์ดลิงก์ , เจ้าของ, กลุ่ม, the ขนาดเป็นไบต์ , เดือน, วันและเวลา และสุดท้ายคือชื่อไฟล์



หากคุณต้องการจัดเรียงผลลัพธ์นี้ตามขนาดไฟล์ จากใหญ่ไปเล็ก คุณต้องเพิ่ม -NS (เรียงลำดับ) ตัวเลือก



#ลส -lS





อย่างที่คุณเห็นผลลัพธ์แสดงรายการไฟล์และไดเร็กทอรีที่จัดเรียงตามขนาด แต่เป็นไบต์ที่ไม่เป็นมิตรกับมนุษย์ (1 ไบต์คือ 0.000001 MB เป็นทศนิยมและ 0.00000095367432 MB ในไบนารี)

ในการพิมพ์ผลงานด้วยวิธีที่เป็นมิตรต่อมนุษย์ คุณจะต้องเพิ่ม . เท่านั้น -ชม (เป็นมิตรกับมนุษย์) ตัวเลือก:



#ลส -lSh

ดังที่คุณเห็นในผลลัพธ์ด้านบน ตอนนี้ขนาดไฟล์จะแสดงเป็น GB, MB, KB และ Bytes
แต่คุณจะเห็นเฉพาะไฟล์ปกติที่ไม่มีไฟล์ที่ซ่อนอยู่ หากคุณต้องการรวมไฟล์ที่ซ่อนอยู่ในผลลัพธ์ คุณต้องเพิ่มตัวเลือก -ถึง (ทั้งหมด) ดังที่แสดงด้านล่าง:

#ลส -lSha

อย่างที่คุณเห็นไฟล์ที่ซ่อนอยู่ (เริ่มต้นด้วยจุด) ก็ถูกพิมพ์เช่นกัน

เคล็ดลับเพิ่มเติม:

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

หากคุณต้องการพิมพ์ในหน่วยขนาดเฉพาะโดยสั่ง ls ให้แสดงไฟล์ทั้งหมดที่มีขนาดใกล้เคียงที่สุดในหน่วยนั้นเท่านั้นที่ทำได้ ตัวอย่างเช่น หากต้องการพิมพ์ไฟล์ทั้งหมดในหน่วย MB คุณสามารถเพิ่ม –block-size= ตัวเลือกที่ระบุ MB ด้วย M ตามที่แสดงในไวยากรณ์และภาพหน้าจอด้านล่าง:

#ลส -lS --block-size=M

ดังที่คุณเห็นตอนนี้ขนาดเป็น MB เท่านั้น ไฟล์ที่ใหญ่กว่าคือ 115 MB ไฟล์ที่สอง 69 MB เป็นต้น ไฟล์ที่มีขนาด KB หรือ Bytes จะพิมพ์ไม่ถูกต้องจะแสดงเป็น 1 MB ซึ่งใกล้เคียงที่สุด ขนาดสามารถพิมพ์ได้หากจำกัดไว้ที่ MB
ผลลัพธ์ที่เหลือยังคงเหมือนเดิมทุกประการ

ใช้ตัวเลือกเดียวกัน ( –block-size= ) คุณสามารถแสดงผลลัพธ์ในขนาด GB แทน MB หรือไบต์ ไวยากรณ์เหมือนกัน แทนที่ NS สำหรับ NS ดังตัวอย่างด้านล่าง:

#ลส -lS --block-size=G

คุณยังสามารถพิมพ์ขนาดเป็นหน่วย KB โดยแทนที่ M หรือ G สำหรับ a ถึง :

#ลส -lS --block-size= K

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

#ลส -NS

อย่างที่คุณเห็นตอนนี้ ไฟล์ที่ซ่อนอยู่ เริ่มต้นด้วยไฟล์ . (จุด) ถูกพิมพ์ เช่น .xsession-errors, .ICEauthority เป็นต้น

หากคุณต้องการพิมพ์ไฟล์และไดเร็กทอรีที่จัดเรียงตามขนาดเป็น MB รวมถึงเรียกใช้ไฟล์ที่ซ่อนอยู่:

#ลส -NS --block-size=M

ในการพิมพ์หรือแสดงไฟล์และไดเร็กทอรีทั้งหมดโดยจัดเรียงตามขนาดที่แสดงเป็น GB รวมทั้งเรียกใช้ไฟล์ที่ซ่อนอยู่:

#ลส -NS --block-size=G

เช่นเดียวกับคำสั่งก่อนหน้า ในการพิมพ์ไฟล์และไดเร็กทอรีที่เรียงลำดับตามขนาดที่แสดงเป็น KB รวมถึงเรียกใช้ไฟล์ที่ซ่อนอยู่:

#ลส -NS --block-size= K

บทสรุป:

คำสั่ง ls มีฟังก์ชันมากมายที่ช่วยให้เราจัดการไฟล์และพิมพ์ข้อมูลได้ อีกตัวอย่างหนึ่งอาจเป็นการใช้ ls เพื่อแสดงรายการไฟล์ตามวันที่ (พร้อมตัวเลือก -lt)

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