การทดแทนที่ทันสมัยสำหรับ ls
eza เป็นการทดแทนโปรแกรมบรรทัดคำสั่งรายการไฟล์ที่ทันสมัยและได้รับการดูแลอย่างดี ls
ที่มาพร้อมกับระบบปฏิบัติการ Unix และ Linux ทำให้มีคุณสมบัติมากขึ้นและค่าเริ่มต้นที่ดีกว่า ใช้สีเพื่อแยกแยะประเภทไฟล์และข้อมูลเมตา มันรู้เกี่ยวกับ symlink, คุณลักษณะเพิ่มเติม และ Git และมี ขนาดเล็ก รวดเร็ว และมีเพียง ไบนารี่เดียว
ด้วยการจงใจทำการตัดสินใจบางอย่างที่แตกต่างออกไป eza พยายามที่จะเป็นเวอร์ชันที่มีคุณลักษณะมากขึ้นและใช้งานง่ายยิ่งขึ้นของ ls
คุณลักษณะ eza ไม่ได้อยู่ใน exa (โดยสังเขป):
แก้ไข “The Grid Bug” ที่เปิดตัวในปี 2021
การสนับสนุนไฮเปอร์ลิงก์
รายละเอียดจุดเมานท์
เอาต์พุตบริบท Selinux
เอาต์พุตสถานะ Git repo
วันที่ญาติที่มนุษย์สามารถอ่านได้
การแก้ไขด้านความปลอดภัยหลายประการ
รองรับสีเทอร์มินัล bright
แก้ไขข้อบกพร่อง/เปลี่ยนแปลงเล็กๆ น้อยๆ มากมาย!
ไฟล์การกำหนดค่า theme.yml
สำหรับการปรับแต่งสีและไอคอน
...และอื่นๆ อีกมากมายจนทำให้เหนื่อยที่ต้องอัปเดตตลอดเวลา จริงๆ เรามีสิ่งดีๆ มากมาย
หากคุณมีการตั้งค่า Nix พร้อมการสนับสนุนเกล็ดอยู่แล้ว คุณสามารถลองใช้ eza ด้วยคำสั่ง nix run
:
nix run github:eza-community/eza
Nix จะสร้าง eza และรันมัน
หากคุณต้องการส่งผ่านข้อโต้แย้งด้วยวิธีนี้ ให้ใช้เช่น nix run github:eza-community/eza -- -ol
eza พร้อมใช้งานสำหรับ Windows, macOS และ Linux คำแนะนำในการติดตั้งเฉพาะแพลตฟอร์มและการจัดจำหน่ายมีอยู่ใน INSTALL.md
ตัวเลือกของ eza เกือบจะ แต่ก็ไม่เหมือนกับ ls
เลย ภาพรวมโดยย่อ:
-1 , --oneline : แสดงรายการหนึ่งรายการต่อบรรทัด
-G , --grid : แสดงรายการเป็นตาราง (ค่าเริ่มต้น)
-l , --long : แสดงรายละเอียดเพิ่มเติมและคุณลักษณะ
-R , --recurse : เรียกซ้ำในไดเร็กทอรี
-T , --tree : เรียกซ้ำในไดเร็กทอรีเหมือนต้นไม้
-x , --across : จัดเรียงตารางข้าม แทนที่จะจัดเรียงลงด้านล่าง
-F , --classify=(when) : ตัวบ่งชี้ประเภทการแสดงผลตามชื่อไฟล์ (เสมอ, อัตโนมัติ, ไม่เคย)
--colo[u]r=(when) : เมื่อใดควรใช้สีเทอร์มินัล (เสมอ, อัตโนมัติ, ไม่เคย)
--colo[u]r-scale=(field) : เน้นระดับของ field
ให้ชัดเจน (ทั้งหมด, อายุ, ขนาด)
--color-scale-mode=(mode) : ใช้การไล่ระดับสีหรือสีคงที่ใน --color-scale ตัวเลือกที่ถูกต้องได้รับ fixed
หรือ gradient
--icons=(when) : เมื่อใดที่จะแสดงไอคอน (เสมอ, อัตโนมัติ, ไม่เคย)
--hyperlink : แสดงรายการเป็นไฮเปอร์ลิงก์
--absolute=(mode) : แสดงรายการด้วยพาธสัมบูรณ์ (เปิด ติดตาม ปิด)
-w , --width=(columns) : ตั้งค่าความกว้างของหน้าจอเป็นคอลัมน์
-a , --all : แสดงไฟล์ที่ซ่อนและ 'จุด'
-d , --list-dirs : แสดงรายการไดเร็กทอรีเช่นไฟล์ปกติ
-L , --level=(deep) : จำกัดความลึกของการเรียกซ้ำ
-r , --reverse : กลับลำดับการจัดเรียง
-s , --sort=(field) : ฟิลด์ใดที่จะเรียงลำดับ
--group-directories-first : แสดงรายการไดเรกทอรีก่อนไฟล์อื่น
--group-directories-last : แสดงรายการไดเร็กทอรีหลังไฟล์อื่น
-D , --only-dirs : รายการเฉพาะไดเรกทอรี
-f , --only-files : แสดงรายการเฉพาะไฟล์
--no-symlinks : ไม่แสดงลิงก์สัญลักษณ์
--show-symlinks : แสดงลิงก์อย่างชัดเจน (ด้วย --only-dirs
, --only-files
เพื่อแสดง symlink ที่ตรงกับตัวกรอง)
--git-ignore : ละเว้นไฟล์ที่กล่าวถึงใน .gitignore
-I , --ignore-glob=(globs) : รูปแบบ glob (แยกไปป์) ของไฟล์ที่จะเพิกเฉย
ผ่านตัวเลือก --all
สองครั้งเพื่อแสดงไฟล์ .
และ ..
ไดเร็กทอรี
ตัวเลือกเหล่านี้มีให้ใช้งานเมื่อรันด้วย --long
( -l
):
-b , --binary : รายการขนาดไฟล์ที่มีคำนำหน้าไบนารี
-B , --bytes : แสดงรายการขนาดไฟล์เป็นไบต์ โดยไม่มีคำนำหน้า
-g , --group : แสดงรายการกลุ่มของแต่ละไฟล์
-h , --header : เพิ่มแถวส่วนหัวให้กับแต่ละคอลัมน์
-H , --links : แสดงรายการจำนวนฮาร์ดลิงก์ของแต่ละไฟล์
-i , --inode : แสดงรายการหมายเลขไอโหนดของแต่ละไฟล์
-m , --modified : ใช้ฟิลด์ประทับเวลาที่แก้ไข
-M , --mounts : แสดงรายละเอียดการเมานท์ (Linux และ MacOS เท่านั้น)
-S , --blocksize : แสดงขนาดของบล็อกระบบไฟล์ที่จัดสรร
-t , --time=(field) : ฟิลด์ประทับเวลาใดที่จะใช้
-u , --accessed : ใช้ฟิลด์ประทับเวลาที่เข้าถึง
-U , --created : ใช้ฟิลด์ประทับเวลาที่สร้างขึ้น
-X , --dereference : ลิงก์อ้างอิงสำหรับข้อมูลไฟล์
-Z , --context : แสดงรายการบริบทความปลอดภัยของไฟล์แต่ละไฟล์
-@ , --extensed : แสดงรายการแอตทริบิวต์และขนาดเพิ่มเติมของแต่ละไฟล์
--changed : ใช้ฟิลด์ประทับเวลาที่เปลี่ยนแปลง
--git : แสดงรายการสถานะ Git ของแต่ละไฟล์ หากมีการติดตามหรือเพิกเฉย
--git-repos : แสดงรายการสถานะ Git ของแต่ละไดเรกทอรี หากมีการติดตาม
--git-repos-no-status : แสดงรายการว่าไดเร็กทอรีเป็นที่เก็บ Git หรือไม่ แต่ไม่ใช่สถานะ (เร็วกว่า)
--no-git : ระงับสถานะ Git (แทนที่ --git
, --git-repos
, --git-repos-no-status
เสมอ)
--time-style : วิธีจัดรูปแบบการประทับเวลา รูปแบบการประทับเวลาที่ถูกต้องคือ ' default
', ' iso
', ' long-iso
', ' full-iso
', ' relative
' หรือสไตล์ที่กำหนดเอง ' +<FORMAT>
' (เช่น ' +%Y-%m-%d %H:%M
' => ' 2023-09-30 13:00
' สำหรับข้อกำหนดเพิ่มเติมเกี่ยวกับสตริงรูปแบบ โปรดดู หน้าคู่มือ eza(1)
และเอกสารโครโน)
--total-size : แสดงขนาดไดเร็กทอรีแบบเรียกซ้ำ
--no-permissions : ระงับฟิลด์การอนุญาต
-o , --octal-permissions : แสดงรายการสิทธิ์ของแต่ละไฟล์ในรูปแบบฐานแปด
--no-filesize : ระงับฟิลด์ขนาดไฟล์
--no-user : ระงับฟิลด์ผู้ใช้
--no-time : ระงับฟิลด์เวลา
--stdin : อ่านชื่อไฟล์จาก stdin
ตัวเลือกบางตัวยอมรับพารามิเตอร์:
ตัวเลือกที่ถูกต้อง --colo[u]r จะเป็น เสมอ อัตโนมัติ (หรือเรียกสั้นว่า auto ) และ ไม่เคย
ฟิลด์การเรียงลำดับที่ถูกต้องมี การเข้าถึง เปลี่ยนแปลง สร้าง ส่วนขยาย ส่วนขยาย ไอโหนด ดัดแปลง ชื่อ ชื่อ ขนาด ขนาด ประเภท และ ไม่มี ช่องที่ขึ้นต้นด้วยตัวพิมพ์ใหญ่จะเรียงลำดับตัวพิมพ์ใหญ่ก่อนตัวพิมพ์เล็ก ฟิลด์ที่แก้ไขจะมี วันที่ เวลา และนามแฝง ใหม่ที่สุด ในขณะที่สิ่งที่ตรงกันข้ามคือ อายุ นามแฝงและ เก่าที่สุด
ฟิลด์เวลาที่ถูกต้องได้รับ การแก้ไข เปลี่ยนแปลง เข้าถึง และ สร้าง
รูปแบบเวลาที่ถูกต้องคือ ค่าเริ่มต้น , iso , long-iso , full-iso และ relative
ดูหน้า man
สำหรับเอกสารเพิ่มเติมเกี่ยวกับการใช้งาน พวกเขามีอยู่
ออนไลน์ใน repo
ในเทอร์มินัลของคุณผ่าน man eza
ในเวอร์ชัน [0.18.13] - 2024-04-25
Eza เพิ่งเพิ่มการรองรับไฟล์ theme.yml
ซึ่งคุณสามารถระบุตัวเลือกการกำหนดธีมที่มีอยู่ทั้งหมดสำหรับตัวแปรสภาพแวดล้อม LS_COLORS
และ EXA_COLORS
รวมถึงตัวเลือกในการระบุไอคอนที่แตกต่างกันสำหรับประเภทไฟล์และนามสกุลที่แตกต่างกัน ชุดตัวแปรสภาพแวดล้อมที่มีอยู่จะยังคงทำงานต่อไปและจะมีความสำคัญเหนือกว่าสำหรับความเข้ากันได้แบบย้อนหลัง
ตรวจสอบธีมที่มีอยู่ในที่เก็บ eza-themes อย่างเป็นทางการ หรือสนับสนุนธีมของคุณเอง
ไฟล์ธีมตัวอย่างมีอยู่ใน docs/theme.yml
และจำเป็นต้องวางไว้ในไดเร็กทอรีที่ระบุโดยตัวแปรสภาพแวดล้อม EZA_CONFIG_DIR
หรือจะค้นหาตามค่าเริ่มต้นใน $XDG_CONFIG_HOME/eza
รายละเอียดทั้งหมดมีอยู่ที่หน้า man และไฟล์ธีมตัวอย่างรวมอยู่ที่นี่
หากคุณต้องการสนับสนุน eza ประการแรก คุณจะต้องปฏิบัติตามหลักจรรยาบรรณของเรา หลังจากเข้าใจหลักจรรยาบรรณแล้ว คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับการแฮ็กที่เกิดขึ้นจริงได้ที่ CONTRIBUTING.md ของเรา