Как стать автором
Обновить

Комментарии 22

Алиасы хороши, но потом вспоминать из замучаешься. Каждый раз в bashrc лазаю посмотреть. Первый пример:


ls --human-readable --size -1 -S --classify

На самом деле можно сократить:


ls -h -s -1 -S -F

Немногим больше, чем ваш алиас, но запомнить проще. Не нужно намеренно раздувать команды ради примера.

Вы хотели сказать `ls -hs1SF`?

Именно это я и хотел сказать.

Можно создать алиас для вывода списка созданных алиасов.

alias без параметров как раз это и делает

Я обычно юзаю 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 другим людям (что не всегда приемлемо)

все эти три пункта тоже решаемы, но это уже оверинженеринг и переусложнение

Вы безусловно правы. Мое решение не универсально и его скорее надо рассматривать как proof of concept.

Алиасы крутая штука, часто генерирую пароли с помощью 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'

Я с баша пересел на Oh My Zsh, c блекджеком и уже написанными алиасами в плагинах

Простите, но

Использование одного такого алиаса позволит на избавиться от целой строки команд.

Извините.

Один из удобнейших alias, которые встречаются во многих дистрибутивах из коробки - ll (ls -alF).

Что у вас за версия 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",1,3; }' | column -t | egrep ^/dev/ | sort

Не алиас, но сокращение, которое я сделал для себя и пользуюсь постоянно - "mkcd", последовательное выполнение mkdir -p и потом cd

Зарегистрируйтесь на Хабре, чтобы оставить комментарий