eza
Giới thiệu về eza
- eza là một lựa chọn thay thế hiện đại cho lệnh liệt kê tệp
ls được cung cấp mặc định trên các hệ điều hành Unix và Linux
- Sử dụng màu sắc để phân biệt loại tệp và metadata
- Nhận diện symbolic link, extended attributes và Git
- Nhỏ gọn, nhanh và được cung cấp dưới dạng một binary duy nhất
- Hướng tới việc trở thành một lựa chọn thay thế
ls thân thiện với người dùng và giàu tính năng
Các tính năng chính của eza
- Sửa lỗi "grid bug" từng xuất hiện trong exa 2021
- Hỗ trợ hyperlink
- Cung cấp thông tin chi tiết về mount point
- Xuất Selinux context
- Xuất trạng thái Git repository
- Hiển thị ngày tương đối dễ đọc với con người
- Nhiều bản vá bảo mật
- Hỗ trợ màu cho terminal sáng
- Nhiều sửa lỗi nhỏ và thay đổi khác
Cách cài đặt
- eza có thể dùng trên Windows, macOS và Linux
- Có thể xem hướng dẫn cài đặt theo từng nền tảng và bản phân phối trong INSTALL.md
Tùy chọn dòng lệnh
Tùy chọn hiển thị
- -1, --oneline: hiển thị một mục trên mỗi dòng
- -G, --grid: hiển thị các mục theo dạng lưới (mặc định)
- -l, --long: hiển thị thông tin chi tiết mở rộng và thuộc tính
- -R, --recurse: duyệt thư mục đệ quy
- -T, --tree: duyệt thư mục đệ quy theo dạng cây
- -x, --across: căn lưới theo chiều ngang
- -F, --classify=(when): hiển thị loại ở tên tệp (always, auto, never)
- --colo[u]r=(when): đặt thời điểm sử dụng màu terminal (always, auto, never)
- --colo[u]r-scale=(field): nhấn mạnh bằng cách phân biệt mức độ của
field (all, age, size)
- --color-scale-mode=(mode): dùng màu cố định hoặc gradient cho --color-scale (fixed, gradient)
- --icons=(when): đặt thời điểm hiển thị icon (always, auto, never)
- --hyperlink: hiển thị mục dưới dạng hyperlink
- --absolute=(mode): hiển thị mục bằng đường dẫn tuyệt đối (on, follow, off)
- -w, --width=(columns): đặt chiều rộng màn hình theo số cột
Tùy chọn lọc
- -a, --all: hiển thị tệp ẩn và tệp "dot"
- -d, --list-dirs: liệt kê thư mục như tệp thông thường
- -L, --level=(depth): giới hạn độ sâu đệ quy
- -r, --reverse: đảo ngược thứ tự sắp xếp
- -s, --sort=(field): đặt trường để sắp xếp
- --group-directories-first: liệt kê thư mục trước các tệp khác
- -D, --only-dirs: chỉ liệt kê thư mục
- -f, --only-files: chỉ liệt kê tệp
- --no-symlinks: không hiển thị symbolic link
- --show-symlinks: hiển thị symbolic link một cách tường minh
- --git-ignore: bỏ qua các tệp được nhắc tới trong
.gitignore
- -I, --ignore-glob=(globs): đặt glob pattern cho các tệp cần bỏ qua
Tùy chọn chế độ xem dài
- -b, --binary: hiển thị kích thước tệp bằng tiền tố nhị phân
- -B, --bytes: hiển thị kích thước tệp theo byte
- -g, --group: hiển thị group của từng tệp
- -h, --header: thêm hàng tiêu đề cho từng cột
- -H, --links: hiển thị số hard link của từng tệp
- -i, --inode: hiển thị số inode của từng tệp
- -m, --modified: dùng trường timestamp đã sửa đổi
- -M, --mounts: hiển thị chi tiết mount (chỉ áp dụng cho Linux và MacOS)
- -S, --blocksize: hiển thị kích thước block hệ thống tệp đã cấp phát
- -t, --time=(field): đặt trường timestamp sẽ dùng
- -u, --accessed: dùng trường timestamp đã truy cập
- -U, --created: dùng trường timestamp đã tạo
- -X, --dereference: dereference symbolic link để lấy thông tin tệp
- -Z, --context: hiển thị security context của từng tệp
- -@, --extended: hiển thị extended attributes và kích thước của từng tệp
- --changed: dùng trường timestamp đã thay đổi
- --git: hiển thị trạng thái Git của từng tệp
- --git-repos: hiển thị trạng thái Git của từng thư mục
- --git-repos-no-status: chỉ hiển thị liệu thư mục có phải Git repository hay không (nhanh hơn)
- --no-git: không hiển thị trạng thái Git
- --time-style: đặt định dạng timestamp
- --total-size: hiển thị kích thước thư mục đệ quy
- --no-permissions: không hiển thị trường quyền hạn
- -o, --octal-permissions: hiển thị quyền của từng tệp ở dạng bát phân
- --no-filesize: không hiển thị trường kích thước tệp
- --no-user: không hiển thị trường người dùng
- --no-time: không hiển thị trường thời gian
- --stdin: đọc tên tệp từ stdin
Cách đóng góp cho eza
- Để đóng góp cho eza, trước tiên cần tuân theo bộ quy tắc ứng xử
- Sau khi hiểu bộ quy tắc ứng xử, có thể tham khảo CONTRIBUTING.md để biết thông tin về việc tham gia phát triển thực tế
Tóm tắt của GN⁺
- eza là lựa chọn thay thế hiện đại cho
ls, cung cấp nhiều tính năng hơn và giao diện thân thiện hơn với người dùng
- Bao gồm các tính năng hữu ích như nhiều tùy chọn màu sắc và hiển thị trạng thái Git
- Có thể dùng trên Windows, macOS và Linux, đồng thời cách cài đặt cũng đơn giản
- Tương tự
ls nhưng cung cấp nhiều tùy chọn hơn để thực hiện công việc liệt kê tệp hiệu quả hơn
- Một công cụ cung cấp tính năng tương tự là
exa
1 bình luận
Ý kiến trên Hacker News
"ngày tháng dễ đọc cho con người" gây bất tiện. Muốn xem ngày và giờ trong danh sách thư mục
Cũng có
lsd, nhưng vẫn thíchezahơnbat-catcó tô sáng cú phápdifftastic-difftốt hơngdu- trình phân tích dung lượng đĩa cho SSDzoxide-cdhiện đạifd- thay thếfindrg-ripgrep(grep)fzf- trình tìm kiếm mờjless- trình xem JSON có chức năng gập bằng chuộtdra- tải xuống và cài đặt release assetlazygit- Git TUIlazydocker- Docker TUIyazi- trình quản lý tệp có xem trước hình ảnhzellij-tmux/screentốt hơnstarship- cấu hình prompt đa shellGNU
lsvẫn đang được duy trìSau khi chuyển sang fish shell, mức dùng
lsgiảm 100%Có vấn đề với các công cụ terminal dùng màu để phân biệt loại tệp
lshoặc các bản thay thếlsls -AFClà đủThắc mắc vì sao các phiên bản mới của tiện ích GNU lại được build theo giấy phép MIT
Thấy lạ khi README không nhắc
ezalà một fork củaexaTrên bàn phím qwerty, gõ
ezakhá bất tiệnlslà tổ hợp phím rất nhanhTính năng chính của
eza/exakhông phải màu sắc đẹp mà là tích hợp gitHầu như không ai dùng
lslskhông còn được duy trì