Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Programação para Servidores Mario Cavalcante Aula 5 Objetivos Conhecer os comandos externos de um shell; Desenvolver scripts mais eficientes utilizando comandos e estruturas de controle mais complexas 2 ‹nº› A possibilidade de utilização de comandos e aplicativos do sistema operacional tornam scripts do shell mais poderosos. Tal poder vem da união dos comandos do sistema e diretivas do shell com construções simples de programação. 3 Comandos externos ‹nº› Comando básico para listar o conteúdo de um diretório. Alguns parâmetros: -R - lista os subdiretórios recursivamente -S - ordena pelo tamanho do arquivo -t - ordena pela hora de modificação -r - reverte a ordenação -a - mostra arquivos ocultos (iniciados por .) -h - mostra em formato mais apropriado para leitura humana -l - utiliza formato longo para mostrar atributos de arquivos 4 Comandos básicos - ls ‹nº› Exibe o conteúdo de um arquivo texto. Envia o conteúdo do arquivo para a saída padrão (por padrão o monitor). 5 cat /etc/named.conf Comandos básicos - cat ‹nº› Com cat –help é possível encontrar alguns complementos interessantes. Para quem desenvolve scripts o comando cat –n arquivo exibe o número das linhas do arquivo 6 cat –n /etc/named.conf Comandos básicos - cat ‹nº› Similar ao cat, porém as linhas do arquivo são mostradas da última para a primeira. 7 tac /etc/named.conf Comandos básicos - tac ‹nº› Envia o conteúdo do arquivo para a saída padrão, mas mostra as linhas de trás para frente. A ordem das linhas é mantida, porém são mostrados do último ao primeiro caractere da linha. 8 rev /etc/named.conf Comandos básicos - rev ‹nº› Cópia de arquivos. Alguns parâmetros -f - força a cópia -i - interativo (pergunta antes de sobrescrever) -R, -r - copia diretórios recursivamente -v - mostra os arquivos que estão sendo copiados Sintaxe: cp origem destino 9 cp /etc/named.conf /home/teste Comandos básicos - cp ‹nº› Move arquivos. Também utilizado para renomear. Alguns parâmetros: -f - força a movimentação -i - interativo (pergunta antes de sobrescrever) -v - mostra os arquivos que estão sendo movidos Sintaxe: mv origem destino 10 cp /etc/named.conf /home/teste Comandos básicos - mv ‹nº› rm - Remove (deleta) arquivos. Alguns parâmetros: -f - força a remoção -i - interativo (pergunta antes de remover) -R, -r - remove diretórios recursivamente -v - mostra os arquivos que estão sendo removidos rmdir Remove diretórios vazios 11 rm –rf /home/teste Comandos básicos – rmdir e rm ‹nº› Cria um novo diretório 12 mkdir /home/teste Comandos básicos – mkdir ‹nº› Permissões de acesso protegem o sistema de arquivos do acesso indevido de pessoas ou programas não autorizados. O princípio da segurança é baseado na definição de como será o acesso aos arquivos por donos, grupos e outros usuários 13 Direitos de acesso ‹nº› No Linux cada arquivo possui uma definição de: dono: Usuário que criou o arquivo ou o diretório. grupo: Cada usuário pode fazer parte de um ou mais grupos e então acessar arquivos que pertençam ao mesmo grupo que o seu. outros: Categoria de usuários que não são donos ou não pertencem ao grupo do arquivo. 14 Direitos de acesso ‹nº› Para cada um destes, usuário, grupo e outro (“UGO”) são definidos os direitos de acesso de leitura (read), escrita (write) e execução (eXecute). Resumindo: rwx para UGO 15 Direitos de acesso ‹nº› Verificando os direitos dos arquivos de um diretório: 16 ls -la /home/professor/shell [root@professor shell]# ls -la total 13156 drwxrwxrwx 3 root root 4096 Mai 31 19:36 . drwxrwxrwx 30 root root 4096 Out 11 20:54 .. drwxrwxrwx 8 root root 4096 Mai 10 17:45 exemplos -rw-r--r-- 1 root root 6716606 Mai 31 19:36 exemplos.tar.gz -rw-r--r-- 1 root root 6730922 Mai 31 19:36 exemplos.zip -rwxrwxrwx 1 root root 119 Set 25 2015 index.php -rwxrwxrwx 1 root root 119 Set 25 2015 index.php~ Direitos de acesso ‹nº› Detalhando os direitos 17 [root@professor shell]# ls -la total 13156 drwxrwxrwx 3 root root 4096 Mai 31 19:36 . drwxrwxrwx 30 root root 4096 Out 11 20:54 .. drwxrwxrwx 8 root root 4096 Mai 10 17:45 exemplos -rw-r--r-- 1 root root 6716606 Mai 31 19:36 exemplos.tar.gz -rw-r--r-- 1 root root 6730922 Mai 31 19:36 exemplos.zip -rwxrwxrwx 1 root root 119 Set 25 2015 index.php -rwxrwxrwx 1 root root 119 Set 25 2015 index.php~ -rw-r--r-- 1 root root 6730922 Mai 31 19:36 exemplos.zip U G O Direitos de acesso ‹nº› Detalhando os direitos 18 -rw-r--r-- 1 root root U G O U r w – leitura e escrita G r - - Somente leitura O r - - Somente leitura Direitos de acesso ‹nº› chmod 19 4 2 1 U r w – 6 G r - - 4 O r - - 4 r w x 4 2 1 Direitos de acesso ‹nº› Para que usuário, grupo e outros tenham rwx 20 4 2 1 U r w x 7 G r w x 7 O r w x 7 r w x 4 2 1 chmod 777 arq Direitos de acesso ‹nº› Outra sintaxe do chmod 21 4 2 1 U r w x 7 G r w x 7 O r w x 7 r w x 4 2 1 chmod 777 arq chmod ugoa+= rwx arq Direitos de acesso ‹nº› 22 chmod 777 chmod ugoa+= rwx arq chmod 755 chmod goa+=rx arq U r w x 7 G r - x 5 O r - x 5 4 2 1 U r w x 7 G r w x 7 O r w x 7 4 2 1 Direitos de acesso ‹nº› Cria um link semelhante a um atalho do Windows. Link simbólico fica quebrado quando o arquivo referenciado é movido Hard Link se mantém mesmo quando o arquivo é movido. 23 ln /home/aula/script1.sh programa ln –s /home/aula/script1.sh programa Comandos básicos – ln ‹nº› date Mostra a data e a hora do sistema. Também é utilizado para acertar a data/hora. time Mostra estatísticas de utilização de tempo do processo executado como parâmetro. 24 Comandos para data e hora ‹nº› at Programa um aplicativo para executar automaticamente em determinada data/hora. Sintaxe: 25 at hh:mm -f commando at -t AAAAMMDDhhmm -f comando Comandos para data e hora ‹nº› sleep Suspende a execução de um script por uma dada quantidade de segundos. hwclock, clock Consulta ou acerta a hora no relógio do hardware. 26 Comandos para data e hora ‹nº› cal Mostra um calendário. 27 Comandos para data e hora ‹nº› sort Mostra um arquivo com as linhas em ordem alfabética. sort /etc/named.conf 28 Comandos para processamento de texto ‹nº› uniq Remove linhas duplicadas de um arquivo ordenado. head Envia as primeiras linhas de um arquivo para a saída padrão. 29 Comandos para processamento de texto ‹nº› tail Envia as últimas linhas de um arquivo para a saída padrão. Quando utilizado com o parâmetro -f o comando continua mostrando novas linhas que são adicionadas ao arquivo (útil para monitorar arquivos de log). 30 Comandos para processamento de texto ‹nº› wc Exibe a quantidade de linhas, palavras e caracteres em um arquivo. 31 Neste exemplo o arquivo possui: 83 linhas, 185 palavras e 1571 caracteres. Comandos para processamento de texto ‹nº› Compactação e agrupamento de arquivos tar gzip bzip2 zip, unzip arj, unarj rar, unrar 32 Comandos para arquivamento ‹nº› file Identifica o tipo de um arquivo. which Mostra em que diretório se encontra determinado arquivo. diff Compara 2 arquivos e mostra as diferenças entre eles. 33 Comandos para arquivamento ‹nº› su Executa um programa como um usuário substituto ou inicia um shell como outro usuário. uname Exibe informações sobre o sistema. 34 Comandos do sistema ‹nº› free Mostra o total de memória RAM e swap utilizada pelo sistema. du Mostra o total de espaço em disco utilizado (recursivamente) por arquivos e/ou diretórios. df Mostra a utilização dos discos/partições. 35 Comandos do sistema ‹nº› dmesg Mostra todas as mensagens emitidas durante o processo de boot do sistema. uptime Mostra por quanto tempo o sistema está em execução. 36 Comandos do sistema ‹nº› Programação para Servidores Atividade Aula 5 Mario Cavalcante Desenvolva um Script que: liste os arquivos de /etc exiba a quantidade de memória exiba a ocupação dos discos 38 Atividade ‹nº› #!/bin/bash echo “Listagem dos arquivos:” ls /etc echo “Memória em uso:” free echo “Ocupação do disco:” df 39 Solução ‹nº›
Compartilhar