quarta-feira, 30 de maio de 2018

Redes de Computadores Comandos Linux - EXERCICIOS 30/05/2018


Redes de Computadores Comandos Linux e Exercícios

Comandos básicos utilizados para trabalhar com diretórios e arquivos:

ØØ   ls: listar o conteúdo do diretório corrente (ou de um diretório dado).
ØØ   rm: remover arquivos.
ØØ   mv: movimentar arquivos.
ØØ   cp: copiar arquivos.
ØØ   cat: apresentar o conteúdo de arquivos.
ØØ   more: visualizar o conteúdo de arquivos (paginado).
ØØ   ln: criar links (atalhos).
ØØ     “pwd” : indica qual o diretório corrente do shell.
ØØ   “cd” : troca de diretório:
o    “cd “dir : muda para o diretório dir.
o    “cd ..” : muda para o diretório pai imediatamente superior.
o    “cd -“ : volta para o último diretório visitado.
o    “cd ~user” : vai para o diretório HOME do usuário indicado.
o    “cd” : volta ao diretório HOME.
ØØ   “mkdir” dir : criação do diretório dir.
ØØ   “rmdir” dir : remoção do diretório dir.


Comandos avançados para arquivos

ØØ     “grep” : procurar strings dentro de arquivos de texto. Exemplos:
o    Procurar todas as linhas contendo 'tcsh' em /etc/passwd R: grep tcsh /etc/passwd

ØØ   Procurar todas as linhas que não contenham tcsh em /etc/passwd  R:            grep -v tcsh /etc/passwd

ØØ   “find” : encontra arquivos que satisfaçam certas características. Vejamos alguns exemplos de procura:
o    Procurar todas as entradas “*txt” dentro do diretório /usr: R:  find /usr -name '*txt' –print

ØØ   Procurar todas as entradas *ab* ou *cd* (maíusculas ou minúsculas) presentes em /opt R:            find /opt -iname '*ab*' -or -iname '*cd*'

ØØ   Procurar todas as entradas acessadas a mais de 4 dias em /etc: R:            find /etc -atime +4

ØØ   Procurar todas as entradas modificadas a menos de 2 dias em /etc que tenham mais de 5 Kbytes de tamanho:
R:         find /etc -mtime -2 -and -size +5k

ØØ   Procurar todos os diretórios dentro de /opt cujo grupo tenha acesso em escrita: R:            find /opt -type d -perm +g+w

ØØ   “touch” : atualizar a data de um arquivo

ØØ   “diff” : comparar dois arquivos, mostrando as diferenças entre eles.





Informações em arquivos

Vários comandos permitem obter maiores informações sobre arquivos e sistemas de arquivos. Eis os principais:

ØØ   “stat” : detalhes sobre um arquivo ou diretório (i-nodes).
o    stat /usr/bin/ls

ØØ   “file” : identificar o conteúdo de um arquivo, analisando-o.
o    file /etc/* | more

ØØ   “whereis” : indica onde estão os binários, fontes e páginas de manual de um comando dado.
o    whereis ls

ØØ   “which” : indica o caminho completo para o comando dado.
o    which ls

ØØ   “du” : indica o espaço usado em disco pelos arquivos ou diretórios dados.
o    du $HOME

ØØ   “df” : informações sobre os sistemas de arquivos disponíveis na máquina e sua ocupação.
o    df

ØØ   “tree” : apresenta na tela uma estrutura de diretórios, com ou sem os arquivos.
o    tree


Compressão de arquivos com TAR, COMPRESS, GZIP ou BZIP

Para comprimir arquivos são precisos dois passos:
1.     Aglutinação dos arquivos e diretórios em um único grande arquivo, usando o comando tar.
2.     Compressão do arquivo único, usando comandos como compress, gzip ou bzip2.

O comando tar é bastante antigo, e significa Tape ARchiving (tar também é “piche” em inglês, o que sugere o processo de aglutinação). Ele era muito usado para copiar diretórios em fitas magnéticas. Com as opções adequadas, permite guardar diversos arquivos e diretórios em um único arquivo. Sua sintaxe básica é:

ØØ   Para criar um arquivo ”.tar”: “tar cvf arq.tar dir1 dir2 dir3 …“
ØØ   Para abrir um arquivo ”.tar”: “tar xvf arq.tar”
ØØ   Para listar o conteúdo de um arquivo ”.tar”: “tar tvf arq.tar”


As principais opções do comando tar são:

ØØ   “c” : criar um novo arquivo ”.tar” com o nome indicado
ØØ   “x” : extrair dados do arquivo ”.tar” indicado
ØØ   “t” : listar o conteúdo do arquivo ”.tar”indicado
ØØ   “v” : verbose, mostra detalhes na tela sobre o que está sendo feito

ØØ   “f” : indica que o próximo parâmetro é o nome do arquivo ”.tar” a ser usado. Caso não seja indicado, é usado o conteúdo da variável $TAPE, ou o arquivo /dev/rst0 (fita magnética).
ØØ   “z” : para comprimir/expandir os arquivos tratados usando o gzip (ver abaixo).
ØØ   “Z” : para comprimir/expandir os arquivos tratados usando o compress (ver abaixo).

Para compactar use os comandos abaixo:
ØØ   “compress” : compactador standard do UNIX, hoje em dia pouco usado, mas presente em todas as plataformas. Gera arquivos com extensão ”.Z”.
ØØ   “gzip” : GNU-Zip, um compactador extremamente popular, é muito eficiente. Gera arquivos com extensão ”.gz”.
ØØ   “bz2” : De uso recente e ainda pouco difundido, certamente será muito usado nos próximos anos, por ser ainda mais eficiente que o gzip. Gera arquivos com extensão ”.bz2”.

Um procedimento muito usado é o uso combinado dos comandos tar e gzip, através das opções “z” e “Z” do comando tar. Assim, para obter um arquivo comprimido “corrente.tar.gz” com todo o conteúdo do diretório corrente, basta executar o seguinte comando:

tar czvf corrente.tar.gz . (atenção ao ”.”, que indica o diretório corrente)

Os arquivos ”.tar.gz” também costumam ser nomeado como ”.tgz”, e definem o formato da maior parte dos arquivos UNIX encontrados na Internet. Arquivos nesse formato também podem ser abertos pelas versões recentes do compactador WinZip, do Windows.


Exercícios

1.     Use o comando ls para obter listagens da seguinte forma:
o    listagem longa do diretório home, com detalhes. O que significa cada coluna da listagem ?
o    listagem curta do diretório home, incluindo os arquivos escondidos.
o    listagem longa de ”/var/spool/mail”, ordenada por tamanho dos arquivos
o    listagem longa de ”/etc”, ordenada alfabeticamente
o    listagem longa de ”/home”, ordenada por datas crescentes
o    listagem curta de ”/usr”, recursiva e ordenada por tamanho

2.     O comando mkdir permite criar diretórios com subdiretórios. Leia sua página de manual e execute-o para criar a seguinte estrutura de diretórios (dentro de seu diretório home), usando apenas uma operação. Use o comando “tree” para conferir a estrutura criada:
A
|        B
|        C
|        D

3.     Use o comando find para encontrar todos os links simbólicos presentes em /usr.

4.     O arquivo ”/var/log/messages “contém todos os logins recentes efetuados no sistema. Analise a estrutura do arquivo (usando o comando more); a seguir, use o comando grep para localizar os seus acessos.

5.    Crie um arquivo .tar, com o conteúdo do seu diretório $HOME. A seguir, compacte-o usando os comando compress, gzip e bzip2, e compare os resultados (tamanho).

Nenhum comentário:

Postar um comentário