Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม Bash

คำสั่ง ls ใน Linux: คู่มือครบถ้วนสำหรับการแสดงรายการไฟล์และตัวเลือกขั้นสูง

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

ตัวเลือกของคำสั่ง ls

ตัวเลือก คำอธิบาย
-aแสดงรายการทั้งหมด รวมถึงไฟล์ที่ขึ้นต้นด้วยจุด (dotfiles)
-Aแสดงรายการทั้งหมด ยกเว้น . และ ..
-cจัดเรียงไฟล์ตามเวลาเปลี่ยนแปลง (change time)
-dแสดงรายการไดเรกทอรี โดยไม่แสดงเนื้อหาภายใน
-hแสดงขนาดในรูปแบบที่มนุษย์อ่านง่าย (เช่น K, M)
-Hเหมือน -h แต่ใช้กำลังของ 1000 แทน 1024
-lแสดงในรูปแบบรายละเอียด (long-listing format)
-oรูปแบบ long-listing แต่ไม่แสดงข้อมูลกลุ่ม (group)
-rแสดงในลำดับย้อนกลับ
-sแสดงขนาดของแต่ละไฟล์ในหน่วยบล็อก
-Sจัดเรียงตามขนาดไฟล์
--sortจัดเรียงเนื้อหาตามคำระบุ (เช่น size, version, status)
-tจัดเรียงตามเวลาปรับเปลี่ยนล่าสุด (modification time)
-uจัดเรียงตามเวลาเข้าถึงล่าสุด (last access time)
-vจัดเรียงตามเวอร์ชัน
-1แสดงไฟล์ละหนึ่งต่อบรรทัด

แสดงรายการไฟล์

คำสั่ง ls แสดงเนื้อหาของไดเรกทอรีที่ระบุ โดยไม่รวม dotfiles ถ้าไม่ระบุไดเรกทอรี จะแสดงเนื้อหาของไดเรกทอรีปัจจุบันโดยค่าเริ่มต้น

ไฟล์ที่แสดงจะจัดเรียงตามตัวอักษรโดยค่าเริ่มต้น และจัดเรียงเป็นคอลัมน์ถ้าไม่พอดีในบรรทัดเดียว

ตัวอย่าง:

$ ls
apt configs Documents Music workspace bin Desktop git Pictures Public Videos

แสดงรายการไฟล์ในรูปแบบรายละเอียด (Long Listing Format)

ตัวเลือก -l ของคำสั่ง ls พิมพ์เนื้อหาของไดเรกทอรีที่ระบุในรูปแบบรายละเอียด ถ้าไม่ระบุไดเรกทอรี จะแสดงไดเรกทอรีปัจจุบันโดยค่าเริ่มต้น

ls -l /etc

ตัวอย่างผลลัพธ์:

total 1204
drwxr-xr-x 3 root root 4096 Apr 21 03:44 acpi
-rw-r--r-- 1 root root 3028 Apr 21 03:38 adduser.conf
drwxr-xr-x 2 root root 4096 Jun 11 20:42 alternatives
...

แสดง 10 ไฟล์ที่ปรับเปลี่ยนล่าสุด

คำสั่งต่อไปนี้จะแสดงสูงสุด 10 ไฟล์ที่ปรับเปลี่ยนล่าสุดในไดเรกทอรีปัจจุบัน โดยใช้รูปแบบรายละเอียด (-l) และจัดเรียงตามเวลา (-t)

ls -lt | head

แสดงไฟล์ทั้งหมดรวมถึง Dotfiles

Dotfile คือไฟล์ที่ชื่อขึ้นต้นด้วย . ซึ่งปกติจะถูกซ่อนโดย ls และไม่แสดง ยกเว้นจะขอให้แสดง ตัวอย่างเช่น ls ปกติจะไม่แสดง dot files:

$ ls
bin pki

ตัวเลือก -a หรือ --all จะแสดงไฟล์ทั้งหมด รวมถึง dotfiles

ตัวอย่าง:

$ ls -a
. .ansible .bash_logout .bashrc .. .bash_history .bash_profile bin pki

แสดงไฟล์ในรูปแบบต้นไม้ (Tree-Like Format)

คำสั่ง tree แสดงเนื้อหาของไดเรกทอรีที่ระบุในรูปแบบต้นไม้ ถ้าไม่ระบุไดเรกทอรี จะแสดงไดเรกทอรีปัจจุบันโดยค่าเริ่มต้น

ตัวอย่างผลลัพธ์:

$ tree /tmp
/tmp
├── 5037
├── adb.log
└── evince-20965
    └── image.FPWTJY.png

ใช้ตัวเลือก -L ของคำสั่ง tree เพื่อจำกัดความลึกของการแสดง และตัวเลือก -d เพื่อแสดงเฉพาะไดเรกทอรี

ตัวอย่างผลลัพธ์:

$ tree -L 1 -d /tmp
/tmp
└── evince-20965

แสดงไฟล์เรียงตามขนาด

ตัวเลือก -S ของคำสั่ง ls จัดเรียงไฟล์ตามลำดับขนาดจากมากไปน้อย

$ ls -l -S ./Fruits
total 8
-rw-rw-rw- 1 root root 166703 Jan 28 00:09 apples.jpg
-rw-rw-rw- 1 root root 134270 Jan 28 00:09 kiwis.jpg
-rw-rw-rw- 1 root root 30134 Jan 28 00:09 bananas.jpg

เมื่อใช้ร่วมกับตัวเลือก -r ลำดับการจัดเรียงจะย้อนกลับ

$ ls -l -S -r ./Fruits
total 8
-rw-rw-rw- 1 root root 30134 Jan 28 00:09 bananas.jpg
-rw-rw-rw- 1 root root 134270 Jan 28 00:09 kiwis.jpg
-rw-rw-rw- 1 root root 166703 Jan 28 00:09 apples.jpg

สรุป

ในบทความนี้เราเรียนรู้ตัวเลือกต่างๆ ในการแสดงรายการไฟล์โดยใช้คำสั่ง ls