alias - встроенная команда bash и других оболочек для сокращения команд и их последовательностей. Также возможно переопределение команд и подстановка в них параметров. Обычно назначенные имена сохраняются только в течение сессии.

Сокращение root'иных команд

Итак, продолжим изучать команду bash alias. Смотрите также первую часть этой статьи.
Как говорил ранее в команде alias можно запрограммировать и целые функции, давайте этим и займемся:
user@host:~$ nano ~/.bash_aliases
function extract {
 if [ -z "$1" ]; then
    echo "Usage: extract ."
 else
    if [ -f "$1" ] ; then
        NAME=${1%.*}
        case "$1" in
          *.tar.bz2)   tar xvjf ./"$1"    ;;
          *.tar.gz)    tar xvzf ./"$1"    ;;
          *.tar.xz)    tar xvJf ./"$1"    ;;
          *.lzma)      unlzma ./"$1"      ;;
          *.bz2)       bunzip2 ./"$1"     ;;
          *.rar)       unrar x -ad ./"$1" ;;
          *.gz)        gunzip ./"$1"      ;;
          *.tar)       tar xvf ./"$1"     ;;
          *.tbz2)      tar xvjf ./"$1"    ;;
          *.tgz)       tar xvzf ./"$1"    ;;
          *.zip)       unzip ./"$1"       ;;
          *.Z)         uncompress ./"$1"  ;;
          *.7z)        7z x ./"$1"        ;;
          *.xz)        unxz ./"$1"        ;;
          *.exe)       cabextract ./"$1"  ;;
          *)           echo "extract: '$1' - unknown archive method" ;;
        esac
    else
        echo "'$1' - file does not exist"
    fi
fi
}
user@host:~$ source ~/.bash_aliases
Теперь можно легко распаковывать практически все популярные форматы архивов одной командой:
user@host:~$ extract my_archive.tar.gz
Отлично, поехали дальше!
Запуск Nautilus от имени администратора:
user@host:~$ alias admnautilus='sudo nautilus /'
user@host:~$ admnautilus
Поиск файла или директории по имени в текущей директории:
user@host:~$ alias fhere='find . -name '
user@host:~$ source ~/.bash_aliases
user@host:~$ fhere my_file.log
Поиск всех jpg-файлов в текущей директории:
user@host:~$ alias fjpg='find . | grep *.jpg'
user@host:~$ source ~/.bash_aliases
user@host:~$ fjpg
Подробный вывод содержимого текущей директории со скрытыми файлами:
user@host:~$ alias ll='ls -la'
user@host:~$ source ~/.bash_aliases
user@host:~$ ll
Создание директории и автопереход в нее:
user@host:~$ nano ~/.bash_aliases
function mkcd {
    mkdir $1 && cd $1
}
user@host:~$ source ~/.bash_aliases
user@host:~$ mkcd my_dir
user@host:~/my_dir$ 
Вывод размеров файлов и директорий текущей директории, отсортированных по размеру:
user@host:~$ alias dusort='du -s * | sort -n'
user@host:~$ source ~/.bash_aliases
user@host:~$ dusort

На этом завершим вторую часть статьи про alias.

Если у Вас есть вопросы или чем поделиться по данной теме, то добро пожаловать на наш форум!

В следующий раз буду отвечать на Ваши вопросы и делиться новыми удобными командами alias.


Дата: 21.06.2016 11:08:49
Автор: Хасаншин Ильдар