Aula 3 - Comandos Básicos de Manipulação de Arquivos
Segue o resumo de comandos e conceitos vistos em Sala de Aula.
Este é um material de apoio aos meus alunos que tem todo embasamento durante as aulas presenciais.
O Exercício de fixação desta aula, pode ser acessado no seguinte link:
http://dailson.blogspot.com.br/2012/03/exercicio-da-aula-3-manipulacao-de.html
As respostas do Exercício pode ser acessada neste link:
http://dailson.blogspot.com.br/2012/03/respostas-do-exercicio-3-manipulacao-de.html
As respostas do Exercício pode ser acessada neste link:
http://dailson.blogspot.com.br/2012/03/respostas-do-exercicio-3-manipulacao-de.html
Você pode encontrar todos os resumos de aula no link abaixo:
Para criar um arquivo vazio
Use da seguinte forma: touch nome_do_arquivo
Exemplo:
# touch arquivo_vazio
Para renomear o nome de um arquivo
Use da seguinte forma: mv nome-atual novo-nome
Exemplo:
# mv arquivo_vazio arquivo_cheio
Para copiar um ou mais arquivos
Use da seguinte forma: cp nome_do_arquivo destino
Exemplo:
# cp arquivo_cheio /tmp
Para apagar arquivos
Use da seguinte forma: rm nome_do_arquivo
Exemplo:
# rm arquivo_cheio
Para mover arquivos
Use da seguinte forma: mv nome_do_arquivo destino
Exemplo:
# mv arquivo_cheio /tmp
Para visualizar o conteudo de um arquivo
Use da seguinte forma: cat nome_do_arquivo
ou
Use da seguinte forma: more nome_do_arquivo (com pausa)
ou
Use da seguinte forma: less nome_do_arquivo (com pausa) - Para sair = q
Exemplo:
# cat /etc/services
ou
# more /etc/services
ou
# less /etc/services
Para Filtrar Comandos - Use o caracter pipe |
Use da seguinte forma: Comando1 | Comando2 | Comando3 | Comando_n
# cat nome_do_arquivo | more
# cat nome_do_arquivo | less
Exemplo:
# cat /etc/services | more (para sair: q)
# cat /etc/services | less (para sair: q)
Para exibir as estatísticas de um arquivo como:
Quantidade de Letras, linhas e palavras de um arquivo.
Use da seguinte forma:
wc nome_do_arquivo (exibe quantidade de letras, palavras e linhas)
wc -c nome_do_arquivo (letras)
wc -l nome_do_arquivos (linhas)
wc -w nome_do_arquivo (palavras)
Exemplo:
# wc nome_do_arquivo
# wc -c /etc/services (exibe a quantidade de letras)
# wc -l /etc/services (exibe a quantidade de linhas)
# wc -w /etc/services (exibe a quantidade de palavras)
Para Ordenar um Arquivo na tela
Use da seguinte forma: sort nome_do_arquivo
Exemplo:
# sort /etc/services
# sort -r services (ao contrario)
Para Exibir o inicio de um arquivo (10 primeiras linhas)
Use da seguinte forma: head nome_do_arquivo
Exemplo:
# head /etc/services
Para exibir o fim de um arquivo (10 ultimas linhas)
Use da seguinte forma: tail nome_do_arquivo
tail -f nome_do_arquivo (lê o fim do arquivo em tempo real - Ideal para ler Logs em tempo real)
Exemplo:
# tail /etc/services
Para ler um log em tempo real
# tail -f /var/log/messages (Em distribuições baseadas em Redhat)
ou
# tail -f /var/log/syslog (Em distribuições baseadas em Debian)
Para Filtrar/Pesquisar expressões em arquivo
Use da seguinte forma: grep "expressão" nome_do_arquivo
Exemplo:
# grep "FTP" /etc/services
# grep -v "FTP" /etc/services (inverso)
# grep -n "FTP" /etc/services (numero da linha)
# grep -i "FTP" /etc/services (maiúscula ou minúscula)
Para Filtrar saida de comando
Use da seguinte forma: cut opções nome_do_aquivo
Principais Opções:
-c = qtd de caracter
-f = campo
-d = delimitador
Exemplo:
# cut -c1 /etc/passwd
# cut -f1 -d: /etc/passwd (Exibir apenas o nome dos usuários do sistema)
Para exibir Mensagens na tela:
Use da seguinte forma: echo "Mensagem"
Exemplo:
# echo "Exibe uma msg na tela"
Para usar Redirecionadores de Saída de comandos
> Sobrescreve o arquivo destino
>> Adiciona ao arquivo destino
< ou << Input
Exemplo:
# date (Exibe a data na tela)
# date > data.txt (Grava o resultado do comando date no arquivo data.txt)
# tr 'a-z' 'A-Z' < /etc/services
# tr 'a-z' 'A-Z' < /etc/services > resultado.txt
# echo "Meu nome é João" > nome.txt
Utilizando Expressão Regular:
* --> Quer dizer todos
? --> Substitui um caracter
*.* --> Arquivos com extensão
Exemplo:
cp /etc/* /tmp (Copia todos os arquivos de /etc para /tmp)
cp /etc/*.* /tmp (Copia todos os arquivos de /etc que tenham extensão para /tmp)
cp /etc/??? /tmp (Copia todos os arquivos que tenham 3 letras no nome para /tmp)
Para criar variáveis
# echo "Meu nome é João" > nome.txt
Utilizando Expressão Regular:
* --> Quer dizer todos
? --> Substitui um caracter
*.* --> Arquivos com extensão
Exemplo:
cp /etc/* /tmp (Copia todos os arquivos de /etc para /tmp)
cp /etc/*.* /tmp (Copia todos os arquivos de /etc que tenham extensão para /tmp)
cp /etc/??? /tmp (Copia todos os arquivos que tenham 3 letras no nome para /tmp)
Para criar variáveis
Use da seguinte forma: export NOME_VARIAVEL=CONTEUDO
Exemplo:
# export ALUNO=José
export NOME_COMPLETO="José da Silva"
Para exibir conteúdo de Variáveis:
# echo $ALUNO
# echo $NOME_COMPLETO
Para exibir conteúdo de Variáveis junto com alguma mensagem:
# echo "O Primeiro nome do Aluno é $ALUNO"
# echo "O Nome completo do Aluno é $NOME_COMPLETO"
Para exibir variáveis do SHELL Atual:
# env
ou
# export
Para exibir resultados de comandos junto com possíveis mensagens:
Exemplo:
# echo A Data e Hora atual é: `date`
# echo "A Data e Hora atual é: $(date)"
# echo "A Data e Hora atual é: $(date)" > data.txt (Grava o conteúdo deste comando no arquivo data.txt
# echo "A Data e Hora atual é: $(date)" > data.txt (Grava o conteúdo deste comando no arquivo data.txt