Hello Shell

Comandos Básicos

Comando Descrição Sintaxe
echo Exibe o texto na tela echo "texto a ser mostrado"
sleep Dá um tempo antes de continuar executando sleep segundos (ex: sleep 1)
read Recebe o valor de uma variável read variável
> Escreve num arquivo-texto (apagando o que estava lá) echo "texto" > arquivo
>> Escreve num arquivo-texto (última linha, não apaga) echo "texto" >> arquivo
& Roda o comando em 2º plano e continua o script comando &
exit Sai do script exit
touch Cria arquivos-texto touch nome_do_arquivo
# Comenta tudo depois deste símbolo # Comentário

Manipulação de Diretórios

Comando Descrição Sintaxe
rm Deleta arquivos/pastas e tudo que estiver dentro (cuidado) rm -rf diretório
pwd Mostra o caminho do diretório atual pwd
mkdir Cria uma pasta mkdir nome_pasta
ls Mostra os arquivos do diretório atual ls
chmod Muda as permissões chmod 777 arquivo_ou_pasta
chown Muda o proprietário de arquivos e pastas chown user:grupo arq_ou_diret
cd Entra em diretórios cd diretório

Comandos de Usuários

Comando Descrição Sintaxe
useradd Adiciona um usuário useradd nome_usuario -g alunos
userdel Deleta usuário e seus arquivos userdel usuário
groupdel Deleta um grupo groupdel grupo
groups Mostra os grupos do usuário groups nome_usuario
addgroup Cria um grupo ou adiciona um usuário ao grupo addgroup usuario grupo
sudo Executa comandos como root sudo comando
whoami Identifica com qual usuário você está logado whoami

Redes

Comando Descrição Sintaxe
ifconfig Mostra as interfaces de rede ifconfig
hostname Mostra ou muda o nome de seu computador na rede hostname
ping Dispara pacotes para outro pc, para testar conexões ping ip_desejado

Manipulação do Sistema

Comando Descrição Sintaxe
killall Mata um processo killall nome_do_programa
xkill Mata um programa xkill
whatis Descreve o que faz o comando whatis nome_do_programa
diff Compara os dois arquivos diff arquivo1 arquivo2
ps Mostra os programas que estão rodando ps -elf
cat Mostra o conteúdo de um arquivo de texto cat arquivo_texto
ln Cria atalho ln -s arquivo_original atalho
cp Copia um arquivo ou diretório cp arquivo destino
find Procura por arquivos e diretórios find nome

Linguagem Shell

Variável

# Escrever
echo "Hello World"

# Atribuição 
RESPOSTA="certo"

# Recebe valor atribuido pelo usuário
echo "Escreve sua resposta"
read RESPOSTA

# Atribuição por arquivo texto
ALUNO=$(cat /home/resposta.txt)

Operadores Lógicos - Comparadores Numéricos

  • -lt: Número é menor que (Less Than)
  • -gt: Número é maior que (Greater Than)
  • -le: Número é menor ou igual (Less Equal)
  • -ge: Número é maior ou igual (Greater Equal)
  • -eq: Número é igual (EQual)
  • -ne: Número é diferente (Not Equal)

Operadores Lógicos - Comparadores Alfanuméricos

  • =: Texto é igual
  • !=: Texto é diferente
  • -n: Texto não nulo
  • -z: Texto é nulo

Operadores de Seleção

# Estrutura If
if [ "$USER" = "ANA"  ];then
    mkdir $USER
fi

# Estrutura If (...) Else
if [ "$USER" = "ANA"  ];then
    mkdir $USER
else 
    echo "Error: Usuário não existe"
fi

# Estrutura Case
case $TESTE in
    1) echo "Opção 1";;
    2) echo "Opção 2";;
    *) echo "Opção Inválida";;
esac

Laço de Repetição

# Estrutura For
for ((LOOP=0; LOOP<3; LOOP++));do 
    echo $LOOP
done

# Estrutura While
LOOP=0  
while [ $LOOP -lt 3 ];do
    echo $LOOP
    LOOP=$[ $LOOP + 1 ] 
done

# Estrutura Until
LOOP=0  
until [ $LOOP -lt 3 ];do
    echo $LOOP
    LOOP=$[ $LOOP + 1 ]
done