Ubuntu для чайников. Создание псевдонимов. Команда alias

 Чтобы использовать псевдонимы, нужно воспользоваться командой alias

Это очень удобно. Чтобы каждый раз не писать длинные команды со всеми аргументами, можно сократить длинные названия на короткие и не только.
Чтобы создать псевдоним нужно указать псевдоним и в кавычках указать то что должно вызываться.
alias_cmd = "command" 
alias -p   посмотреть все псевдонимы
unalias cmd    убрать псевдоним
unalias -a    удалить все псевдонимы

ниже, команда с помощью которой можно посмотреть 20 самых используемых команд из истории
history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl |  head -n20 

Примеры
alias ld="ls -d */"    
alias agi='sudo apt-get install'
alias agr='sudo apt-get remove'
alias agu='sudo apt-get update'
alias agdu='sudo apt-get dist-upgrade'
alias acs='apt-cache search'
alias acsh='apt-cache show'
alias sdi='sudo dpkg -i'
alias chx="chmod 755"
alias chr="chmod 644"
alias h="history"
alias hg="history | grep "
alias agi="sudo apt-get install"

также все эти псевдонимы можно сохранить в файл, чтобы при следующем запуске ОС, все псевдонимы были доступны, для этого нужно добавить свои псевдонимы в конец файла ~/.bashrc 
после этого выполнить команду  source ~/.bashrc чтобы изменения примениись для текущей сессии.
Также можно добавлять целые функции, ниже пример функции которая распаковывает архив. Чтобы ее использовать, нужно в терминале набрать extract some_arch.type
extract ()
{
 if [ -z "$1" ]; then
    # display usage if no parameters given
    echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
    echo "       extract <path/file_name_1.ext> [path/file_name_2.ext] [path/file_name_3.ext]"
    return 1
 else
    for n in $@
    do
      if [ -f "$n" ] ; then
          case "${n%,}" in
            *.tar.bz2|*.tar.gz|*.tar.xz|*.tbz2|*.tgz|*.txz|*.tar) 
                         tar xvf "$n"       ;;
            *.lzma)      unlzma ./"$n"      ;;
            *.bz2)       bunzip2 ./"$n"     ;;
            *.rar)       unrar x -ad ./"$n" ;;
            *.gz)        gunzip ./"$n"      ;;
            *.zip)       unzip ./"$n"       ;;
            *.z)         uncompress ./"$n"  ;;
            *.7z|*.arj|*.cab|*.chm|*.deb|*.dmg|*.iso|*.lzh|*.msi|*.rpm|*.udf|*.wim|*.xar)
                         7z x ./"$n"        ;;
            *.xz)        unxz ./"$n"        ;;
            *.exe)       cabextract ./"$n"  ;;
            *)
                         echo "extract: '$n' - unknown archive method"
                         return 1
                         ;;
          esac
      else
          echo "'$n' - file does not exist"
          return 1
      fi
    done
fi
}

Комментарии