eza
แนะนำ eza
- eza เป็นโปรแกรมทดแทนแบบสมัยใหม่สำหรับคำสั่งแสดงรายการไฟล์
ls ที่มีมาให้โดยค่าเริ่มต้นในระบบปฏิบัติการ Unix และ Linux
- ใช้สีเพื่อแยกประเภทไฟล์และเมทาดาทา
- รองรับ symbolic link, extended attributes และ Git
- มีขนาดเล็ก ทำงานเร็ว และมาในรูปแบบไบนารีเดี่ยว
- มุ่งเป็นโปรแกรมทดแทน
ls ที่ใช้งานเป็นมิตรและมีฟีเจอร์ครบครัน
ฟีเจอร์หลักของ eza
- แก้ไข "grid bug" ที่เกิดขึ้นใน exa 2021
- รองรับไฮเปอร์ลิงก์
- แสดงรายละเอียด mount point
- แสดงผล Selinux context
- แสดงสถานะของ Git repository
- แสดงวันที่แบบสัมพัทธ์ที่มนุษย์อ่านเข้าใจง่าย
- มีการแก้ไขด้านความปลอดภัยหลายรายการ
- รองรับสีของเทอร์มินัลแบบสว่าง
- แก้ไขบั๊กย่อยและปรับเปลี่ยนหลายจุด
วิธีติดตั้ง
- eza ใช้งานได้บน Windows, macOS และ Linux
- สามารถดูคำแนะนำการติดตั้งตามแพลตฟอร์มและดิสทริบิวชันได้ใน INSTALL.md
ตัวเลือกบรรทัดคำสั่ง
ตัวเลือกการแสดงผล
- -1, --oneline: แสดงหนึ่งรายการต่อหนึ่งบรรทัด
- -G, --grid: แสดงรายการในรูปแบบกริด (ค่าเริ่มต้น)
- -l, --long: แสดงรายละเอียดและแอตทริบิวต์เพิ่มเติม
- -R, --recurse: สำรวจไดเรกทอรีแบบ recursive
- -T, --tree: สำรวจไดเรกทอรีแบบ recursive ในรูปแบบ tree
- -x, --across: จัดกริดในแนวนอน
- -F, --classify=(when): แสดงประเภทท้ายชื่อไฟล์ (เสมอ, อัตโนมัติ, ไม่แสดง)
- --colo[u]r=(when): กำหนดว่าจะใช้สีของเทอร์มินัลเมื่อใด (เสมอ, อัตโนมัติ, ไม่แสดง)
- --colo[u]r-scale=(field): เน้นความแตกต่างของระดับใน
field (ทั้งหมด, อายุ, ขนาด)
- --color-scale-mode=(mode): ใช้สีแบบคงที่หรือไล่ระดับใน --color-scale (คงที่, ไล่ระดับ)
- --icons=(when): กำหนดว่าจะให้แสดงไอคอนเมื่อใด (เสมอ, อัตโนมัติ, ไม่แสดง)
- --hyperlink: แสดงรายการเป็นไฮเปอร์ลิงก์
- --absolute=(mode): แสดงรายการเป็นพาธแบบสัมบูรณ์ (เปิด, follow, ปิด)
- -w, --width=(columns): กำหนดความกว้างหน้าจอเป็นจำนวนคอลัมน์
ตัวเลือกการกรอง
- -a, --all: แสดงไฟล์ที่ซ่อนและไฟล์ที่ขึ้นต้นด้วยจุด
- -d, --list-dirs: แสดงไดเรกทอรีเหมือนไฟล์ทั่วไป
- -L, --level=(depth): จำกัดความลึกของการสำรวจแบบ recursive
- -r, --reverse: กลับลำดับการเรียง
- -s, --sort=(field): กำหนดฟิลด์ที่จะใช้เรียง
- --group-directories-first: แสดงไดเรกทอรีก่อนไฟล์ประเภทอื่น
- -D, --only-dirs: แสดงเฉพาะไดเรกทอรี
- -f, --only-files: แสดงเฉพาะไฟล์
- --no-symlinks: ไม่แสดง symbolic link
- --show-symlinks: แสดง symbolic link อย่างชัดเจน
- --git-ignore: ไม่สนใจไฟล์ที่ระบุใน
.gitignore
- -I, --ignore-glob=(globs): กำหนดแพตเทิร์น glob ของไฟล์ที่จะละเว้น
ตัวเลือกมุมมองแบบยาว
- -b, --binary: แสดงขนาดไฟล์ด้วย binary prefix
- -B, --bytes: แสดงขนาดไฟล์เป็นหน่วยไบต์
- -g, --group: แสดง group ของแต่ละไฟล์
- -h, --header: เพิ่มแถว header ให้แต่ละคอลัมน์
- -H, --links: แสดงจำนวน hard link ของแต่ละไฟล์
- -i, --inode: แสดงหมายเลข inode ของแต่ละไฟล์
- -m, --modified: ใช้ฟิลด์เวลาแก้ไข
- -M, --mounts: แสดงรายละเอียด mount (เฉพาะ Linux และ macOS)
- -S, --blocksize: แสดงขนาดบล็อกของไฟล์ระบบที่ถูกจัดสรร
- -t, --time=(field): กำหนดฟิลด์เวลาที่จะใช้
- -u, --accessed: ใช้ฟิลด์เวลาที่เข้าถึง
- -U, --created: ใช้ฟิลด์เวลาที่สร้าง
- -X, --dereference: ยกเลิก symbolic link สำหรับข้อมูลไฟล์
- -Z, --context: แสดง security context ของแต่ละไฟล์
- -@, --extended: แสดง extended attributes และขนาดของแต่ละไฟล์
- --changed: ใช้ฟิลด์เวลาที่เปลี่ยนแปลง
- --git: แสดงสถานะ Git ของแต่ละไฟล์
- --git-repos: แสดงสถานะ Git ของแต่ละไดเรกทอรี
- --git-repos-no-status: แสดงเพียงว่าไดเรกทอรีเป็น Git repository หรือไม่ (เร็วกว่า)
- --no-git: ไม่แสดงสถานะ Git
- --time-style: กำหนดรูปแบบ timestamp
- --total-size: แสดงขนาดไดเรกทอรีแบบ recursive
- --no-permissions: ไม่แสดงฟิลด์สิทธิ์
- -o, --octal-permissions: แสดงสิทธิ์ของแต่ละไฟล์ในรูปแบบเลขฐานแปด
- --no-filesize: ไม่แสดงฟิลด์ขนาดไฟล์
- --no-user: ไม่แสดงฟิลด์ผู้ใช้
- --no-time: ไม่แสดงฟิลด์เวลา
- --stdin: อ่านชื่อไฟล์จาก stdin
วิธีมีส่วนร่วมกับ eza
- หากต้องการมีส่วนร่วมกับ eza ควรปฏิบัติตาม code of conduct ก่อน
- หลังจากทำความเข้าใจ code of conduct แล้ว สามารถดูข้อมูลการพัฒนาจริงได้ใน CONTRIBUTING.md
สรุปโดย GN⁺
- eza เป็นโปรแกรมทดแทน
ls แบบสมัยใหม่ ที่มาพร้อมฟีเจอร์มากขึ้นและอินเทอร์เฟซที่เป็นมิตรต่อผู้ใช้
- มีฟีเจอร์ที่มีประโยชน์ เช่น ตัวเลือกสีที่หลากหลายและการแสดงสถานะ Git
- ใช้งานได้ทั้งบน Windows, macOS และ Linux และติดตั้งได้ไม่ยาก
- แม้จะคล้าย
ls แต่มีตัวเลือกมากกว่า ทำให้งานแสดงรายการไฟล์มีประสิทธิภาพขึ้น
- เครื่องมือที่มีฟังก์ชันคล้ายกันคือ
exa
1 ความคิดเห็น
ความเห็นจาก Hacker News
รู้สึกว่า "human readable dates" ใช้งานไม่สะดวก อยากเห็นวันที่และเวลาในรายการไดเรกทอรี
มี
lsdเหมือนกัน แต่ชอบezaมากกว่าbat-catที่มีการไฮไลต์difftastic-diffที่ดีกว่าgdu- เครื่องมือวิเคราะห์พื้นที่ดิสก์สำหรับ SSDzoxide-cdแบบสมัยใหม่fd- ตัวแทนfindrg-ripgrep(grep)fzf- ตัวค้นหาแบบฟัซซีjless- ตัวดู JSON ที่มีการพับด้วยเมาส์dra- ดาวน์โหลดและติดตั้ง release assetslazygit- Git TUIlazydocker- Docker TUIyazi- ตัวจัดการไฟล์ที่มีพรีวิวภาพzellij-tmux/screenที่ดีกว่าstarship- การตั้งค่าพรอมป์ต์ข้ามเชลล์GNU
lsยังมีการดูแลรักษาอยู่หลังจากเปลี่ยนไปใช้ fish shell ก็ใช้
lsน้อยลง 100%มีปัญหากับเครื่องมือเทอร์มินัลที่ใช้สีแยกประเภทไฟล์
lsหรือเครื่องมือแทนlsls -AFCก็เพียงพอแล้วสงสัยว่าทำไม GNU utilities เวอร์ชันใหม่จึงถูก build ภายใต้ไลเซนส์ MIT
รู้สึกแปลกที่ใน README ไม่มีการพูดถึงว่า
ezaเป็น fork ของexaพิมพ์
ezaบนคีย์บอร์ด qwerty แล้วไม่ถนัดlsเป็นคีย์ลัดที่กดได้เร็วฟีเจอร์หลักของ
eza/exaไม่ใช่สีสวย แต่เป็นการรวม Git เข้ามาแทบไม่มีใครใช้
lslsไม่ได้รับการดูแลรักษาแล้ว