В Linux можно создавать синонимы для других команд. Рассмотрим, как это сделать.
Синонимы для команд (или псевдонимы, или алиасы) — это команда, состоящая из одного слова, но выполняющая другую заданную команду. Это удобно, например, когда нужно часто выполнять длинную команду или команду с различными ключами. Вместо ввода длинной команды достаточно выполнить одну команду-синоним.
Создание синонимов (команда alias)
В командной оболочке Bash для создания синонимов используется команда alias.
Синтаксис команды alias
Чтобы создать синоним нужно указать команду-синоним и в кавычках указать команду, которая должна выполняться:
alias синоним=»команда«
синоним — короткая команда (алиас), которая будет использоваться для запуска команды.
команда — команда, которая будет запускаться при вызове синонима. Записывается в двойных или одинарных кавычках.
Примеры создания синонимов
Вывод списка файлов:
alias ll="ls -la"
То есть, вместо выполнения ls -la теперь достаточно выполнить команду ll:
> ll Documents/
итого 16480
drwxr-xr-x 3 yuriy yuriy 4096 дек 7 17:46 .
drwxr-xr-x 45 yuriy yuriy 4096 янв 4 13:23 ..
-rw-rw-r-- 1 yuriy yuriy 155 июл 25 16:12 code.md
drwxrwxr-x 2 yuriy yuriy 4096 июл 27 14:48 data
..
-rw-r--r-- 1 yuriy yuriy 11116 июл 24 22:01 Pingvinus.docx
-rw-rw-r-- 1 yuriy yuriy 251 июл 25 16:31 pingvinus.md
Создадим команду для быстрого перехода в заданную директорию:
alias cdwork=”cd /home/pingvinus/Documents/data”
Пример выполнения:
yuriy@pingvinus:~$ cdwork
yuriy@pingvinus:~/Documents/data$
Подключение по ssh к определенному серверу:
alias serv="ssh -p 1234 pingvinus@192.168.0.123"
Сохранение синонимов
Когда вы создаете синоним с помощью команды alias, то он функционирует только в текущей сессии, пока открыто окно терминала. Чтобы сохранить синонимы на постоянной основе, нужно прописать выполнение команд alias в файл .bashrc.
Запустите терминал и откройте файл .bashrc для редактирования, выполнив команду:
nano ~/.bashrc
Перейдите в конец файла и введите команды для создания синонимов, по одному на каждой строчке, например:
alias ll="ls -la"
alias cdwork="cd /home/pingvinus/Documents/data"
alias serv="ssh -P 1234 pingvinus@192.168.0.123"
Сохраните изменения и закройте файл. Для этого нажмите Ctrl+X, откроется запрос на сохранение изменений в файле — нажмите y и затем Enter.
Чтобы изменения вступили в силу, можно выйти и снова войти в систему или выполните команду:
source ~/.bashrc
Просмотр списка синонимов
Чтобы просмотреть список всех активных в данный момент синонимов используется команда:
alias -p
Во многих дистрибутивах несколько синонимов уже может быть создано в системе. Например у меня результат следующий:
> alias -p
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '''s/^s*[0-9]+s*//;s/[;&|]s*alert$//''')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
Удаление синонимов
Чтобы удалить синоним используется команда unalias. Удаление происходит только в текущей сессии терминала.
Удаление синонима по заданному имени:
unalias имя_синонима
Удаление всех синонимов:
unalias -a
Несколько примеров синонимов
Очистка окна терминала:
alias c="clear"
Вывод подробного списка файлов:
alias ll="ls -la"
Вывод списка скрытых файлов:
alias l.="ls -d .* --color=auto"
Поиск по истории команд (запускается, например, так hs ssh):
alias hs="history | grep"
Показать список открытых портов:
alias ports="netstat -tulanp"
Выполнять ping только 5 раз, а не бесконечно:
alias ping5="ping -c 5"
Узнать свой внешний IP-адрес:
alias ipe="curl ipinfo.io/ip"
Создание синонимов, используя Bash-функции (синонимы с аргументами)
Командная оболочка Bash позволяет создавать функции, которые могут выполнять одну или несколько команд. Они относятся к программированию в Bash, но их иногда можно использовать и для создания синонимов. Такие функции могут принимать аргументы в командой строке, в отличии от синонимов, создаваемых командой alias.
Синтаксис функций в Bash
имя_функции () {
команда1
команда2
…
}
Или:
function имя_функции {
команда1
команда2
…
}
Данный код создает функцию, которая выполняет команды. Команда может быть одна или несколько. Чтобы выполнить функцию достаточно ввести в командной строке ее название. Через пробел можно передавать аргументы.
имя_функции аргумент1 аргумент2
Чтобы внутри функции обратиться к аргументам, используются сокращения $1, $2 и т.д. $1 соответсвует первому аргументу, $2 второму и т.д. $0 соответсвует имени функции.
Примеры создания функций
Функции можно создавать прямо в текущей сессии терминала, но лучше прописать их в файле .bashrc.
Создадим функцию которая принимает имя директории, создает данную директорию и переходит в нее:
mkcd ()
{
mkdir -p -- "$1" && cd -P -- "$1"
}
Теперь, вместо того, чтобы выполнять mkdir для создания директории, а затем cd, чтобы перейти в нее, достаточно выполнить:
mkcd mynewdir
У вас может возникнуть вопрос, что означают символы — и && внутри нашей функции?
- — — используется, чтобы указать, конец опций команды. То есть все, что будет записываться после — это уже аргументы и они не будут интерпретироваться, как опции для данной команды. В нашем примере мы можем попробовать создать директорию имя которой начинается с символа —, и если бы мы не использовали —, то команда mkdir подумала бы, что мы пытаемся передать ей не имя директории а опцию.
- && — логическое И — сначала выполняется команда, стоящая слева от && и только если она выполнена успешно, запускается команда, стоящая справа от &&.
Заключение
Синонимы команд в Linux очень удобный инструмент, упрощающий работу с системой. В данной статье мы рассмотрели создание синонимов командой alias, а также использование функций Bash для создания синонимов.
Не смотря на удобство использования синонимов, сильно увлекаться ими не стоит. Не нужно создавать тонну алиасов на все случаи жизни. Это может привести к путанице и банальному незнанию полных команд, когда пересаживаешься за другой компьютер.
Также нужно быть крайне аккуратным при создании синонимов, которые имеют такое же имя, как и сама команда, которую они выполняют. Переписывая таким образом поведение команды, выполнение синонима, вместо команды, иногда может приводить к неочевидным результатам.
Время на прочтение
5 мин
Количество просмотров 13K
Закон Парето применим ко многим сферам, в том числе и к работе с терминалом Linux, ведь всего нескольких десятков команд позволит легко справляться с большинством задач. Мы выбрали 40 наиболее полезных команд, использование которых способно сильно облегчить жизнь при работе с Linux. Статья не претендует на статус истины в последней инстанции или максимально подробного руководства, а очередность команд обусловлена лишь алфавитным порядком.
Джентльменский набор команд Linux Часть 1:
- alias
- cat
- cd
- chmod
- chown
- curl
- df
1. alias
Команда alias создает «ярлык» другой команды или последовательности команд Linux.
Синтаксис команды alias:
alias имя="значение"
alias имя="команда аргумент"
alias имя="/путь/к/файлу"
alias позволяет:
- Быстрее вводить команды.
-
Исправлять частые опечатки.
Довольно распространенная ситуация, когда вместо команды ls вводится sl. В результате пользователь получает сообщение об ошибке:
С помощью команды alias можно исправить данную проблему:
$ alias sl=ls
$ sl
./ ../ alias.txt
Использования команды alias для последовательности команд:
alias pf="ps -e | grep $1"
В данном алиасе команда ps используется для вывода списка запущенных процессов, в котором grep ищет процессы, соответствующие параметру $1.
Стоит отметить, что команда alias по умолчанию работает лишь для текущей сессии командной строки. Т.е. если разлогиниться или открыть другой терминал, то созданные алиасы перестанут работать. Чтобы сделать их постоянными необходимо включить их в свой локальный файл домашней директории ~/.bashrc (в случае использования bash в качестве командной оболочки).
$ ls
alias.txt
$ echo 'alias ls="ls -l"' >> ~/.bashrc
$ . ~/.bashrc
$ ls
total 0
-rw-rw-r-- 1 lubos lubos 0 Jan 15 18:27 alias.txt
2. cat
Команда cat выводит содержание файлов в окне терминала.
cat позволяет:
- Посмотреть содержание небольших файлов, что быстрее, чем в редакторе.
- Исключить ошибки случайного изменения файла при просмотре.
- Склеить несколько файлов.
Синтаксис команды cat:
cat опции файл1 файл2
Чтобы посмотреть содержимое файла .bash_log_out через терминал нужно ввести:
cat .bash_logout
Чтобы склеить несколько файлов с помощью команды cat нужно просто указать названия файлов в аргументах, а результаты записать в новый файл. Например:
cat file1 file2 > file3
Основные опции cat:
- -b — нумеровать только строки с содержимым;
- -E — выводить $ в конец каждой строки;
- -n — нумеровать все строки;
- -s – удалять повторы пустых строк;
- -T — выводить табуляции в виде ^I.
3. cd
cd изменяет текущий каталог, переводя в другое место файловой системы.
Синтаксис команды cd:
cd опции папка_назначения
Чтобы перейти в подкаталог домашней папки нужно просто указать после команды название директории (img для примера):
cd img
Если нужно попасть в другой каталог нужно указать путь:
cd /usr/local/bin
Чтобы быстро попасть в домашний каталог нужно указать вместо имени ~ (tilde):
cd ~
Вернуться в предыдущую папку:
cd –
Перейти в родительский каталог:
cd ..
Перемещение в родительский каталог текущего родительского каталога
cd ../../
4. chmod
Команда chmod устанавливает права доступа к файлу или каталогу.
chmod позволяет:
- Разделить привилегии между пользователями.
- Ограничить доступ к нежелательным файлам и папкам.
- Контролировать доступные сервисам действия и прочее.
Синтаксис команды chmod:
chmod опции права /путь/к/файлу
Если вывести список папок и файлов командой ls с параметром –l, то можно увидеть нечто подобное:
-rwxrwxrwx
Первый символ означает:
- «-» — является файлом;
- «d» — является каталогом.
Остальная часть строки в 9 символов разбивается на три группы по 3 символа в каждой:
- Первые 3 символа – права доступа к файлам владельца (-rwx——).
- Вторые 3 символа – права доступа к файлам группы (—-rwx—).
- Последние 3 символа – разрешения для других (——-rwx).
Обозначения символов:
- r – Чтение.
- w – Запись.
- x – Выполнение.
Если какой-то из символов отсутствует и вместо него указан «-», тогда нет доступа к данному действию.
Также задать права доступа можно с помощью цифр:
- 0 – нет прав (-);
- 1 – только выполнение (—x);
- 2 – только запись (-w-);
- 3 – запись и выполнение (w-x);
- 4 – только чтение (r—);
- 5 – чтение и выполнение (r-x);
- 6 – чтение и запись (rw-);
- 7 – чтение, запись и выполнение (rwx).
Например, у файла «ex.txt» указаны все права:
-rwxrwxrwx
Нужно изменить их на:
- Пользователь – все права (7 или rwx).
- Группа – чтение и запись (6 или rw-).
- Другим – чтение и выполнение (5 или r-x).
Тогда вводим следующую команду:
chmod 765 ex.txt
5. chown
Команда chown (change owner) позволяет менять владельца и группу владельца:
- Файлов.
- Каталогов.
- Ссылок.
Синтаксис команды chown:
chown пользователь опции /путь/к/файлу
Если в поле пользователя указать группу через двоеточие (пользователь: группа), тогда изменится еще и группа.
Основные опции команды chown:
- -c — детальный вывод всех выполняемых изменений;
- -f — минимум информации (убирает ошибки из выдачи);
- -h — изменять права символических ссылок, а файлы к которым они ведут не трогать;
- -R — рекурсивная обработка всех подкаталогов;
- -L — переходить по всем символическим ссылкам на директории.
Изменить владельца папки ex1 на user:
chown user ./ex1
Изменить на владельца user и группу users:
chown user:users ./ex1
Чтобы изменения применялись не только к данному каталогу, но и всем подкаталогам внутри, необходимо добавить опцию -R:
chown -R user:users ./ex1
6. curl
Утилита curl извлекает информацию и файлы с url-страниц.
Будет полезна тем, кто часто загружает:
- Скрипты.
- Исполняемые файлы программ.
- Архивы.
С помощью команды curl это можно делать не через браузер, а прямо из терминала, что дает возможность автоматизировать процесс.
На самом деле curl является не просто утилитой, а целым набором библиотек, способными реализовать все основные возможности по работе c передачей файлов и url-страницами.
Curl поддерживает работу с протоколами:
- FTP
- FTPS
- HTTP
- HTTPS
- TFTP
- SCP
- SFTP
- Telnet
- DICT
- LDAP
- POP3
- IMAP
- SMTP
Синтаксис утилиты:
curl опции ссылка
Загрузка файлов с помощью curl
Самая распространенная задача для утилиты curl – это загрузка файлов. Чтобы скачать файл достаточно передать утилите имя файла или адрес страницы, например:
curl https://raw.githubusercontent.com/torvalds/linux/master/ README.md
Таким образом содержимое файла будет отправлено на стандартный вывод. Для записи его в файл (для примера ex.txt) нужно ввести:
curl -o readme.txt https://raw.githubusercontent.com/torvalds/linux/master/ README.md
Чтобы скачанный файл назывался так же, как и на сервере необходимо использовать опцию -O:
curl –O https://raw.githubusercontent.com/torvalds/linux/master/ README.md
Стоит отметить, что не во всех дистрибутивах Linux утилита предустановлена по умолчанию.
7. df
Команда df позволяет выводить:
- Список подключенных устройств
- Информацию о занятом месте
- Точку монтирования
Синтаксис команды df:
df опции устройство
Основные опции df:
- -h — выводить размеры в читаемом виде Мбайтах или Гбайтах;
- -x – исключить из вывода указанные файловые системы.
Например, необходимо получить информацию в читаемом виде для раздела /dev/sdb7, тогда вводим:
df -h /dev/sdb7
Чтобы игнорировать псевдо-файловые системы squashfs, создаваемые при установке приложения с помощью команды snap, вводим:
df -x squashfs
Лучший способ освоить новые команды – больше практиковаться, а лучше всего это делать на серверах компании AlexHost, где:
- Оперативная поддержка 24/7 круглый год
- Собственные дата-центры
- Полная анонимность
- Качественный VPS всего от 70 рублей в месяц
Alias Linux — это, по сути, ярлыки команд Linux. Команда alias позволяет пользователю запускать любую команду или даже группу команд, в том числе с опциями, параметрами и файлами, вводом одного слова или даже символа. Это очень удобно во многих ситуациях, например чтобы не вводить полностью команду при обновлении или же очень быстро перемещаться по каталогам.
В этой инструкции будет рассмотрена команда alias linux, а также полезные алиасы, которые без сомнения must have в каждой системе.
Чтобы посмотреть какие псевдонимы linux команд уже заданны в вашей системе просто выполните:
alias
В выводе вы увидите что-то подобное:
Команда покажет все alias команд linux определенные для текущего пользователя. Вывод очень сильно зависит от вашего дистрибутива. Общий синтаксис команды выглядит следующим образом:
$ alias имя=«значение»
$ alias имя=«команда аргумент1 аргумент2»
$ alias имя=«/путь/к/исполняемому/файлу»
Вы можете создавать новые псевдонимы, просто выполняя эту команду в терминале. Но созданные таким образом алиасы linux будут работать только в этом терминале и только до его закрытия.
Давайте для примера создадим alias linux для такой часто используемой команды, как clear (очистить вывод терминала):
alias c='clear'
Теперь, чтобы очистить терминал достаточно выполнить:
с
Удалить созданный alias можно с помощью команды unalias:
unalias c
Но как я уже сказал, такие alias команд linux сохраняются только до закрытия терминала. Поэтому их необходимо создавать в начале каждой терминальной сессии. Для этого можно записать все нужные команды в ~/.bashrc. При запуске терминала, каждый раз выполняется этот скрипт, чтобы установить переменные окружения и подготовить оболочку. Таким образом добавив нужные строки в конец файла мы получим работающие alias linux в каждом терминале.
Продолжим создание alias для команды clear:
vi ~/.bashrc
Добавьте эту строку в конец файла:
alias c='clear'
Затем сохраните и закройте редактор (:wq). Чтобы проверить работоспособность запустите новый терминал. Если вы хотите чтобы ваши алиасы linux были доступны для всех пользователей, необходимо использовать файл /etc/bashrc.
Поскольку .bashrc, это обычный bash скрипт, перед нами открываются большие возможности. Например мы можем добавить alias команд с использованием sudo, если текущий пользователь не root:
if [ $UID -ne 0 ]; then
alias reboot='sudo reboot'
alias update='sudo apt-get upgrade'
fi
Ещё мы можем менять команды алиасов в зависимости от дистрибутива:
_myos="$(uname)"
case $_myos in
Linux) alias foo='/path/to/linux/bin/foo';;
FreeBSD|OpenBSD) alias foo='/path/to/bsd/bin/foo' ;;
SunOS) alias foo='/path/to/sunos/bin/foo' ;;
*) ;;
esac
Чтобы удалить alias достаточно просто удалить запись о нем, из того файла в который вы её добавили. Мы рассмотрели основы добавления alias linux, теперь давайте перейдем к списку полезных алиасов linux.
Полезные alias Linux
Вы можете добавить в своей системе любые или даже все эти алиасы linux чтобы повысить продуктивность своей работы в терминале.
1. Вывод ls
Цветной вывод:
alias ls='ls --color=auto'
Показывать скрытые файлы и представлять вывод в виде списка:
alias ll='ls -la'
Показать только скрытые файлы:
alias l.='ls -d .* --color=auto'
2. Перемещение по каталогам
Исправляем опечатку:
alias cd..='cd ..'
Быстрое перемещение от текущей директории:
alias ..='cd ..'
alias ...='cd ../../../'
alias ....='cd ../../../../'
alias .....='cd ../../../../'
alias .4='cd ../../../../'
alias .5='cd ../../../../..'
3. Вывод grep
Делаем вывод цветным:
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
4. Калькулятор
Запускать калькулятор с поддержкой стандартной библиотеки mathlib:
alias bc='bc -l'
5. Создание каталогов
Создавать дерево каталогов, если оно не существует:
alias mkdir='mkdir -pv'
6. Вывод diff
Делаем вывод diff цветным:
alias diff='colordiff'
7. Вывод mount
Сделаем вывод mount читаемым:
alias mount='mount | column -t'
8. История
Сократим команды для экономии времени:
alias h='history'
alias j='jobs -l'
9. Информация и дата
alias path='echo -e ${PATH//:/\n}'
alias now='date +"%T"'
alias nowtime=now
alias nowdate='date +"%d-%m-%Y"'
10. Редактор Vim
alias команд linux для использования редактора vim по умолчанию:
alias vi=vim
alias svi='sudo vi'
alias vis='vim "+set si"'
alias edit='vim'
11. Ping
Посылать только пять запросов:
alias ping='ping -c 5'
Интервал между запросами одна секунда:
alias fastping='ping -c 100 -s.2'
12. Открытые порты
alias ports='netstat -tulanp'
13. Wakeup
Будим серверы в режиме сна по mac адресу с помощью утилиты wakeonlan:
alias wakeupnas01='/usr/bin/wakeonlan 00:11:32:11:15:FC'
alias wakeupnas02='/usr/bin/wakeonlan 00:11:32:11:15:FD'
alias wakeupnas03='/usr/bin/wakeonlan 00:11:32:11:15:FE'
14. Управление iptables
alias iptlist='sudo /sbin/iptables -L -n -v --line-numbers'
alias iptlistin='sudo /sbin/iptables -L INPUT -n -v --line-numbers'
alias iptlistout='sudo /sbin/iptables -L OUTPUT -n -v --line-numbers'
alias iptlistfw='sudo /sbin/iptables -L FORWARD -n -v --line-numbers'
alias firewall=iptlist
15. Утилита curl
Получить заголовки сервера:
alias header='curl -I'
Проверять поддержку сжатия на сервере:
alias headerc='curl -I --compress'
16. Работа с файлами
Не удалять корень и предупреждать об удалении файлов:
alias rm='rm -I --preserve-root'
Предупреждения:
alias mv='mv -i'
alias cp='cp -i'
alias ln='ln -i'
Защита от изменения прав для /:
alias chown='chown --preserve-root'
alias chmod='chmod --preserve-root'
alias chgrp='chgrp --preserve-root'
17. Обновление Debian
Установка пакета:
alias apt="sudo apt"
alias updatey="sudo apt --yes"
Обновление одной командой:
alias update='sudo apt update && sudo apt upgrade'
18. Обновление RedHat
В семействе дистрибутивов Red Hat используется пакетный менеджер yum:
alias update='yum update'
alias updatey='yum -y update'
19. Стать суперпользователем
alias root='sudo -i'
alias su='sudo -i'
20. Выключение
Выполнять команды выключения через sudo:
alias reboot='sudo /sbin/reboot'
alias poweroff='sudo /sbin/poweroff'
alias halt='sudo /sbin/halt'
alias shutdown='sudo /sbin/shutdown'
21. Управление серверами
alias nginxreload='sudo /usr/bin/nginx -s reload'
alias nginxtest='sudo /usr/bin/nginx -t'
alias lightyload='sudo systemctl reload lighttpd'
alias lightytest='sudo /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf -t'
alias httpdreload='sudo /usr/sbin/apachectl -k graceful'
alias httpdtest='sudo /usr/sbin/apachectl -t && /usr/sbin/apachectl -t -D DUMP_VHOSTS'
22. Мультимедиа
Открыть видео в текущей директории:
alias playavi='mplayer *.avi'
alias vlc='vlc *.avi'
Добавить в плейлист музыку из текущей директории:
alias playwave='for i in *.wav; do mplayer "$i"; done'
alias playogg='for i in *.ogg; do mplayer "$i"; done'
alias playmp3='for i in *.mp3; do mplayer "$i"; done'
Открыть музыку из устройства nas:
alias nplaywave='for i in /nas/multimedia/wave/*.wav; do mplayer "$i"; done'
alias nplayogg='for i in /nas/multimedia/ogg/*.ogg; do mplayer "$i"; done'
alias nplaymp3='for i in /nas/multimedia/mp3/*.mp3; do mplayer "$i"; done'
22. Системное администрирование
Работать с интерфейсом eth1:
alias dnstop='dnstop -l 5 eth1'
alias vnstat='vnstat -i eth1'
alias iftop='iftop -i eth1'
alias tcpdump='tcpdump -i eth1'
alias ethtool='ethtool eth1'
Работать с интерфейсом wlan0 по умолчанию:
alias iwconfig='iwconfig wlan0'
23. Информация о системе
Использование памяти:
alias meminfo='free -m -l -t'
Показать процессы потребляющие больше всего памяти:
alias psmem='ps auxf | sort -nr -k 4'
alias psmem10='ps auxf | sort -nr -k 4 | head -10'
Показать процессы использующие процессор:
alias pscpu='ps auxf | sort -nr -k 3'
alias pscpu10='ps auxf | sort -nr -k 3 | head -10'
Информация о процессоре:
alias cpuinfo='lscpu'
Посмотреть память видеокарты:
alias gpumeminfo='grep -i --color memory /var/log/Xorg.0.log'
25. Утилита wget
Продолжать незавершенную загрузку по умолчанию:
alias wget='wget -c'
26. Браузеры
Сокращения:
alias ff='/usr/bin/firefox'
alias chrome='/usr/bin/google-chrome'
alias opera='/usr/bin/opera'
alias chromium='/usr/bin/chromium'
Браузер по умолчанию:
alias browser=chrome
27. Правильные единицы измерения
Правильное отображение данных для free, df и du:
alias df='df -H'
alias du='du -ch'
alias free='free -h'
Выводы
Если вы знаете другие полезные alias команд linux, то поделитесь ими с нами в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Introduction
Depending on the type of work you do on your Linux system, you may need to enter the same long and complicated commands frequently. The alias command lets you create shortcuts for these commands, making them easier to remember and use.
In this tutorial, we will show you how you can create, review, and remove command aliases in Linux.

Prerequisites
- A system running a Linux distribution
- An account with sudo privileges
- Access to the terminal window or command line
- A text editor, such as Vim or nano
What Is an Alias in Linux?
In Linux, an alias is a shortcut that references a command. An alias replaces a string that invokes a command in the Linux shell with another user-defined string.
Aliases are mostly used to replace long commands, improving efficiency and avoiding potential spelling errors. Aliases can also replace commands with additional options, making them easier to use.
Linux Alias Syntax
The alias command uses the following syntax:
alias [option] [name]='[value]'
The different elements of the alias command syntax are:
alias: Invokes thealiascommand.[option]: Allows the command to list all current aliases.[name]: Defines the new shortcut that references a command. A name is a user-defined string, excluding special characters and ‘alias’ and ‘unalias’, which cannot be used as names.[value]: Specifies the command the alias references. Commands can also include options, arguments, and variables. A value can also be a path to a script you want to execute.
Note: Enclosing the value in single quotation marks (‘) will not expand any variables used with the command. To expand the variables, use double quotation marks («).
Create Aliases in Linux
There are two types of aliases to create in Linux:
- Temporary. Add them using the
aliascommand. - Permanent. These require to edit system files.
Create a Temporary Alias in Linux
Use the alias command to create a temporary alias that lasts until the end of the current terminal session. For instance, creating c as an alias for the clear command:
alias c='clear'
Note: The alias command allows you to include multiple commands as the value by dividing them with the pipe symbol (|).
If you want to reference any additional command options when creating an alias, include them as a part of the value. For example, adding move as an alias for the mv command with the option of asking for confirmation before overwriting:
alias move='mv -i'
Another use for aliases is to create a shortcut for running scripts. To do this, provide the absolute path to the script as the value:
alias frename='Example/Test/file_rename.sh'
In this example, using frename as a command runs the file_rename.sh bash script.
Create a Permanent Alias in Linux
To make an alias permanent, you need to add it to your shell configuration file. Depending on the type of shell you are using, use:
- Bash shell: ~/.bashrc
- Zsh shell: ~/.zshrc
- Fish shell: ~/.config/fish/config.fish
Start by opening the shell configuration file in a text editor. In this example, we are using the Bash shell and nano text editor:
sudo nano ~/.bashrc
Scroll down until you find a section that lists default system aliases. For ease of use, create a separate section with a descriptive comment and add your aliases using the alias command syntax.
In our example:
#Custom aliases
alias c='clear'
alias move='mv -i'
alias frename='Example/Test/file_rename.sh'

Once you add all of the new alises, press Ctrl+X, type Y and press Enter to save the changes to the configuration file.
The new aliases automatically load in the next terminal session. If you want to use them in the current session, load the configuration file using the source command:
source ~/.bashrc
List All Aliases in Linux
Using the alias command on its own displays a list of all currently set aliases:
alias

Another method is to add the -p flag. This option displays the list in a format suitable for input to the shell:
alias -p
Remove Aliases in Linux
To remove an alias, use the unalias command with the following syntax:
unalias [name]
For instance, to remove the frename alias:
unalias frename

Adding the -a option allows you to remove all aliases:
unalias -a

The example above shows how alias does not return any results after the unalias -a command.
Conclusion
After reading this tutorial, you should be able to use the alias command to create and manage aliases on your Linux system. This will help streamline your work and make terminal commands easier to use.
To learn more about other commands in Linux, check out our Linux commands cheat sheet.
As it is known, Linux and Unix were created as command line based systems, which means having control of the commands typed is basically the most important thing to be a *nix SysOp.
This is where ‘alias’ command comes to the show and can be extremely useful, especially for security purposes and to simplify work for a system administrator.
The shell alias is simply a way to reference another command. It can be used to avoid repetitive long typing of commands and shell lines and simplify work or to even make things safer or dumb-proof.
Take a simple example where you have to use ls command to show everything in reverse chronological order. You can type ls -lrta all the time or you create an alias (say) ‘ll’ that will be equivalent to ls -lrta. It will save you a few keystrokes.
In a similar fashion, you can substitute long and complicated commands with small and simple commands by using alias in Linux.
Let’s see how to make alias in Linux.
How to create alias in Linux
I’ll continue with the same example I used above.
alias ll='ls -lrta'
You must note a few things:
- The substituted command is always used under the inverted commas (‘).
- There must be no spaces before or after the equals sign in the alias command. If you mistakenly put a space, you’ll see an error like alias not found.
- Be careful in choosing the name of the alias. There are no reserved keywords so you may replace an existing command with a totally irrelevant command.
You can check if a certain command is actually an alias with the type command. For example, in Ubuntu, ls is actually an alias to show you colorful output.
type ls
ls is aliased to `ls --color=auto'
If you want to use the original command, without its aliased version, use single quotes around it.
Now, the alias you just is temporary. If you exit the shell, you’ll lose the alias. You need to make the alias permanent.
Make alias permanent
In order to add aliases that can work in a system all the time, you need to simply edit your user’s (or any other user’s) .bashrc file. Some distributions might suggest using a dedicated .bash_aliases file for storing aliases.
This file is located in your /home/<username>/ folder. You can use vim command to edit the file in terminal.
[email protected]:~$ vim ~/.bashrc
This will immediately open your .bashrc file and you must start adding aliases by the end of the file, just after the last written line of it. You should then source the bashrc file.
source ~/.bashrc
I suggest creating either blocks or at least adding commentaries in the file for each of the aliases created so it’s easier in the future to know what is each thing for maintenance purposes.
Creating global aliases for all users
If you want the aliases to be available for all users on your Linux system, you should add the aliases in /etc/bash.bashrc file.
If you don’t have this file, create it.
How to see all the alias set on your Linux system for you
If you want to see all the alias set on the system for you, you can check the configuration file of your shell like ~/.bashrc, ~/.zshrc etc.
However, a much easier way to see all the alias would be to simply run the alias command without any arguments.
alias
A typically Ubuntu system has the following alias set by default.
alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '''s/^s[0-9]+s//;s/[;&|]s*alert$//''')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -lrt'
alias ls='ls --color=auto'
How to remove alias
If you want to remove an alias, you can use the unalias command in this manner:
unalias your_alias_name
You can remove all alias at once using the -a option:
unalias -a
As with the alias command, changes by unalias command are also temporary. If you wan to remove an alias permanently, you should delete it from the bashrc file.
My favorite alias in Linux I cannot live without
Let me share some aliases that I always use to work more effectively in Linux.
1. Making ‘rm’ safer
As it is well known, rm command is very commonly used day by day and can be also very destructive and disruptive of a system if not properly used.
This is why, I use the following alias:
#make rm command safer
alias rm="rm -i"
This makes ‘rm’ command safer as whenever you use it, it will always ask if you are sure you want to perform the infamous removal operation before proceeding, giving you a second and last chance to not break things unintentionally.
2. Making ssh to other systems easier and faster
Sometimes, especially if you use private keys instead of credentials to log in to other Linux systems, it can be easier to set up aliases for each of them with mnemonic names.
As a SysOp, I use SSH for logging in to different Linux servers and I have several private keys, depending on my clients, therefore it helps me to have aliases such as:
#alias for servers SSH
alias sshserver1='ssh -i ~/Documents/IT/SSH-keys/server1.pem [email protected]'
alias sshserver2='ssh -i ~/Documents/SSH-keys/server2.pem [email protected]'
alias sshplexserverhome='ssh [email protected]'
alias sshclientserver='ssh -i ~/Documents/IT/SSH-keys/client.pem [email protected]'
As you can see, I have all my private keys in a folder named “SSH-keys” inside my own user’s folder and then I simply create aliases to connect each of them, following a standard of “ssh”+”name of the server”.
This way I only have to remember the name of the server I want to connect and not where the key is located, the name of each key (if they are different) or even the username that needs to be used for each server to connect.
3. Show time or date for day to day things
Some people either because they script things that use specific times or need to consult time and/or date and want to have in specific formats, can get some benefit of aliases by doing:
alias nowtime='date +"%T"' #this will show the current time in 24hrs format as HH:MM:SS
alias nowdate='date +"%d-%m-%Y"' #this will show the current date in format dd-MM-YY
4. Easily manage your iptables information
Let’s face it: iptables or nftables are not the easiest nor friendly thing in the world and even though it’s not hard, the first time you deal with it is not that easy. This is why using aliases such these ones can make things a lot easier:
#Displaying iptables information the easy way :)
alias iptlist='sudo /sbin/iptables -L -n -v --line-numbers' #this will display all lines of your current iptables
alias iptlistin='sudo /sbin/iptables -L INPUT -n -v --line-numbers' #this will display all your INCOMING rules in iptables
alias iptlistout='sudo /sbin/iptables -L OUTPUT -n -v --line-numbers' #this will display all your OUTGOING rules in iptables
5. Update Debian based servers in one single command
I use Ubuntu myself, but you can adapt this for any Red Hat, CentOS servers and ‘yum’ command. Updating a Debian server in a single command could be done through an alias such as this one:
# update on one command
alias update='sudo apt-get update && sudo apt-get upgrade'
6. Add an alias to run alias with sudo
You cannot run an alias with sudo by default. If you want to run an aliased command with root access, you’ll have to create an alias with sudo like this:
sudo='sudo '
Conclusion
As you can see, it all depends on what you do and your creativity, but you can basically take the time to create as many aliases as you need for your day to day tasks and make them easier by using this useful ‘alias’ command in Linux.






