Hello Shell

Comandos básicos

ComandoDescriçãoSintaxe
echoExibe o texto na telaecho “texto a ser mostrado”
sleepDá um tempo antes de continuar executandosleep segundos exemplo: Sleep 1
readRecebe o valor de uma variável (veremos ainda) read variávelexemplo: read dados
>Escreve num arquivo-texto (apagando o que estava lá)echo “texto” > /home/"user"/arquivo
>>Escreve num arquivo-texto (última linha, não apaga)echo “texto” > /home/"user"/arquivo
&Roda o comando em 2o plano e continua o scriptComando &
exitSai do scriptexit
touchCria arquivos-textotouch nome_do_arquivo
#Comenta tudo depois deste símbolo# Comentário

Manipulação de Diretórios

ComandoDescriçãoSintaxe
rm-rf rm -rf +diretórioDeleta arquivos/pastas e tudo que estiver dentro (cuidado)
pwdpwdMostra o caminho do diretório atual
mkdirmkdir nome_pastaCria uma pasta
lslsMostra os arquivos do diretório atual
chmodchmod 777 arquivo_ou_pastaMuda as permissões, 777 = permissão total
chownchown user:grupo arq_ou_diret.Muda o proprietário de arquivos e pastas
cdcd diretórioEntra em diretórios

Comandos de Usuários

ComandoDescriçãoSintaxe
useradduseradd nome_usuario -g alunos (no grupo)Adiciona um usuário
userdeluserdel usuárioDeleta usuário e seus arquivos
groupdelgroupdel grupoDeleta um grupo
groupsgroups nome_usuarioMostra os grupos do usuário
addgroupaddgroup usuario grupo ou addgroup nomedogrupoCria um grupo ou adiciona um usuário ao grupo
sudosudo comandoExecuta comandos como root
whoamiwhoamiIdentifica com qual usuário você esta logado

Redes

ComandoDescriçãoSintaxe
ifconfigifconfigMostra as interfaces de rede
hostnamehostnameMostra ou muda o nome de seu computador na rede
pingPingip_desejado Dispara pacotes para outro pc, para testar conexões etc

Manipulação do sistema

ComandoDescriçãoSintaxe
killallkillall nome_do_programaMata um processo
xkillxkillMata um programa
whatiswhatis +nome do programaDescreve o que faz o comando
diffdiff arquivo1 arquivo2Compara os dois arquivos
psps -elfMostra os programas que estão rodando
catcat arquivo_textoMostra o conteúdo de um arquivo de texto
lnln -s arquivo_original atalhoCria atalho
cpcp arquivo destinoCopia um arquivo ou diretório (-R para diretórios)
findfind +nomeProcura por arquivos e diretórios

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 Númericos

Comparadores Alfanuméricos

Operadores de Seleção

# Estrutura If
# Espaçamento obrigatório
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"
    exit;; 
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

Referência