Поиск по сайту:

Понимание различных классификаций команд оболочки и их использования в 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:

  1. 15 примеров команд pwd в Linux
  2. 15 примеров команд «cd» в Linux
  3. Изучите возможности команды «история» Linux

Заключение

Пользователю Linux всегда важно знать тип команды, которую вы выполняете. Я полагаю, что благодаря точному и простому для понимания объяснению, приведенному выше, включая несколько соответствующих иллюстраций, вы, вероятно, хорошо понимаете различные категории команд Linux.

Вы также можете задать вопросы или дополнительные идеи, которые вы хотели бы нам предложить, в разделе комментариев ниже.