Как проверить, определен ли псевдоним оболочки в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, определен ли псевдоним (alias) оболочки в Linux. Вы начнете с перечисления текущих определенных псевдонимов с помощью команды alias, чтобы понять, что такое псевдонимы и как они отображаются.

Затем вы изучите общие места, где настраиваются псевдонимы. Это включает проверку псевдонимов, специфичных для пользователя, обычно хранящихся в файле ~/.bashrc, и проверку системных псевдонимов, находящихся в файле /etc/bash.bashrc. К концу этого практического занятия вы сможете определить и найти определения псевдонимов в своей среде Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/TextProcessingGroup -.-> linux/sed("Stream Editing") subgraph Lab Skills linux/ls -.-> lab-558752{{"Как проверить, определен ли псевдоним оболочки в Linux"}} linux/cat -.-> lab-558752{{"Как проверить, определен ли псевдоним оболочки в Linux"}} linux/grep -.-> lab-558752{{"Как проверить, определен ли псевдоним оболочки в Linux"}} linux/sed -.-> lab-558752{{"Как проверить, определен ли псевдоним оболочки в Linux"}} end

Перечисление псевдонимов с помощью команды alias

На этом этапе вы узнаете о псевдонимах (aliases) в Linux и о том, как их перечислить с помощью команды alias.

Псевдоним - это ярлык, который позволяет заменить длинную команду более короткой и запоминаемой. Это может сэкономить у вас много времени на наборе команд и сделать работу в командной строке более эффективной.

Например, вместо того чтобы каждый раз набирать ls -l, когда вам нужен подробный список файлов, вы можете создать псевдоним, например ll, который будет выполнять ту же команду.

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

alias

Вы увидите список псевдонимов, похожий на следующий:

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'

В этом выводе слева показано имя псевдонима (например, ll), а справа - команда, которую он представляет (например, ls -alF).

Обратите внимание на псевдоним ls. Он установлен как ls --color=auto. Это означает, что каждый раз, когда вы вводите ls, система на самом деле выполняет ls --color=auto, которая добавляет цвета в вывод для лучшей читаемости.

Понимание псевдонимов - это первый шаг к настройке вашей терминальной среды и оптимизации ее работы для вас.

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

Проверка пользовательских псевдонимов в файле ~/.bashrc

На предыдущем этапе вы увидели список псевдонимов с помощью команды alias. Теперь давайте узнаем, где определены некоторые из этих псевдонимов.

Пользовательские псевдонимы часто хранятся в конфигурационных файлах в домашней директории. Для пользователей оболочки Bash обычно такие псевдонимы определяются в файле ~/.bashrc. Хотя в этой лабораторной среде используется zsh, понимание роли файла ~/.bashrc важно, так как он широко применяется в многих системах Linux.

Символ ~ является сокращением для домашней директории, которая в этой среде представляет собой /home/labex. Таким образом, ~/.bashrc ссылается на файл .bashrc, расположенный непосредственно в вашей домашней директории. Точка (.) в начале имени файла делает его скрытым, то есть он не будет отображаться при простом использовании команды ls, если вы не используете опцию -a.

Давайте посмотрим на содержимое файла ~/.bashrc с помощью команды cat. Команда cat используется для отображения содержимого файлов.

Введите следующую команду и нажмите Enter:

cat ~/.bashrc

Вы увидите содержимое файла .bashrc. Прокрутите вывод, чтобы найти строки, начинающиеся с alias.

## some example aliases
## alias ll='ls -l'
## alias la='ls -a'

## Add an "alert" alias for long running commands.  Use like:
##   sleep 10; alert
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 definitions.
## You may want to put all your additions into a separate file like
## ~/.bash_aliases, instead of adding them here directly.
## See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

## enable programmable completion features (you don't need to enable
## this, if it's already enabled in /etc/bash.bashrc and /etc/profile
## sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Вы, возможно, заметите, что некоторые строки, начинающиеся с alias, закомментированы с помощью символа #. Это примеры или неактивные псевдонимы. Активными псевдонимами являются те, которые не имеют символа # в начале строки.

В этом файле обычно добавляются пользовательские псевдонимы, если вы используете Bash. Например, вы можете добавить строку вида alias update='sudo apt update && sudo apt upgrade', чтобы создать псевдоним для обновления системы.

Нажмите Продолжить, чтобы перейти к изучению системных псевдонимов.

Проверка системных псевдонимов в файле /etc/bash.bashrc

В дополнение к пользовательским конфигурационным файлам, таким как ~/.bashrc, существуют также системные конфигурационные файлы, которые применяются ко всем пользователям системы. Для оболочки Bash одним из таких файлов является /etc/bash.bashrc.

В этом файле часто содержатся настройки по умолчанию и псевдонимы, которые системный администратор хочет сделать доступными для всех.

Поскольку этот файл находится в директории /etc, которая обычно используется для системной конфигурации, вам, возможно, понадобятся права администратора для его изменения. Однако мы можем просмотреть его содержимое с помощью команды cat без специальных прав.

Давайте посмотрим на содержимое файла /etc/bash.bashrc. Введите следующую команду и нажмите Enter:

cat /etc/bash.bashrc

Вы увидите содержимое системного конфигурационного файла для оболочки Bash. Найдите строки, в которых определяются псевдонимы.

## System-wide .bashrc file for interactive bash(1) shells.

## To enable the setting of the locale environment variables see
## /etc/profile.d/locale.sh. By default in Ubuntu OnLine,
## this is done from /etc/profile.

## If not running interactively, don't do anything
[ -z "$PS1" ] && return

## check the window size after each command and, if necessary,
## update the values of LINES and COLUMNS.
shopt -s checkwinsize

## If set, the pattern "**" used in a pathname expansion context should
## match only directories and subdirectories in addition to the contents of
## the current directory.
#shopt -s globstar

## make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

## set variable identifying the chroot you work in (used in the prompt)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

## enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

## colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=(01;34):quote=01;32'

## some more ls aliases
#alias ll='ls -l' #alias ll='ls -alF'
#alias la='ls -a' #alias la='ls -AF'
#alias l='ls -CF'

## Add an alias for the 'alert' command
#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$//'\'')"'

## enable programmable completion features (you don't need to enable
## this, if it's already enabled in /etc/bash.bashrc and /etc/profile
## sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Вы должны увидеть некоторые из тех же псевдонимов, которые вы видели при использовании команды alias, например, псевдоним ls с поддержкой цветного вывода. Это подтверждает, что некоторые из псевдонимов по умолчанию устанавливаются на уровне системы.

Понимание того, где определены псевдонимы, помогает вам устранять неожиданное поведение и эффективно настраивать свою среду.

Теперь вы узнали, как перечислить активные псевдонимы и проверить общие конфигурационные файлы, где они хранятся.

Нажмите Продолжить, чтобы завершить эту лабораторную работу.

Резюме

В этой лабораторной работе вы узнали, как проверить, определен ли псевдоним (alias) оболочки в Linux. Вы начали с использования команды alias для вывода списка текущих псевдонимов в вашей сессии терминала, понимая, что псевдонимы - это сокращения для более длинных команд.

Затем вы исследовали общие места, где определяются псевдонимы, с особым вниманием к пользовательским псевдонимам, которые часто находятся в файле ~/.bashrc, и системным псевдонимам, которые могут быть определены в файлах, таких как /etc/bash.bashrc. Этот процесс помогает вам понять, как настраиваются псевдонимы и где искать их определения.