Comments 22
Алиасы хороши, но потом вспоминать из замучаешься. Каждый раз в bashrc лазаю посмотреть. Первый пример:
ls --human-readable --size -1 -S --classify
На самом деле можно сократить:
ls -h -s -1 -S -F
Немногим больше, чем ваш алиас, но запомнить проще. Не нужно намеренно раздувать команды ради примера.
Вы хотели сказать `ls -hs1SF`?
Можно создать алиас для вывода списка созданных алиасов.
Я обычно юзаю ls -lhrt --sort size , непонятно зачем всякие classify, если сортировка прямая, всё самое большое далеко вверху окажется. -t тут лишнее, но просто удобнее помнить, чтобы без sort была сортировка по времени
А чем Вам `ls -hs1SF` не понравился?
главный недостаток использования алиасов - к ним привыкаешь
вот привык ты писать msp
вместо длинной конструкции с awk, grep, sed и прочим, полез на сервер а там этого нет, и тратишь драгоценные секунды на попытки вспомнить что у тебя дома в bashrc/zsfrc под этим алиасом (я на всякий случай синхроню свой zshrc на телефон и уже пару раз подглядывал)
второй недостаток - пересечения
придумал ты алиас lsd
а потом оказалось что есть такая утилита и когда она тебе понадобится сразу и не сообразишь почему не работает
это конечно мелочи и мучают они только невнимательных, но это не значит что о них стоит забывать
в статье я бы ещё упомянул что в отличии от bash в zsh (и вроде бы у fish но не уверен) у алиасов есть прекрасная фича: alias -s exe=wine
которая может применяться в разных кейсах упрощения жизни (например можно нарисовать alias -s pdf=okular
и по быстрому открывать pdf)
Чтобы при использовании ssh на удаленном сервере были те же алиасы, что и на локальном, можно использовать подход из вот этой статьи: https://habr.com/ru/articles/529544/
даааа нооооо...
1) многие юзают не bash а zsh/tcsh/fish/etc
2) многие юзают ohmybash/ohmyzsh/oрmyfish/starship/etc
3) копирование bashrc на сервер де факто = показывание своего bashrc другим людям (что не всегда приемлемо)
все эти три пункта тоже решаемы, но это уже оверинженеринг и переусложнение
Алиасы крутая штука, часто генерирую пароли с помощью alias pass="openssl rand -hex 10"
Я ещё использую алиасы для работы с менеджерами пакетов. В случае с pacman например: update='sudo pacman -Syu' pacu='sudo pacman -S' remove='sudo pacman -Rs' и.т.д.
Когда в руках молоток bash, все кругом похоже на гвозди aliasы :)
А для оценки размеров файлов удобнее ncdu.
alias lsblk='lsblk -o size,NAME,LABEL,MOUNTPOINT,FSTYPE,FSAVAIL,FSUSE%,OWNER,GROUP,MODE,UUID'
alias watch_blk=' watch -n1 lsblk -o size,NAME,LABEL,MOUNTPOINT,FSTYPE,FSAVAIL,FSUSE%,OWNER,GROUP,MODE,UUID'
Простите, но
Использование одного такого алиаса позволит на избавиться от целой строки команд.
Извините.
Один из удобнейших alias, которые встречаются во многих дистрибутивах из коробки - ll (ls -alF).
sudo docker
не надо так. надо так:
sudo usermod -aG docker $USER
Что у вас за версия bash?
Это не работает:alias mnt="mount | awk -F' ' '{ printf "%s\t%s\n",$1,$3; }' | column -t | egrep ^/dev/ | sort"
А вот это очень даже:mount | awk '{ print "%s\t%s\n",3; }' | column -t | egrep ^/dev/ | sort
Не алиас, но сокращение, которое я сделал для себя и пользуюсь постоянно - "mkcd", последовательное выполнение mkdir -p и потом cd
Полезные алиасы в Bash