DOE AGORA Qualquer valor

Guia rápido do BASH

Este guia rápido contém dicas e truques essenciais para aproveitar ao máximo o BASH, desde atalhos de teclado até automação de tarefas. Exploraremos como o domínio do terminal não apenas impulsiona a eficiência, mas também fortalece as defesas digitais no fascinante mundo da segurança cibernética.

Nosso Guia rápido do BASH ajudará você a navegar e controlar seu sistema com eficiência a partir da linha de comando. Da compreensão dos tipos de arquivos e permissões à depuração, do controle de tarefas à compreensão das expressões regulares, este guia cobre tudo.

As informações contidas no Guia rápido do BASH são valiosas para usuários casuais do Linux, administradores de sistema, profissionais de segurança da informação e estudantes que se preparam para uma ampla variedade de exames, de LPIC a OSCP e muito mais.

Independentemente de como você decidir usá-lo, esperamos que você o considere um recurso útil para ter em mãos. 

Gostaria de saber quando lançaremos descontos máximos ou novos cursos?

O que é Bash?

Bash (Bourne Again Shell) é uma linguagem shell construída sobre o Bourne Shell original, que foi distribuída com o V7 Unix em 1979 e se tornou o padrão para escrever scripts shell. 

Hoje é o principal para a maioria das distribuições Linux (veja nossa folha de dicas de linha de comando do Linux) , MacOS e recentemente foi habilitado para rodar no Windows por meio de algo chamado WSL (Windows Subsystem for Linux).

Operadores de teste de arquivo

Testar arquivos em scripts é fácil e direto. É aqui que os shell scripts começam a mostrar sua glória! No Bash, você pode  testar permissões de arquivo  , tamanho, data, tipo de arquivo ou existência.

BANDEIRA DESCRIÇÃO
-eo arquivo existe
-paraO arquivo existe (idêntico a -e, mas está obsoleto e desatualizado)
-FO arquivo é um arquivo normal (não um diretório ou arquivo de dispositivo)
-so arquivo não tem tamanho zero
-do arquivo é um diretório
-bO arquivo é um dispositivo de bloco.
-CO arquivo é um dispositivo de caractere.
-po arquivo é um cano
-hO arquivo é um link simbólico.
-euO arquivo é um link simbólico.
-So arquivo é um soquete
-to arquivo (descritor) está associado a um dispositivo terminal; Esta opção de teste pode ser usada para verificar se stdin [ -t 0 ] ou stdout [ -t 1 ] em um determinado script é um terminal
-rO arquivo tem permissão de leitura (para o usuário que executa o teste).
-co arquivo tem permissão de gravação (para o usuário que está executando o teste)
-Xo arquivo tem permissão de execução (para o usuário que está executando o teste)
-gsinalizador set-group-id (sgid) definido em um arquivo ou diretório
-ouSinalizador set-user-id (suid) definido no arquivo.
-kconjunto de pontas adesivas.
-QUALQUERvocê possui o arquivo
-GID do grupo de arquivos igual ao seu
-Narquivo modificado desde a última leitura
f1 -nt f2o arquivo f1 é mais recente que f2
f1 -ot f2o arquivo f1 é mais antigo que f2
f1-ef f2Os arquivos f1 e f2 são links físicos para o mesmo arquivo.
!  Not - invierte el sentido de las pruebas anteriores (devuelve verdadero si la condición está ausente).

Operadores de comparação inteira

Como comparar números inteiros ou expressões aritméticas em scripts de shell.

BANDEIRADESCRIÇÃO
-eqÉ igual a
-nenão é igual a
-gté maior que
-geé maior que ou igual a
-lté menos do que
-vocêes menor ou igual a
<es menor que - colocar entre paréntesis dobles
<=é menor ou igual a (mesma regra da linha anterior)
>es mayor que (misma regla que la fila anterior)
>=é maior ou igual a (mesma regra da linha anterior)

Operadores de comparação de strings

Comparação de strings no Bash.

BANDEIRADESCRIÇÃO
=É igual a
==É igual a
!=não é igual a
<é maior que a ordem alfabética ASCII
>é maior que a ordem alfabética ASCII
-za string é nula (ou seja, de comprimento zero)
-nortea string não é nula (ou seja, de comprimento zero)

Operadores compostos

Útil para expressões booleanas e é semelhante a && e ||. Os operadores compostos funcionam com o comando test ou podem aparecer entre colchetes simples [<expr>].

BANDEIRADESCRIÇÃO
-paralógico e
-qualquerlógico ou

Identificadores de trabalho

O controle de trabalho permite interromper (suspender) seletivamente a execução de processos e continuar sua execução posteriormente.

NOTAÇÃODESCRIÇÃO
%NNúmero do trabalho [N]
%SA invocação (linha de comando) do trabalho começa com a string S
%?SInvocation (command-line) of job contains within it string S
%%Trabalho “atual” (último trabalho interrompido em primeiro plano ou iniciado em segundo plano)
%+Trabalho “atual” (último trabalho interrompido em primeiro plano ou iniciado em segundo plano)
%-Último emprego
%!Último processo em segundo plano

Lista de construção

Fornece um meio de processar comandos consecutivamente e é de fato capaz de substituir estruturas complexas se/então/de acordo

CONSTRUIR DESCRIÇÃO
&&e
||o

Códigos de saída reservados

Útil para depurar um script. A saída aceita argumentos inteiros no intervalo de 0 a 255.

CÓDIGO DE SAÍDA Nº.DESCRIÇÃO
1Catchall para erros gerais
2Uso indevido de funções internas do shell
126El comando invocado no puede ejecutarse
127Comando não encontrado
128Argumento inválido para sair
128+nSinal de erro fatal "n"
130Script finalizado por Control-C

Sinais

Sinais do sistema UNIX V.

NOMENÚMEROAÇÃO DESCRIÇÃO
SIGHUP1saídaPendurado
SIGINT2saídaInterrupções.
SIGQUIT3despejo de memóriaEm paz.
SIGILO4despejo de memóriaInstrução ilegal.
SIGTRAP5despejo de memóriaArmadilha de trilha.
SIGIOT6despejo de memóriaInstrução IOT.
SIGEMT7despejo de memóriaInstrução MT.
SIGFPE8despejo de memóriaExceção de ponto flutuante.
SIGKILL9exitMortes (não podem ser capturadas ou ignoradas).
SIGBUS10core dumpErro de ônibus.
SIGSEGVonzecore dumpViolação de segmentação.
SIGSYS12core dumpArgumento ruim para a chamada do sistema.
SIGPIPE13saídaEle escreve em um cachimbo sem que ninguém consiga ler.
SIGALRM14saídaDespertador.
SIGTERMquinzesaídaSinal de terminação de software.

Enviando sinais de controle

Você pode usar essas combinações de teclas para enviar sinais.

COMBINAÇÃO DE CHAVESDESCRIÇÃO
Ctrl+CO sinal de interrupção envia SIGINT para o trabalho em execução em primeiro plano.
Ctrl+YA natureza da suspensão tardia. Faz com que um processo em execução pare quando tenta ler a entrada do terminal. O controle é retornado ao shell, o usuário pode colocar em primeiro plano, em segundo plano ou encerrar o processo. A suspensão atrasada está disponível apenas em sistemas operacionais que oferecem suporte a esse recurso.
Ctrl+ZO sinal sleep envia um SIGTSTP para um programa em execução, parando-o e devolvendo o controle ao shell.

Verifique suas configurações de styt. Suspender e retomar a saída geralmente são desativados se você usar emulações de terminal "modernas". O xterm padrão suporta Ctrl+S e Ctrl+Q por padrão.

Tipos de arquivo

Isso é muito diferente do Windows, mas é simples quando você entende. Expandirei esta seção em breve com mais contexto.

SÍMBOLO SIGNIFICADO
arquivo normal
ddiretório
EULink (simbólico)
cDispositivo de personagem
simPlugue
pTubo nomeado
bbloqueodedispositivo

Permissões

Agora você pode dizer o que é aquela string de aparência misteriosa rwxrwxrwx quando invoca ls -l

CÓDIGODESCRIÇÃO
simsetuid quando na coluna do usuário
simsetgid quando na coluna do grupo
tpedaço pegajoso
0——O direito de acesso que este local deveria ter não é concedido.
4—–rO acesso de leitura é concedido à categoria de usuário definida aqui.
2—–wA permissão de gravação é concedida à categoria de usuário definida aqui.
1—–xA permissão de execução é concedida à categoria de usuário definida aqui.
ouAutorizações de usuário
gpermissões de grupo
ohoutras permissões

Arquivos especiais

Arquivos que são lidos pelo shell. Listado por ordem de execução.

ARQUIVOINFORMAÇÃO
/etc/perfilExecutado automaticamente no login
~.bash_profile
———————
~/.bash_login
———————
~.profile
O que for encontrado primeiro será executado no login.
~/.bashrcEle é lido por todos os shells que não são de login.

Manipulação de cordas

Bash suporta um número surpreendentemente grande de operações de string! Infelizmente, essas ferramentas carecem de uma abordagem unificada. Alguns são um subconjunto de substituição de parâmetros e outros se enquadram na funcionalidade do comando expr do UNIX. Isso resulta em sintaxe de comando inconsistente e sobreposição de recursos. O bash integrado do MacOS é de 2007 e não oferece suporte a muitos deles.

Tabela de manipulação de strings

PADRÃODESCRIÇÃO
${#var}Encontre o comprimento da corda.
${var%padrão}Remover do padrão final mais curto
${var%%padrão}Remover do padrão final mais longo
${var:posição}Extraia a substring de $var para $position
${var:num1:num2}Substring
${var#padrão}Remover do padrão frontal mais curto
${var##padrão}Remover do padrão frontal mais longo
${var/padrão/string}Localizar e substituir (substituir apenas a primeira ocorrência)
${var//padrão/string}Encontre e substitua todas as ocorrências
${!prefixo*}Expande para nomes de variáveis ​​cujos nomes começam com um prefixo.
${var,}${var,padrão}Converte o primeiro caractere em minúsculo.
${var,,}${var,,padrão}Converte todos os caracteres em letras minúsculas.
${var^}${var^padrão}Converte o primeiro caractere em maiúsculo.
${var^^}${var^^padrão}Converte todos os caracteres em letras maiúsculas.
${string/substring/substituição}Substitua a primeira correspondência de $substring por $replacement
${string//substring/substituição}Substitua todas as correspondências de $substring por $replacement
${string/#substring/substituição}Se $substring corresponder ao front end de $string, substitua $replacement por $substring
${string/%substring/substituição}Se $substring corresponder ao final de $string, substitua $replacement por $substring
expr corresponde a “$string” '$substring'Comprimento correspondente de $substring* no início de $string
expr “$string”: '$substring'Comprimento correspondente de $substring* no início de $string
expr índice “$string” $substringPosição numérica em $string do primeiro caractere em $substring* que corresponde a [0 se não houver correspondência, o primeiro caractere conta como posição 1]
expr substr $string $posição $comprimentoExtraia $length caracteres de $string começando em $position [0 se não houver correspondência, o primeiro caractere conta como posição 1]
expr corresponde a “$string” '($substring)'Extraia $substring*, pesquisando desde o início de $string
expr “$string”: '($substring)'Extraia $substring*, pesquisando desde o início de $string
expr corresponde a “$string” '.*($substring)'Extraia $substring*, pesquisando a partir do final de $string
expr “$string”: '.*($substring)'Extraia $substring*, pesquisando a partir do final de $string

Citando

O texto a seguir mostra caracteres que devem ser citados se você quiser usar seus símbolos literais e não seu significado especial.

SÍMBOLO SIGNIFICADO LITERAL
;Separador de comando
&Correndo em segundo plano
()Agrupamento de Comando
|Tubo
< > &Redirecionar símbolos
[ ] ~ + – @ !Metacaracteres de nome de arquivo
«'Usado para citar caracteres.
$Substituição de variável, comando ou aritmética
#Iniciar um comando que termine com uma quebra de linha
nova linha da tabulação de espaçoseparadores de palavras

Tudo entre "..." é interpretado literalmente, exceto $(dollar)` (aspas crases) e » (aspas duplas).

Tudo entre '…' é interpretado literalmente, exceto '(aspas simples).

Os itens a seguir são interpretados literalmente. Use-o para escapar de qualquer coisa em "..." ou '..."

Usar $ antes de '…' ou '…' causa um comportamento especial. $»…» é o mesmo que «…» exceto que a tradução local é realizada. Da mesma forma, $'…' é semelhante a $'…' exceto que a string entre aspas é processada para sequências de escape.

Parâmetros de comando

Parâmetros de comando, também conhecidos como argumentos, são usados ​​ao invocar um script Bash.

DOMÍNIODESCRIÇÃO
US$ 0Nome do próprio script.
US$ 1… US$ 9Parâmetro 1…9
${10}Parâmetro posicional 10
$*Ele se expande para parâmetros posicionais, começando em um. Quando a expansão ocorre entre aspas duplas, ela se expande para uma única palavra com o valor de cada parâmetro separado pelo primeiro da variável de ambiente IFS.
$-Opções atuais
$_A variável de sublinhado é definida quando o shell é iniciado e contém o nome absoluto do arquivo do shell ou script que está sendo executado conforme passado na lista de argumentos. Em seguida, é expandido para o último argumento do comando anterior, após a expansão. Também é definido o caminho completo de cada comando executado e colocado no ambiente exportado para esse comando. Ao verificar mensagens, este parâmetro contém o nome do arquivo de mensagens.
$$ID do processo shell
$?Status de saída do comando executado mais recentemente
$@Todos os argumentos como palavras separadas.
$#Número de argumentos
$!PID do processo em segundo plano mais recente

Expansão da história

Permite o uso e manipulação de comandos anteriores.

DOMÍNIO DESCRIÇÃO
!Uma substituição histórica começa.
!!Refere-se ao último comando.
!nRefere-se à <n>-ésima linha de comando.
!-nRefere-se à linha de comando atual menos <n>.
!cordaRefere-se ao comando mais recente começando com <string>
!?corda?Refere-se ao comando mais recente contendo <string> (a terminação ? é opcional)
^string1^string2^Substituição rápida. Repita o último comando, substituindo <string1> por <string2>.
!#Refere-se a toda a linha de comando escrita até agora.

Operações variáveis

Execute operações em variáveis.

EXPRESSÃO
${parameter:-defaultValue}
Obtenha o valor padrão das variáveis ​​​​do shell
${parameter:=defaultValue}
Defina o valor padrão das variáveis ​​​​do shell
${parameter:?”Error Message”}
Exibe uma mensagem de erro se o parâmetro não estiver definido

Bash Globing

Bash não consegue reconhecer RegEx, mas entende globbing. O shell realiza a globalização de nomes de arquivos, enquanto RegEx é usado para pesquisar texto.

SímboloDESCRIÇÃO
*Corresponde a zero ou mais ocorrências de um determinado padrão
?Corresponde a zero ou uma ocorrência de um determinado padrão
+Corresponde a uma ou mais ocorrências de um determinado padrão
!Negates any pattern matches — reverses the pattern so to speak

Expressões regulares

Sempre use aspas em seu RegEx para evitar globbing

OPERADOREFEITO
.Corresponde a qualquer caractere individual.
?O item anterior é opcional e será correspondido, no máximo, uma vez.
*O elemento anterior corresponderá zero ou mais vezes.
+O elemento anterior corresponderá uma ou mais vezes
{N}O elemento anterior corresponde exatamente N vezes.
{N,}O elemento anterior corresponde N ou mais vezes.
{N, M}O elemento anterior corresponde pelo menos N vezes, mas não mais do que M vezes.
Representa o intervalo se não for o primeiro ou o último em uma lista ou o ponto final de um intervalo em uma lista.
^Corresponde à string vazia no início de uma linha; também representa caracteres que não estão no intervalo de uma lista.
$Corresponde à string vazia no final de uma linha.
[aoeiAOEI]Corresponde a qualquer caractere da lista.
[^AOEIaoei]Corresponde a qualquer caractere que não esteja na lista!
[af]Corresponde a qualquer caractere no intervalo af

Em expressões regulares básicas, os metacaracteres «?», «+», «{«, «|», «(» e «)» perdem seu significado especial; em vez disso, use a barra invertida "?" … «)». Verifique a documentação do sistema se os comandos que usam expressões regulares suportam expressões estendidas.

Classes de personagens em BRE

Uma classe de caracteres [:CharClass:] é um conjunto de padrões predefinidos e consiste no seguinte:

CLASSE DE PERSONAGEMEQUIVALENTEEXPLICAÇÃO
[:mais baixo:][az]Letras minúsculas.
[:superior:][AZ]Letras maiúsculas
[:alfa:][A-Za-z]Letras alfabéticas, maiúsculas e minúsculas.
[:dígito:][0-9]Números 0-9.
[:alnum:][a-zA-Z0-9]Alfanumérico: letras (maiúsculas + minúsculas) e dígitos.
[:xdígito:][0-9A-Fa-f]Dígitos hexadecimais.
[:espaço:][\t\n\r\f\v]Espaço em branco. Espaços, tabulações, novas linhas e assim por diante.
[:ponto:]Símbolos (menos dígitos e letras).
[:imprimir:][[:gráfico] ]Caracteres imprimíveis (espaços incluídos).
[:em branco:][\ t]Somente caracteres de espaço e tabulação.
[:gráfico:][^ [:cntrl:]]Caracteres imprimíveis graficamente sem incluir espaços.
[:cntrl:]Personagens de controle. Caracteres não imprimíveis

Adições de casca

As compilações de shell integradas do Bash são normalmente muito (se não extremamente) rápidas em comparação com programas externos. Algumas das funções integradas são herdadas do Bourne Shell (sh); Esses comandos legados também funcionarão no Bourne Shell original.

CONSTRUÍDAS EMDESCRIÇÃO
:Equivalente a verdadeiro.
.Lê e executa comandos de um arquivo designado no shell atual.
[É sinônimo de prova, mas requer um argumento final de ].
apelidoDefine um alias para o comando especificado.
b.g.Retome um trabalho em modo de segundo plano.
vincularVincula uma sequência de teclado a uma função ou macro de linha de leitura.
quebrarSai de um loop for, while, select ou Until.
construídas emExecuta o comando integrado para o shell especificado.
chamadorRetorna o contexto de quaisquer chamadas de sub-rotina ativas.
caso
CDAltera o diretório atual para o diretório especificado.
comandoExecuta o comando especificado sem a pesquisa normal do shell.
compgenGera possíveis correspondências finais para a palavra especificada.
completoMostra como as palavras especificadas seriam completadas.
comopt
continuarRetomar a próxima iteração de um loop for, while, select ou Until.
declararDeclare uma variável ou tipo de variável.
você diráExibe uma lista de diretórios atualmente lembrados.
renegarExclui os trabalhos especificados da tabela de trabalhos do processo.
jogou foraExibe a string especificada em STDOUT.
habilitarAtiva ou desativa o comando shell integrado especificado.
avaliaçãoConcatena os argumentos especificados em um único comando e executa o comando.
executivoSubstitui o processo shell pelo comando especificado.
saídaForça a saída do shell com o status de saída especificado.
exportarDefine as variáveis ​​especificadas para estarem disponíveis para processos shell filho.
FCSelecione uma lista de comandos na lista do histórico.
fgRetome um trabalho no modo close-up.
obter opçõesAnalisa os parâmetros posicionais especificados.
cerquilhaEncontra e lembra o caminho completo do comando especificado.
ajudaExibe um arquivo de ajuda.
históriaMostra o histórico de comandos.
seUsado para ramificação.
empregosLista trabalhos ativos.
matarEnvia um sinal do sistema para o ID de processo (PID) especificado.
deixarAvalie cada argumento em uma expressão matemática.
localCrie uma variável de escopo limitado em uma função.
sairSai de um shell de login.
arquivo de mapa
popdRemove entradas da pilha de diretórios.
imprimirExibe texto usando strings formatadas.
empurradoAdiciona um diretório à pilha de diretórios.
senhaExibe o nome do caminho do diretório de trabalho atual.
lerLê uma linha de dados de STDIN e a atribui a uma variável.
somente leituraLê uma linha de dados de STDIN e a atribui a uma variável que não pode ser alterada.
retornarForça a saída de uma função com um valor que pode ser recuperado pelo script de chamada.
definirDefine e exibe valores de variáveis ​​de ambiente e atributos de shell.
mudançaAbaixe os parâmetros posicionais uma posição.
comprarAlterna os valores das variáveis ​​que controlam o comportamento opcional do shell.
fonteLê e executa comandos de um arquivo designado no shell atual.
suspenderSuspende a execução do shell até que um sinal SIGCONT seja recebido.
testeRetorna um status de saída 0 ou 1 dependendo da condição especificada.
vezesMostra o tempo acumulado do sistema e do shell do usuário.
armadilhaExecuta o comando especificado se o sinal do sistema especificado for recebido.
tipoMostra como as palavras especificadas seriam interpretadas se usadas como um comando.
formatadoDeclare uma variável ou tipo de variável.
limiteDefine um limite no recurso específico para usuários do sistema.
umaskDefina permissões padrão para arquivos e diretórios recém-criados.
unaliasExclua o alias especificado.
um conjuntoExclui a variável de ambiente ou atributo shell especificado.
atéLoop que é muito semelhante ao loop while, exceto que é executado até que o comando de teste seja executado com sucesso. Enquanto o comando de teste falhar, o loop até continuará.
espereFaça o shell esperar que um trabalho termine.
enquantoAguarda a conclusão do processo especificado e retorna o status de saída.

Visão geral dos símbolos Bash

Aqui reunimos uma coleção de toda a sintaxe misteriosa junto com uma breve descrição. Muitos desses símbolos são repetidos anteriormente, mas muitos são novos; Este é um bom ponto de partida se você for novo no idioma.

SÍMBOLOREFERÊNCIA RÁPIDA
#usado para comentários
$É usado para parâmetros e variáveis. Tem muitos casos extremos.
()É usado para executar comandos em um subshell.
$é usado para salvar a saída de comandos que são enviados para serem executados em um subshell.
(( ))É usado para aritmética.
$()é usado para recuperar a saída de expressões aritméticas, seja para uso com um comando ou para salvar a saída em uma variável.
$[ ]construção de expansão inteira obsoleta substituída por $(( )). Avalia números inteiros entre colchetes
[ ]Ele é usado para testes e é integrado. É útil em alguns casos para expansão de nomes de arquivos e manipulação de strings.
[[ ]]É usado para testes. Este é o que você deve usar, a menos que consiga pensar em um motivo para não fazê-lo.
<( )É utilizado para substituição de processos e é semelhante a um tubo. Pode ser usado sempre que um comando espera um arquivo e pode usar vários de uma vez.
{ }É usado para expansão de sequência.
${ }É usado para interpolação de variáveis ​​e manipulação de strings.
|é um canal usado para encadear comandos.
<usado para alimentar comandos de um arquivo
>é usado para enviar resultados para um arquivo e excluir qualquer conteúdo anterior desse arquivo.
|lógico ou
&&lógico e
usado para prefixos de opções
-usado para prefixos de opções longos
&usado para enviar um trabalho para segundo plano
<<PALAVRA<<-PALAVRAusado para heredocs
<<'PALAVRA'<<-'PALAVRA'strings são usadas   aqui
<<<usado para adicionar saída a um arquivo.
>>Aspas simples são usadas para preservar o valor literal.
' 'Aspas duplas são usadas para preservar o valor literal de todos os caracteres, exceto $, `` e
» «A barra invertida é usada para escapar de símbolos/caracteres interpretados de outra forma que tenham um significado especial.
\usado para separar os componentes de um nome de arquivo
/semelhante a um NOP: uma operação sem fazer nada. É um shell integrado com um status de saída verdadeiro.
:Usado para separar comandos destinados a serem executados sequencialmente.
;É usado para vincular operações aritméticas. Todos são avaliados, mas apenas o último é retornado.
,representa o diretório atual.
.representa o diretório principal.
..expande para o diretório inicial.
~Está obsoleto e não deve ser usado. Leia mais em sua respectiva seção.
``Está obsoleto e não deve ser usado. Leia mais em sua respectiva seção.

Controle de fluxo

As estruturas de fluxo de controle no Bash são simples, embora o Bash seja implacável se você errar na sintaxe.

Veja   exemplos  de como usar o fluxo de controle no bash.

ESTRUTURA DE SINTAXEPALAVRAS- CHAVE OU SÍMBOLOSDESCRIÇÃO
Sesim, então fiTeste uma condição.
Se-outrosim então sim não fiTeste uma condição e use um substituto se o teste falhar.
if-elif-elsese então elif se não fiFornece testes adicionais e um substituto se todos os testes falharem. Você pode omitir as condições elif ou adicionar quantas condições intermediárias desejar. Da mesma forma, você pode pular o recurso else.
Parapara fazerItere sobre uma sequência, uma lista ou qualquer coisa, tanto quanto a imaginação permitir.
Enquantoenquanto fazEnquanto uma condição for verdadeira, repita até que essa condição não seja mais verdadeira.
Atéaté terminarO inverso do loop while: enquanto o comando de teste falhar, o loop até continua.
Selecioneselecione o que fazerÉ usado para gerar menus facilmente. Qualquer declaração dentro dela pode ser outra construção de seleção, permitindo assim a criação de submenus.
casocaso ) ;; que CAlternativa se filial. Cada caso é uma expressão que corresponde a um determinado padrão (ou seja, um caso).

Perguntas frequentes

O que $1 e $2 significam no Bash?

Estes seriam "parâmetros posicionais" em um script bash. Neste contexto, eles se refeririam ao primeiro e ao segundo argumentos passados ​​ao script. Por exemplo, se você escreveu um script chamado “myTestScript.sh” com dois argumentos, como:

./myTestScript.sh arg1 arg2

$1 se referiria ao primeiro argumento e $2 se referiria ao segundo.

O que é $ no Bash?

$ representa uma variável, que pode ser usada para armazenar valores como números, strings ou arrays. Você usa $ para chamar essa variável em um script. 

Por exemplo, se você definir uma variável como esta: fav_color=blue

Você pode invocá-lo em um script com a linha: echo “Minha cor favorita é $fav_color” para a resposta “Minha cor favorita é azul”

O Bash é mais fácil do que o Python?

Embora as duas linguagens sejam semelhantes em muitos aspectos, diríamos que o Bash provavelmente seria mais fácil de aprender. 

Dizemos isso não porque haja uma curva de aprendizado acentuada para Python, pois você pode aprender o básico de qualquer um deles aproximadamente no mesmo tempo. Python é simplesmente capaz de realizar operações mais complexas; portanto, à medida que você avança em seu aprendizado, há mais para abordar em Python.

Como executar o comando Bash no Windows Powershell?

Para executar o Bash em um sistema Windows, você precisa instalar  o Windows Subsystem for Linux  . Conforme descrito no site da Microsoft,

“O subsistema Windows para Linux permite que os desenvolvedores executem um ambiente GNU/Linux (incluindo a maioria das ferramentas, utilitários e aplicativos de linha de comando) diretamente no Windows, sem modificação, sem a sobrecarga de uma máquina virtual tradicional ou configuração de inicialização dupla. «

Conclusão

Ao fecharmos este Guia rápido do BASH, detalhamos os segredos para otimizar a experiência do terminal. Desde a personalização da interface até a execução eficiente de comandos, essas dicas e truques não apenas economizam tempo, mas também aumentam as habilidades de segurança cibernética. O terminal BASH, quando dominado, torna-se uma ferramenta poderosa para profissionais que buscam aprimorar sua arte em defesa digital.

Esperamos que você tenha achado esta folha de dicas útil. O terminal bash é uma ferramenta poderosa para automatizar tarefas e gerenciar configurações. É útil para todos, desde administradores de sistema, desenvolvedores e pessoal de segurança cibernética até o usuário médio que escolhe o Linux como driver diário.

Recomendamos que você dê uma olhada em nossa  folha de referências da linha de comando do Linux para desenvolver totalmente sua base de conhecimento e aproveitar ao máximo a linha de comando.

Aprenda Linux do zero e prepare-se para a Certificação LPIC-1.

Este curso começa do início, ensinando o mais básico, acompanhando você em cada passo e dúvida que você tiver até atingir o conhecimento necessário para que, se quiser, possa trabalhar com Linux e tirar a certificação LPIC-1.

Sou conhecido por ter  muita prática  em meus cursos, e este não é exceção. Além do mais, forneço  Modelos de Exames de Certificação  para que você possa praticar e ver o que o espera quando fizer o exame.

Meu nome é  Álvaro Chirou , tenho mais de  20 anos de experiência trabalhando em Tecnologia , já fiz  apresentações em eventos internacionais  como OWASP, tenho  mais de 500 mil alunos na Udemy e 100 cursos de formação profissional ministrados lá.

Comece a aprender agora mesmo e junte-se a mim neste curso incrível.

O que você aprenderá:

  • Automatize processos no Linux com Bash
  • Comandos Linux do básico ao avançado.
  • Faça conexões seguras com SSH do Linux e Windows
  • Obtenha a certificação em LPIC 1 para ter uma maior oportunidade de trabalho
  • Você praticará com modelos de exames REAIS da certificação LPIC 1
  • Segurança informática em Linux
  • Rede no Linux
  • Como realizar tarefas administrativas

Comece do 0 no Linux. Prepare a Certificação LPIC-1 com todo o conteúdo teórico, prática e modelos de exames: https://achirou.com/certificacion-lpic-linux

Gostaria de saber quando lançaremos descontos máximos ou novos cursos?

Comentários

Ebook

Postagens mais visitadas