Redes de Computadores Shell Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1
Interpretador de comandos Interpreta as instruções enviadas pelo usuário e seus programas ao sistema operacional (kernel) Executa comandos lidos do dispositivo de entrada padrão (teclado) ou de um arquivo executável. No Linux existem diversos programas shell. O que nós utilizaremos é o bash (Bourne Again SHell). 2
Existem duas formas de utilizar um shell: modo interativo o usuário digita um comando e espera a execução dele antes de passar ao próximo comando modo batch, script, lote ou não-interativo quando um conjunto de comandos serão executados, a partir de uma data e hora especificada, e não terá intervenção do usuário 3
ls: Lista os arquivos de um diretório ls [opções] [ caminho/arquivo] Opções: -a: Lista todos os arquivos (inclusive os ocultos) de um diretório. -l: Lista as permissões, data de modificação, donos, grupos, etc. -rwxr-xr-- 1 gustavo financeiro 166 Mai 1 02:07 teste.c Nome do arquivo Data da última modificação Tamanho do arquivo Grupo dono Usuário dono Número de links que apontam para este arquivo Permissões (r-read, w-write, x-execute) separadas em 3 partes: usuário, 4 grupo e outros
cd: Permite navegar no diretório. É necessário ter permissão de execução para entrar no diretório. cd [ diretório] mkdir: Cria um diretório no sistema. mkdir [opções] [ caminho/diretório] Opções: --verbose (Mostra uma mensagem para cada diretório criado) 5
rm: Remove um diretório/arquivo do sistema. rm [ opções] [ diret ório/arquivo] Opções: -i (Pergunta antes de remover) -r (Usado para remover sub-diretórios) -f (Remove os arquivos sem perguntar) 6
cp: Copia arquivos. cp [opções] [origem] [destino] Opções: -R (Copia arquivos e sub-diretórios) -p (Preserva atributos do arquivo, se for possível) -u (Copia somente se o arquivo de origem é mais novo que o arquivo de destino ou quando o arquivo de destino não existe) mv: Move ou renomeia arquivos e diretórios. mv [opções] [origem] [destino] 7
more: Utilizado para paginar a saída de comandos ou arquivos. more <alvo> cmp: Utilizado para com parar arquivos. cmp <arquivo1> <arquivo2> grep: pesquisa a ocorrência de cadeias de caracteres na entrada definida. grep [opções] [ texto ] [destino] 8
find: usado para encontrar arquivos ou diretórios pelo sistema de arquivos. find [origem] [opções] Ex.: find /home/usuario -name teste.c (procura o arquivo teste.c dentro do diretório usuario) cat: Utilizado para listar o conteúdo do arquivo texto. cat [opções] < alvo> Ex.: cat -n /etc/passwd (mostra o conteúdo do arquivo numerando cada linha) 9
tar: não é um compactador e sim um " arquivador" (ele junta vários arquivos em um só). tar [opções] [arquivo-destino] [arquivos-origem] Ex.: tar pczvf backup.tar.gz /home tar zxvf backup.tar.gz 10
chmod: muda a permissão de acesso a um arquivo ou diretório. chmod [opções] [permissões] [arquivo/diretório] chgrp: muda o grupo do arquivo/diretório. chgrp [opções] [grupo] [arquivo/diretório] chown: muda o dono do arquivo/diretório. chown [opções] [dono.grupo] [arquivo/diretório] 11
Redirecionamentos > (new) Redireciona a saída padrão, sendo que se não existir e caso exista o arquivo, seu conteúdo será removido para receber a saída < Redireciona a entrada. 12
Comandos agrupados Os comandos Unix podem ser agrupados de maneira a direcionarmos a saída de um comando para a entrada de outro e assim sucessivamente. Utiliza-se o caractere (pipe). Pode-se também executar vários comandos na mesma linha de comando separando-os pelo caractere ;. 13
Administração de Usuários/Grupos Contas de usuários armazenadas no arquivo /etc/passwd Padrão ASCII Contém informações de login, uid, nome completo Se o sistema estiver usando senha oculta, no lugar da senha terá um caracter x. 14
Administração de Usuários/Grupos Senhas contidas no arquivo /etc/shadow Os grupos são armazenados no arquivo /etc/group Contém informações do nome do grupo, senha do grupo, gid 15
Administração de Usuários/Grupos useradd: adiciona um usuário no linux. Ex.: useradd jose -g informatica -m -s /bin/bash chfn: muda os dados pessoais do usuário. Ex.: chfn jose -f 'José da Silva' -o 'Funcionario Suporte' passwd: altera a senha do usuário. Ex.: passwd jose 16
Administração de Usuários/Grupos groupadd: adiciona um grupo no linux. Ex.: groupadd informatica usermod: modifica a conta do usuário. Ex.: usermod -G informatica jose userdel: exclui um usuário do linux. Ex.: userdel jose -r groupdel: exclui um grupo do linux Ex.: groupdel informatica 17
Script de cadastro de Usuário clear echo " Programa de Cadastro de Usuarios" echo echo "Digite o login:" read login useradd $login 2> /dev/null condicao=$? if [ $condicao -eq 0 ]; then echo "Usuário cadastrado com sucesso!!!"; elif [ $condicao -eq 9 ]; then echo "Usuario existente!!!"; fi; 18