112 lines
5.5 KiB
Bash
112 lines
5.5 KiB
Bash
|
|
# the debian package is missing the zsh completitons
|
|
# sudo apt install eza
|
|
|
|
DEST=${1:-/etc/skel}
|
|
|
|
KEY_DIR=/etc/apt/trusted.gpg.d
|
|
sudo mkdir -p ${KEY_DIR}
|
|
|
|
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o ${KEY_DIR}/gierens.gpg
|
|
|
|
cat <<-EOF | sudo tee /etc/apt/sources.list-available/gierens.list
|
|
deb [signed-by=${KEY_DIR}/gierens.gpg] http://deb.gierens.de stable main
|
|
EOF
|
|
|
|
sudo ln -sf /etc/apt/sources.list-available/gierens.list /etc/apt/sources.list.d/gierens.list
|
|
|
|
sudo chmod 644 ${KEY_DIR}/gierens.gpg /etc/apt/sources.list.d/gierens.list
|
|
sudo apt update
|
|
sudo apt install -y eza
|
|
|
|
|
|
# conflicts with lsd
|
|
#ALIAS_FILE="${DEST}/${ALIAS_DIR}/003_eza.sh"
|
|
#cat > "${ALIAS_FILE}" <<-'EOF'
|
|
# if [ -x /usr/bin/lsd ]; then
|
|
# alias lsd="/usr/bin/eza"
|
|
# # alias 'ls'="eza"
|
|
# alias 'll'="eza -a"
|
|
# alias 'lt'="eza --tree"
|
|
# fi
|
|
#EOF
|
|
|
|
#Usage:
|
|
# eza [options] [files...]
|
|
#
|
|
#META OPTIONS
|
|
# --help show list of command-line options
|
|
# -v, --version show version of eza
|
|
#
|
|
#DISPLAY OPTIONS
|
|
# -1, --oneline display one entry per line
|
|
# -l, --long display extended file metadata as a table
|
|
# -G, --grid display entries as a grid (default)
|
|
# -x, --across sort the grid across, rather than downwards
|
|
# -R, --recurse recurse into directories
|
|
# -T, --tree recurse into directories as a tree
|
|
# -X, --dereference dereference symbolic links when displaying information
|
|
# -F, --classify=WHEN display type indicator by file names (always, auto, never)
|
|
# --colo[u]r=WHEN when to use terminal colours (always, auto, never)
|
|
# --colo[u]r-scale highlight levels of 'field' distinctly(all, age, size)
|
|
# --colo[u]r-scale-mode use gradient or fixed colors in --color-scale (fixed, gradient)
|
|
# --icons=WHEN when to display icons (always, auto, never)
|
|
# --no-quotes don't quote file names with spaces
|
|
# --hyperlink display entries as hyperlinks
|
|
# --absolute display entries with their absolute path (on, follow, off)
|
|
# -w, --width COLS set screen width in columns
|
|
#
|
|
#
|
|
#FILTERING AND SORTING OPTIONS
|
|
# -a, --all show hidden and 'dot' files. Use this twice to also
|
|
# show the '.' and '..' directories
|
|
# -A, --almost-all equivalent to --all; included for compatibility with `ls -A`
|
|
# -d, --list-dirs list directories as files; don't list their contents
|
|
# -L, --level DEPTH limit the depth of recursion
|
|
# -r, --reverse reverse the sort order
|
|
# -s, --sort SORT_FIELD which field to sort by
|
|
# --group-directories-first list directories before other files
|
|
# -D, --only-dirs list only directories
|
|
# -f, --only-files list only files
|
|
# -I, --ignore-glob GLOBS glob patterns (pipe-separated) of files to ignore
|
|
# --git-ignore ignore files mentioned in '.gitignore'
|
|
# Valid sort fields: name, Name, extension, Extension, size, type,
|
|
# modified, accessed, created, inode, and none.
|
|
# date, time, old, and new all refer to modified.
|
|
#
|
|
#LONG VIEW OPTIONS
|
|
# -b, --binary list file sizes with binary prefixes
|
|
# -B, --bytes list file sizes in bytes, without any prefixes
|
|
# -g, --group list each file's group
|
|
# --smart-group only show group if it has a different name from owner
|
|
# -h, --header add a header row to each column
|
|
# -H, --links list each file's number of hard links
|
|
# -i, --inode list each file's inode number
|
|
# -m, --modified use the modified timestamp field
|
|
# -M, --mounts show mount details (Linux and Mac only)
|
|
# -n, --numeric list numeric user and group IDs
|
|
# -O, --flags list file flags (Mac, BSD, and Windows only)
|
|
# -S, --blocksize show size of allocated file system blocks
|
|
# -t, --time FIELD which timestamp field to list (modified, accessed, created)
|
|
# -u, --accessed use the accessed timestamp field
|
|
# -U, --created use the created timestamp field
|
|
# --changed use the changed timestamp field
|
|
# --time-style how to format timestamps (default, iso, long-iso,
|
|
# full-iso, relative, or a custom style '+<FORMAT>'
|
|
# like '+%Y-%m-%d %H:%M')
|
|
# --total-size show the size of a directory as the size of all
|
|
# files and directories inside (unix only)
|
|
# --no-permissions suppress the permissions field
|
|
# -o, --octal-permissions list each file's permission in octal format
|
|
# --no-filesize suppress the filesize field
|
|
# --no-user suppress the user field
|
|
# --no-time suppress the time field
|
|
# --stdin read file names from stdin, one per line or other separator
|
|
# specified in environment
|
|
# --git list each file's Git status, if tracked or ignored
|
|
# --no-git suppress Git status (always overrides --git,
|
|
# --git-repos, --git-repos-no-status)
|
|
# --git-repos list root of git-tree status
|
|
# -@, --extended list each file's extended attributes and sizes
|
|
# -Z, --context list each file's security context
|