3 poin oleh GN⁺ 2024-07-23 | 1 komentar | Bagikan ke WhatsApp

eza

Tentang eza

  • eza adalah pengganti modern untuk perintah daftar file ls yang tersedia secara bawaan di sistem operasi Unix dan Linux
  • Menggunakan warna untuk membedakan jenis file dan metadata
  • Mengenali symbolic link, extended attributes, dan Git
  • Kecil, cepat, dan disediakan sebagai biner tunggal
  • Bertujuan menjadi pengganti ls yang ramah pengguna dan kaya fitur

Fitur utama eza

  • Memperbaiki "bug grid" yang muncul di exa 2021
  • Dukungan hyperlink
  • Menyediakan detail mount point
  • Menampilkan konteks Selinux
  • Menampilkan status repositori Git
  • Menampilkan tanggal relatif yang mudah dibaca manusia
  • Berbagai perbaikan keamanan
  • Dukungan warna terminal terang
  • Beragam perbaikan bug kecil dan perubahan lainnya

Cara instalasi

  • eza tersedia di Windows, macOS, dan Linux
  • Petunjuk instalasi untuk tiap platform dan distribusi dapat dilihat di INSTALL.md

Opsi baris perintah

Opsi tampilan

  • -1, --oneline: menampilkan satu item per baris
  • -G, --grid: menampilkan item dalam bentuk grid (default)
  • -l, --long: menampilkan detail dan atribut yang diperluas
  • -R, --recurse: menelusuri direktori secara rekursif
  • -T, --tree: menelusuri direktori secara rekursif dalam bentuk tree
  • -x, --across: menyusun grid secara horizontal
  • -F, --classify=(when): menampilkan jenis pada nama file (always, auto, never)
  • --colo[u]r=(when): mengatur kapan warna terminal digunakan (always, auto, never)
  • --colo[u]r-scale=(field): menyorot dengan membedakan level dari field (all, age, size)
  • --color-scale-mode=(mode): menggunakan warna tetap atau gradasi di --color-scale (fixed, gradient)
  • --icons=(when): mengatur kapan ikon ditampilkan (always, auto, never)
  • --hyperlink: menampilkan item sebagai hyperlink
  • --absolute=(mode): menampilkan item dengan path absolut (on, follow, off)
  • -w, --width=(columns): mengatur lebar layar dalam satuan kolom

Opsi pemfilteran

  • -a, --all: menampilkan file tersembunyi dan file bertitik
  • -d, --list-dirs: menampilkan direktori seperti file biasa
  • -L, --level=(depth): membatasi kedalaman rekursi
  • -r, --reverse: membalik urutan sortir
  • -s, --sort=(field): mengatur field untuk sortir
  • --group-directories-first: menampilkan direktori lebih dulu daripada file lain
  • -D, --only-dirs: hanya menampilkan direktori
  • -f, --only-files: hanya menampilkan file
  • --no-symlinks: tidak menampilkan symbolic link
  • --show-symlinks: menampilkan symbolic link secara eksplisit
  • --git-ignore: mengabaikan file yang disebut di .gitignore
  • -I, --ignore-glob=(globs): mengatur pola glob file yang akan diabaikan

Opsi tampilan panjang

  • -b, --binary: menampilkan ukuran file dengan prefiks biner
  • -B, --bytes: menampilkan ukuran file dalam byte
  • -g, --group: menampilkan grup setiap file
  • -h, --header: menambahkan baris header pada tiap kolom
  • -H, --links: menampilkan jumlah hard link tiap file
  • -i, --inode: menampilkan nomor inode tiap file
  • -m, --modified: menggunakan field timestamp modifikasi
  • -M, --mounts: menampilkan detail mount (khusus Linux dan macOS)
  • -S, --blocksize: menampilkan ukuran blok file system yang dialokasikan
  • -t, --time=(field): mengatur field timestamp yang digunakan
  • -u, --accessed: menggunakan field timestamp akses
  • -U, --created: menggunakan field timestamp pembuatan
  • -X, --dereference: menghapus referensi symbolic link untuk informasi file
  • -Z, --context: menampilkan konteks keamanan tiap file
  • -@, --extended: menampilkan extended attributes dan ukuran tiap file
  • --changed: menggunakan field timestamp perubahan
  • --git: menampilkan status Git tiap file
  • --git-repos: menampilkan status Git tiap direktori
  • --git-repos-no-status: hanya menampilkan apakah direktori merupakan repositori Git (lebih cepat)
  • --no-git: tidak menampilkan status Git
  • --time-style: mengatur format timestamp
  • --total-size: menampilkan ukuran direktori rekursif
  • --no-permissions: tidak menampilkan field izin
  • -o, --octal-permissions: menampilkan izin tiap file dalam format oktal
  • --no-filesize: tidak menampilkan field ukuran file
  • --no-user: tidak menampilkan field pengguna
  • --no-time: tidak menampilkan field waktu
  • --stdin: membaca nama file dari stdin

Cara berkontribusi ke eza

  • Untuk berkontribusi ke eza, pertama-tama harus mengikuti code of conduct
  • Setelah memahami code of conduct, lihat CONTRIBUTING.md untuk mendapatkan informasi tentang hacking yang sebenarnya

Ringkasan GN⁺

  • eza adalah pengganti modern untuk ls, yang menawarkan lebih banyak fitur dan antarmuka yang lebih ramah pengguna
  • Mencakup fitur berguna seperti berbagai opsi warna dan tampilan status Git
  • Tersedia di Windows, macOS, dan Linux, serta mudah dipasang
  • Mirip dengan ls tetapi menyediakan lebih banyak opsi untuk membuat pekerjaan daftar file lebih efisien
  • Alat lain dengan fungsi serupa adalah exa

1 komentar

 
GN⁺ 2024-07-23
Komentar Hacker News
  • "tanggal yang mudah dibaca manusia" terasa merepotkan. Ingin melihat tanggal dan waktu di daftar direktori

    • Misalnya, ingin menampilkan waktu yang tepat alih-alih "1 hari yang lalu"
    • Mungkin ini akibat dari scroll tak terbatas
  • Ada juga lsd, tetapi lebih memilih eza

    • Rekomendasi alat baris perintah modern
      • bat - cat dengan fitur highlight
      • difftastic - diff yang lebih baik
      • gdu - penganalisis ruang disk untuk SSD
      • zoxide - cd modern
      • fd - pengganti find
      • rg - ripgrep (grep)
      • fzf - pencari fuzzy
      • jless - penampil JSON dengan fitur folding memakai mouse
      • dra - unduh dan pasang aset rilis
      • lazygit - Git TUI
      • lazydocker - Docker TUI
      • yazi - pengelola berkas dengan pratinjau gambar
      • zellij - tmux / screen yang lebih baik
      • starship - konfigurasi prompt lintas shell
  • GNU ls masih dirawat

    • Ada commit terbaru (2024-06-24, 2024-06-27)
    • Mailing list GNU Coreutils juga aktif
  • Setelah beralih ke fish shell, penggunaan ls berkurang 100%

    • Menampilkan isi direktori dengan perintah Alt + l
    • Hasil riwayat shell lebih bersih
  • Ada masalah dengan alat terminal yang membedakan jenis berkas memakai warna

    • Menggunakan latar belakang terminal yang nyaman di mata
    • Skema warna bertabrakan dengan latar belakang atau sulit dilihat
    • Tidak menginginkan warna pada output ls atau pengganti ls
    • Output ls -AFC sudah cukup
  • Penasaran mengapa versi baru utilitas GNU dibangun dengan lisensi MIT

  • Menganggap aneh bahwa README tidak menyebut eza sebagai fork dari exa

  • Mengetik eza terasa tidak nyaman di keyboard qwerty

    • ls adalah kombinasi tombol yang cepat
    • Bisa memakai alias, tetapi terasa aneh karena masalah kompatibilitas dan sebagainya
  • Fitur utama eza/exa bukan warna yang cantik, melainkan integrasi git

    • Bisa melihat status git tiap berkas di daftar berkas (diabaikan, dimodifikasi, dan sebagainya)
  • Hampir tidak ada yang memakai ls

    • Mendaftar berkas yang dibutuhkan dengan tab completion
    • Penasaran mengapa ada yang mengklaim ls tidak lagi dirawat