Понимание различных классификаций команд оболочки и их использования в Linux
Когда дело доходит до получения абсолютного контроля над вашей системой Linux, ничто не сравнится с интерфейсом командной строки (CLI). Чтобы стать опытным пользователем Linux, необходимо понимать различные типы команд оболочки и соответствующие способы их использования с терминала.
В Linux существует несколько типов команд, и для нового пользователя Linux знание значения различных команд позволяет эффективно и точно использовать их. Поэтому в этой статье мы рассмотрим различные классификации команд оболочки в Linux.
Рекомендуется к прочтению: 5 интересных советов и рекомендаций по работе с командной строкой в Linux – часть 1
Важно отметить, что интерфейс командной строки отличается от оболочки: он предоставляет вам только средства доступа к оболочке. Оболочка, которая также является программируемой, позволяет взаимодействовать с ядром с помощью команд.
Различные классификации команд Linux подпадают под следующие классификации:
1. Исполняемые файлы программы (команды файловой системы)
Когда вы запускаете команду, Linux ищет в каталогах, хранящихся в переменной среды ` PATH, слева направо исполняемый файл этой конкретной команды.
Вы можете просмотреть каталоги в ` PATH
следующим образом:
echo $PATH
/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
В приведенном выше порядке сначала будет выполняться поиск в каталоге /home/aaronkilik/bin
, затем /usr/local/sbin
и т. д., порядок имеет значение при поиске. процесс.
Примеры команд файловой системы в каталоге /usr/bin
:
ll /bin/
Пример вывода
total 16284
drwxr-xr-x 2 root root 4096 Jul 31 16:30 ./
drwxr-xr-x 23 root root 4096 Jul 31 16:29 ../
-rwxr-xr-x 1 root root 6456 Apr 14 18:53 archdetect*
-rwxr-xr-x 1 root root 1037440 May 17 16:15 bash*
-rwxr-xr-x 1 root root 520992 Jan 20 2016 btrfs*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-calc-size*
lrwxrwxrwx 1 root root 5 Jul 31 16:19 btrfsck -> btrfs*
-rwxr-xr-x 1 root root 278376 Jan 20 2016 btrfs-convert*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-debug-tree*
-rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-find-root*
-rwxr-xr-x 1 root root 270136 Jan 20 2016 btrfs-image*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfs-map-logical*
-rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-select-super*
-rwxr-xr-x 1 root root 253816 Jan 20 2016 btrfs-show-super*
-rwxr-xr-x 1 root root 249464 Jan 20 2016 btrfstune*
-rwxr-xr-x 1 root root 245368 Jan 20 2016 btrfs-zero-log*
-rwxr-xr-x 1 root root 31288 May 20 2015 bunzip2*
-rwxr-xr-x 1 root root 1964536 Aug 19 2015 busybox*
-rwxr-xr-x 1 root root 31288 May 20 2015 bzcat*
lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzcmp -> bzdiff*
-rwxr-xr-x 1 root root 2140 May 20 2015 bzdiff*
lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzegrep -> bzgrep*
-rwxr-xr-x 1 root root 4877 May 20 2015 bzexe*
lrwxrwxrwx 1 root root 6 Jul 31 16:19 bzfgrep -> bzgrep*
-rwxr-xr-x 1 root root 3642 May 20 2015 bzgrep*
2. Псевдонимы Linux
Это определяемые пользователем команды, они создаются с использованием встроенной команды оболочки alias и содержат другие команды оболочки с некоторыми параметрами и аргументами. Идея состоит в том, чтобы использовать новые и короткие имена для длинных команд.
Рекомендуется к прочтению: 10 удивительных и загадочных способов использования (!) Символа или оператора в командах Linux
Синтаксис создания псевдонима следующий:
alias newcommand='command -options'
Чтобы просмотреть все псевдонимы в вашей системе, введите следующую команду:
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'
Чтобы создать новый псевдоним в Linux, просмотрите приведенные ниже примеры.
alias update='sudo apt update'
alias upgrade='sudo apt dist-upgrade'
alias -p | grep 'up'
Однако созданные нами выше псевдонимы работают только временно, при перезагрузке системы они не будут работать после следующей загрузки. Вы можете установить постоянные псевдонимы в файле .bashrc
, как показано ниже.
После их добавления выполните команду ниже, чтобы активировать.
source ~/.bashrc
3. Зарезервированные слова оболочки Linux
В командном программировании такие слова, как if, then, fi, for, while. >, case, esac, else, until и многие другие являются зарезервированными словами оболочки. Как следует из описания, они имеют для оболочки особое значение.
Вы можете вывести список всех ключевых слов оболочки Linux, используя команду type
, как показано:
type if then fi for while case esac else until
if is a shell keyword
then is a shell keyword
fi is a shell keyword
for is a shell keyword
while is a shell keyword
case is a shell keyword
esac is a shell keyword
else is a shell keyword
until is a shell keyword
Рекомендуется к прочтению: 10 полезных операторов цепочки Linux с практическими примерами
4. Функции оболочки Linux
Функция оболочки — это группа команд, которые выполняются коллективно в текущей оболочке. Функции помогают выполнить конкретную задачу в сценарии оболочки. Обычная форма написания функций оболочки в скрипте:
function_name() {
command1
command2
…….
}
Альтернативно,
function function_name {
command1
command2
…….
}
Давайте посмотрим, как писать функции оболочки в скрипте с именем shell_functions.sh
.
#!/bin/bash
#write a shell function to update and upgrade installed packages
upgrade_system(){
sudo apt update;
sudo apt dist-upgrade;
}
#execute function
upgrade_system
Вместо выполнения двух команд: sudo apt update
и sudo apt dist-upgrade
из командной строки, мы написали простую функцию оболочки для выполнения двух команд как одной. команда upgrade_system
внутри скрипта.
Рекомендуется к прочтению: 5 сценариев оболочки для новичков в Linux для изучения программирования оболочки
Сохраните файл и после этого сделайте скрипт исполняемым. Наконец, запустите его, как показано ниже:
chmod +x shell_functions.sh
./shell_functions.sh
5. Встроенные команды оболочки Linux
Это команды Linux, встроенные в оболочку, поэтому вы не можете найти их в файловой системе. К ним относятся pwd, cd, bg, alias, история, тип, источник, чтение, выход и многие другие.
Вы можете просмотреть или проверить встроенные команды Linux, используя команду type
, как показано:
type pwd
pwd is a shell builtin
$ type cd
cd is a shell builtin
$ type bg
bg is a shell builtin
$ type alias
alias is a shell builtin
$ type history
history is a shell builtin
Узнайте об использовании некоторых встроенных команд Linux:
- 15 примеров команд pwd в Linux
- 15 примеров команд «cd» в Linux
- Изучите возможности команды «история» Linux
Заключение
Пользователю Linux всегда важно знать тип команды, которую вы выполняете. Я полагаю, что благодаря точному и простому для понимания объяснению, приведенному выше, включая несколько соответствующих иллюстраций, вы, вероятно, хорошо понимаете различные категории команд Linux.
Вы также можете задать вопросы или дополнительные идеи, которые вы хотели бы нам предложить, в разделе комментариев ниже.