Formação de Administradores de Redes Linux LPI – level 1 Aula 3 SENAC TI Fernando Costa Agenda • Manipulação de arquivos • Comandos: cat, cut, expand,fmt, head, join, nl, od, paste, pr, split, tac, tail, tr, wc e xargs • Organização de diretórios Manipulação de arquivos • ls (List - Listar): esse comando, semelhante ao DIR do DOS, serve para listar o conteúdo de um determinado diretório, apresentando arquivos e diretórios presentes no local especificado. • mkdir (Make Directory - Criar Diretório): o comando mkdir é usado para criar diretórios (ele é identico ao MD do DOS). • cd (Change Directory – Mudar de Diretório): esse comando tem a mesma função (e o mesmo nome) que tinha no DOS: permitir que o usuário “entre” em outro diretório. • pwd: esse comando informa ao usuário em que diretório ele está Manipulação de arquivos • clear (Limpar a tela): esse comando esvazia todos os caracteres mostrados na tela e coloca o prompt sozinho na parte superior esquerda da mesma. É equivalente ao cls do DOS • tree (Árvore): este comando mostra a estrutura de diretórios e arquivos em forma de uma árvore simples. É possível ver diretórios, os diretórios e arquivos dentro dos diretórios e assim sucessivamente • mv (Mover): esse comando tem duas funções distintas: mover e renomear arquivos e diretórios. O comando mv substitui os comandos MOVE e REN do DOS • cp (Copiar): o comando cp copia arquivos e diretórios (copiar é criar um outro arquivo idêntico ao original) • rm (Remover arquivos e diretórios): o comando rm é usado para apagar arquivos e diretórios (incluindo os diretórios não-vazios). • su (Super User – Super Usuário): esse comando permite que um usuário qualquer se torne, momentaneamente, o root Praticando LS Vá para o seu diretório HOME • Listar todos os arquivos de um diretório $ ls –a • Lista Longa dos arquivos de um diretório $ ls –l • Listar ordenado por tempo $ ls –t Outras opções: man ls ou ls --help Praticando MKDIR e RMDIR • Crie um diretório chamado Aula31Ago $ mkdir Aula31Ago • Mova o diretório Aula31Ago para Aula3? $ mv Aula31Ago Aula3 • Remova um diretório chamado Aula31Ago $ rmdir Aula31Ago Outras opções: man mkdir ou man mv ou man rmdir ou mkdir –help mv –help rmdir --help Praticando CD, TREE e MV • Limpe a tela $ clear • Qual é a árvore de diretórios do diretório corrente? $ tree -d Outras opções: man tree ou tree –help man mv ou mv --help Praticando CLEAR e PWD • Mudar para o diretório /tmp $ cd /tmp • Qual é o diretório corrente? $ pwd Outras opções: man mkdir ou man rmdir ou mkdir –help rmdir --help Praticando CP e RM • Copie o arquivo /etc/hosts para o diretório /tmp $ cp /etc/hosts /tmp • Remova o arquivo /tmp/hosts (cuidado!) $ rm /tmp/hosts • Crie um diretório chamado Aula31Ago $ mkdir Aula31Ago Copie o arquivo /etc/hosts para o diretório /tmp $ cp /etc/hosts /tmp/Aula31Ago • • Remova o Diretório /tmp/Aula31Ago (cuidado! – Recursivo e forçado!) $ rm –rf Aula31Ago Outras opções: man cp ou man rm ou cp –help rm --help Praticando SU • Torne-se o super usuário root $ su .... ou ... .... ou ... $ su -l root $ su - root • Torne-se o usuário senacti $ su -l senacti • Execute como super usuário o comando “id” $ su -c "id" -l root Outras opções: man su ou su –help Comando: cat Uso: cat [opções] arquivo – Serve para concatenar arquivos, imprimir o conteudo do arquivo na tela, ou ainda receber o comando digitado pelo teclado para um arquivo Comando: cat Salvar texto digitado em um arquivo: cat > teste.txt Digite todo o texto e depois aperte CTRL+D Comando: cat Imprimir arquivos na tela cat teste.txt Comando: cat Imprimir arquivos na tela cat teste.txt Comando: cat Concatenar arquivos cat teste.txt > teste1.txt (sobreescreve) cat teste.txt >> teste1.txt (concatena) Comando: tac Oposto do cat Exemplo $ tac /etc/hosts Comando: cut Uso Cut opções arquivo Cortar(inglês). Ele corta as colunas de um arquivo verticalmente, como no exemplo: Quais são os usuários do nosso sistema? $ cut -d ":" -f 1 /etc/passwd Comando: cut Opções mais frequentes são: • -b número Imprime uma lista vertical com o byte número da esquerda para a direita Exemplo: $ cut -b 1-10 /etc/passwd • -c número Imprime uma lista vertical com o caractere número da esquerda para a direita Exemplo: $ cut -c 1-10 /etc/passwd Comando: cut Opções mais frequentes são: -d Configura um delimitador que separa uma coluna da outra. O padrão é o TAB. Esta opção SEMPRE é acompanhada da opção abaixo. -f Indica qual coluna está sendo cortada Exemplo: $ cut -d ":" -f 1,5 /etc/passwd Comando: expand Uso: expand [opções] arquivo • O comando expand troca o TAB (tabulação) dentro dos textos para o números de espaços correspondentes. • É útil para tornar um arquivo texto que faz uso de tabulações mais atrativo para determinados dispositivos como o monitor, impressora, arquivos, etc. Comando: expand Opções: -t número de espaços. Padrão 8. -i só troca os TABs do início da linha, ignorando os subsequentes. Exemplo: $ expand Comando: fmt Uso: fmt [opções] [arquivos] • O comando fmt formata um texto com uma largura específica. • Ele pode remover espaços ou adicionar espaços conforme a largura desejada. • O padrão são 75 caracteres. Comando: fmt A opção frequentemente utilizada é: -w número configura a largura (width) desejada para o texto. Exemplo: fmt -w 20 /etc/passwd Comando: head Uso: head [opções] [arquivo] Quando utilizado sem nenhum parâmetro ele mostra o cabeçalho(cabeça = head) – 10 primeiras linhas - do arquivo Exemplo: # head /etc/passwd Comando: head Opções: -c número imprime o número de bytes especificado -n número exibe o número de linhas solicitado Exemplo: # head –c 50 /etc/passwd # head –n 2 /etc/passwd Comando: tail Uso: tail [opção] arquivo Oposto do head, ele mostra o rodapé(tail=cauda) do arquivo. Opções: -n número número de linhas a ser exibidas -f mostra continuamente as ultimas linhas Exemplo: $ tail –n 50 –f /var/log/messages Comando: join Uso: join [opções] arquivo1 arquivo2 • O comando join funciona junta arquivos através de índices • Pode ser utilizado para criação de bancos de dados simples Comando: join Opção de uso: -j número determina que os arquivos se unirão pela mesma coluna Comando: join Crie os arquivos: $ cat > arquivo1 DSP0638:CELTA CXL1660:KA CTRL+D $ cat > arquivo2 DSP0638:GM CXL1660:FORD CTRL+D Comando: join Testando o JOIN: $ join –j 1 arquivo1 arquivo2 Comando: nl Uso: nl [opções] [arquivo] • O comando nl (number line) é utilizado para numerar as linhas de um arquivo. • O comando considera condições especiais para o cabeçalho e o rodapé do arquivo. \:\:\: Iniciar o cabeçalho \:\: Iniciar o corpo \: Iniciar o rodapé Comando: nl As opções frequentemente utilizadas são: • -h subOpção Utilizada para formatar o cabeçalho(head) do texto. O padrão é não numerar o cabeçalho. • -b subOpção Utilizada para formatar o corpo(body) do texto. O padrão é numerar o corpo. • -f subOpção Utilizada para formatar o rodapé(footer) do texto. O padrão é não numerar o rodapé. Comando: nl As subopções são: a : Numerar todas as linhas. t : Numerar somente as preenchidas. n : Não numerar as linhas.Exemplo: Suponha que um arquivo.txt tenha o seguinte conteúdo. \:\:\: Meu relatório --------------------------------------Nome Estado --------------------------------------\:\: Fernando Costa \: --------------------------------------- Comando: od Uso: od [opções] [arquivo] • O comando od é utilizado para visualizar o conteúdo de um arquivo nos formatos hexadecimal, octal, ASCII e nome dos caracteres. • A opção mais utilizada é: -t tipo : Específica o tipo de saída que o comando od deve gerar. Os tipos disponíveis são: a : Nome do caractere c : ASCII o : Octal x : Hexadecimal O comando paste Uso Paste [opções] arquivo1 arquivo2 Comando utilizado para concaternar arquivos. Comando: paste Exemplo: $ seq 10 > inteiros $ seq 2 2 10 > pares $ paste inteiros pares $ paste -s pares $ paste -s -d'+' pares $ paste -s -d'+' pares | bc $ seq [número] | paste -sd'*' | bc (fatorial) Comando: pr Uso: pr [opções] arquivo • O comando pr imprime na tela o arquivo com paginação. Este comando formata um arquivo texto para uma saída paginada com cabeçalho, margens e largura definidos. • As opções mais usadas são: -a : Exibe colunas no sentido horizontal. -d : Especifica espaçamento duplo. -l n : Formata o número de linhas na página para o valor n -o n : Especifica o número de espaços da margem esquerda Exemplo: $ pr -l 50 -o 10 inteiro Comando: split Uso: split [opções] arquivo_entrada arquivo_saida • O comando split é usado para dividir grande arquivos em n-arquivos menores. • Os arquivos de saída são gerados de acordo com o número de linhas do aruqivo de entrada • O padrão é dividir o arquivo a cada 1000 linhas. Os nomes dos arquivos de saída seguem o padrão arquivo_saidaaa, arquivo_saidaab, e assim por diante Comando: split Opção frequente do comando split: -l determina o número número de linhas em cada arquivo Exemplo: $ split -l 10 /etc/passwd /tmp/user Comando: tr Uso: tr [opções] variável_busca variável_troca • O comando tr é usado para converter caracteres, ou melhor, trocar um conjunto por outro. As opções mais usadas são: -d : Elimina os caracteres especificados. -s : Comprime a seqûencia de caracteres repetidos. Exemplo: $ cat /etc/passwd | tr a-z A-Z $ cat /etc/passwd | tr a x $ cat /etc/passwd | tr –d a $ cat /etc/passwd | tr -s l Comando: wc Uso wc [opções] [arquivos] • Contador de palavras (Word count) – utilizado para contar palavras, caracteres e linhas de um arquivo o texto Exemplo: $ wc /etc/passwd /etc/hosts $ wc –l /etc/passwd /etc/hosts $ wc –w /etc/passwd /etc/hosts $ wc –c /etc/passwd /etc/hosts $ wc –L /etc/passwd /etc/hosts Comando: xargs Uso: xargs comando [opções] argumentoinicial • O comando xargs executa o comando e passa como argumento o que foi recebido como entrada padrão. O xargs vai executar inúmeras vezes o comando de acordo com o número de linhas recebidas como entrada padrão. • As opções mais usadas são: --interactive : Pergunta ao usuário se o comando deve ser executado antes de fazê-lo. -t : Mostre o comando na tela antes de executá-lo. Comando: xargs Exemplo: $ cat inteiros | xargs echo Neste exemplo cada linha do inteiros é passada como argumento para o comando echo. O comando echo imprime na saída padrão os argumentos recebidos. Organização dos diretórios • / Onde são montados outros diretórios e onde fica o kernel ou, pelo menos, um link para o diretório boot. • /bin Contem comandos essenciais que são usados tanto pelo administrador do sistema como pelos usuarios, como por exemplo: cat, cp, date, more etc. • /dev Contem uma entrada para cada dispositivo (periférico) do sistema. No Linux, cada hardware tem um device ou arquivo associado. Por exemplo, a primeira IDE e /dev/hda e dentro dela a primeira partição e /dev/hda1, a segunda /dev/hda2. Organização dos diretórios • /home Diretórios de arquivos dos usuários. • /lib Bibliotecas do sistema, como por exemplo a biblioteca da linguagem C. • /mnt Diretório para montar sistemas de arquivos temporariamente. • /proc Sistema de arquivos que mantém informações sobre os processos, memória, CPU e estado do sistema. Organização dos diretórios • /root Diretório home do root (opcional), podendo ser /home/root. • /sbin Binários essenciais do sistema: shutdown, fdisk, reboot, update. • /tmp Arquivos temporários. Geralmente, limpados a cada inicialização do sistema. • /usr Outro sistema de arquivos dentro do sistemas de arquivos, compartilhavel e somente de leitura. Exercício • Vendo a variável PATH: $ echo $PATH • Como faço para incluir o diretório “/usr/local/bin”? $ PATH=$PATH:/usr/local/bin $ echo $PATH Fernando Costa www.fernandocosta.com.br [email protected]