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:
- 15 exemplos de comando ‘pwd’ no Linux
- 15 exemplos de comando ‘cd’ no Linux
- 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.