Pesquisa de site

Compreendendo as diferentes classificações de comandos Shell e seu uso no Linux


Quando se trata de obter controle absoluto sobre seu sistema Linux, nada se compara à interface de linha de comando (CLI). Para se tornar um usuário avançado do Linux, é necessário compreender os diferentes tipos de comandos shell e as maneiras apropriadas de usá-los no terminal.

No Linux, existem vários tipos de comandos e, para um novo usuário do Linux, conhecer o significado dos diferentes comandos permite um uso eficiente e preciso. Portanto, neste artigo, examinaremos as várias classificações de comandos shell no Linux.

Leitura sugerida: 5 dicas e truques interessantes de linha de comando no Linux – Parte 1

Uma coisa importante a notar é que a interface da linha de comando é diferente do shell, ela apenas fornece um meio para você acessar o shell. O shell, que também é programável, permite a comunicação com o kernel por meio de comandos.

Diferentes classificações de comandos do Linux se enquadram nas seguintes classificações:

1. Executáveis de programas (comandos do sistema de arquivos)

Quando você executa um comando, o Linux pesquisa nos diretórios armazenados na variável de ambiente ` PATH da esquerda para a direita o executável desse comando específico.

Você pode visualizar os diretórios em ` PATH da seguinte forma:

echo $PATH

/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Na ordem acima, o diretório /home/aaronkilik/bin será pesquisado primeiro, seguido por /usr/local/sbin e assim por diante, a ordem é significativa na pesquisa processo.

Exemplos de comandos do sistema de arquivos no diretório /usr/bin:

ll /bin/
Saída de amostra
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. Aliases do Linux

Estes são comandos definidos pelo usuário, eles são criados usando o comando interno do shell alias e contêm outros comandos do shell com algumas opções e argumentos. A ideia é basicamente usar nomes novos e curtos para comandos longos.

Leitura sugerida: 10 usos surpreendentes e misteriosos de (!) Símbolo ou operador em comandos do Linux

A sintaxe para criar um alias é a seguinte:

alias newcommand='command -options'

Para listar todos os aliases do seu sistema, execute o comando abaixo:

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'

Para criar um novo alias no Linux, veja alguns exemplos abaixo.

alias update='sudo apt update'
alias upgrade='sudo apt dist-upgrade'
alias -p | grep 'up'

Porém, os aliases que criamos acima funcionam apenas temporariamente, quando o sistema for reiniciado, eles não funcionarão após a próxima inicialização. Você pode definir aliases permanentes em seu arquivo .bashrc conforme mostrado abaixo.

Após adicioná-los, execute o comando abaixo para ativá-los.

source ~/.bashrc

3. Palavras reservadas do Linux Shell

Na programação shell, palavras como if, then, fi, for, while >, case, esac, else, until e muitas outras são palavras reservadas do shell. Como a descrição indica, eles têm um significado especializado para o shell.

Você pode listar todas as palavras-chave do shell do Linux usando o comando type conforme mostrado:

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

Leitura sugerida: 10 operadores úteis de encadeamento Linux com exemplos práticos

4. Funções do shell do Linux

Uma função shell é um grupo de comandos executados coletivamente no shell atual. As funções ajudam a realizar uma tarefa específica em um script de shell. A forma convencional de escrever funções shell em um script é:

function_name() {
command1
command2
…….
}

Alternativamente,

function function_name {
command1
command2
…….
}

Vamos dar uma olhada em como escrever funções shell em um script chamado 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

Em vez de executar os dois comandos: sudo apt update e sudo apt dist-upgrade na linha de comando, escrevemos uma função shell simples para executar os dois comandos como um único comando, upgrade_system dentro de um script.

Leitura sugerida: 5 Shell Scripts para iniciantes em Linux aprenderem programação Shell

Salve o arquivo e depois torne o script executável. Finalmente execute-o conforme abaixo:

chmod +x shell_functions.sh
./shell_functions.sh

5. Comandos integrados do Linux Shell

Esses são comandos do Linux integrados ao shell, portanto, você não pode encontrá-los no sistema de arquivos. Eles incluem pwd, cd, bg, alias, histórico, type, source, read, exit e muitos outros.

Você pode listar ou verificar os comandos internos do Linux usando o comando type conforme mostrado:

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

Aprenda sobre o uso de alguns comandos integrados do Linux:

  1. 15 exemplos de comando ‘pwd’ no Linux
  2. 15 exemplos de comando ‘cd’ no Linux
  3. Aprenda o poder do comando ‘história’ do Linux

Conclusão

Como usuário Linux, é sempre importante saber o tipo de comando que você está executando. Acredito que, com a explicação precisa e simples de entender acima, incluindo algumas ilustrações relevantes, você provavelmente terá um bom entendimento das várias categorias de comandos do Linux.

Você também pode entrar em contato através da seção de comentários abaixo para quaisquer perguntas ou ideias complementares que gostaria de nos oferecer.