Prévia do material em texto
Linux - Linha de Comando
Laboratório de Fundamentos em
Tecnologia da Informação – LFTTecnologia da Informação – LFT
Prof. Victor Thomaz
Linha de Comando
• Entrada de comandos e visualização em modo
texto.
• Utilize os programas:
– terminal, console ou xterm– terminal, console ou xterm
2
man pages
• Manual que apresenta descrição das
funcionalidades dos comandos e arquivos
• Entre as diversas distribuições Linux, os
parâmetros e opções de comandos podem parâmetros e opções de comandos podem
variar, assim o comando “man” é muito útil.
3Parte 01
man pages
• Uso:
– man
– Digite man seguido de um comando para
visualizar o “manual” de utilização do comando. visualizar o “manual” de utilização do comando.
– Pressione a tecla q para fechar o manual. Algumas
“man pages” contém exemplos (no final do texto).
• fulano@pc01:~$ man whois
– Reformatting whois(1), please wait...
4
man pages
• A maioria dos arquivos de configuração
também possuem seu próprio manual.
• man
• fulano@pc01:~$ man syslog.conf• fulano@pc01:~$ man syslog.conf
– Reformatting syslog.conf(5), please wait...
5
man pages
• Alguns processos “daemons” (programas que
executam em background) também possuem
“man pages”.
• man • man
– fulano@pc01 :~$ man syslogd
6
man pages
• man -k (apropos): man -k (or apropos) Apresenta várias
descrições curtas onde a palavra especificada ( no
exemplo a seguir “syslog”) foi encontrada no manual.
– fulano@pc01 :~$ man -k syslog
– fulano@pc01 :~$ apropos syslog
– lm-syslog-setup (8) - configure laptop mode to switch
syslog.conf ...
– logger (1) - a shell command interface to the syslog(3) ...
– syslog-facility (8) - Setup and remove LOCALx facility for
sysklogd
– syslog.conf (5) - syslogd(8) configuration file
– syslogd (8) - Linux system logging utilities.
– syslogd-listfiles (8) - list system logfiles
7
man pages
• whatis
– Apresenta somente uma breve descrição da
página do manual.
• fulano@pc01:~$ whatis route
– route (8) - show / manipulate the IP routing table
8
man pages
• whereis
– Apresenta a localização do arquivo que contém
uma página do manual. Opção –m procura
somente por seções do manual.somente por seções do manual.
• fulano@pc01:~$ whereis -m whois
– whois: /usr/share/man/man1/whois.1.gz
• Este arquivo pode ser chamado diretamente
pelo comando man.
– fulano@pc01:~$ man /usr/share/man/man1/whois.1.gz
9
Diretórios
• Serão descritos os comandos mais comuns
quando trabalhamos com diretórios.
10Parte 02
Árvore de
Diretórios
11
Descrição Principais Diretórios
12
Diretórios
• Diretório é uma pasta;
• Diretórios no Linux são organizados de acordo com o
padrão FHS – Filesystem Hierarchy Standard
(www.pathname.com/fhs);
• Diretórios:
• – /bin: Comandos (binários) essenciais acessíveis a qualquer
• usuário;
• – /sbin: Comandos (binários) essenciais administrativos;
• – /boot: Arquivos estáticos do gerenciador de inicialização e
• imagem do Kernel;
13
Diretórios
• /dev: Arquivos dispositivos (Hds, placa de som,
• placa de vídeo, mouse, etc, exceto placa de rede);
• /etc: Arquivos de configuração de sistema e de
• programas em geral;• programas em geral;
• /lib: Bibliotecas essenciais do sistema;
• /media: Ponto de montagem para dispositivos
• removíveis;
• /mnt: Ponto de montagem para sistemas de
• arquivos temporários;
14
Diretórios
• /opt: Pacotes de software adicionais (proprietários);
• /srv: Dados providos por serviços de rede do sistema;
• /var: Dados variáveis (por exemplo: arquivos de log, cache, spool de
• impressão etc);
• /home: Diretórios pessoais dos usuários;
• /root: Diretório pessoal do root;
• /usr: Hierarquia secundária do sistema:
– /usr/sbin: Binários administrativos não essenciais;
– /usr/bin: Binários não essenciais;
– /usr/lib: Bibliotecas não essenciais ao sistema;
– /usr/share/man: Documentação (manuais);
– /usr/src: Códigos-fonte, por exemplo: do Kernel
15
Diretórios
• /proc:
– Armazena informações dinâmicas sobre o sistema operacional, como,
processos, informações sobre entrada e saída, interrupções, modelo do
processador, versão do kernel, quanto tempo a máquina está ligada, quais
sistemas de arquivos suportados etc. Este diretório não existe no disco rígido e
sim na memória RAM;
• /sys:
– Sistema de arquivos virtual como o /proc mas que armazena e permite – Sistema de arquivos virtual como o /proc mas que armazena e permite
modificações nos dispositivos conectados ao sistema;
• /lost+found:
– Armazena arquivos recuperados pelo sistema;
• /run:
– Informações sobre o sistema em execução desde o último boot , usuários logados e
processos servidores em execução;
• /tmp:
– Arquivos temporários que são limpos durante a inicialização;
16
Diretórios
• Caminhos de diretórios:
. diretório corrente
.. diretório pai.. diretório pai
/ diretório raiz
- diretório anterior
~ diretório home do usuário
17
Diretórios
18
Diretórios
• Comando pwd (Print Working Directory)
– Apresenta o diretório corrente.
– fulano@pc01:~$ pwd
/home/fulano/home/fulano
19
Diretórios
• Comando cd (Change Directory)
– Muda o diretório corrente.
– fulano@pc01:~$ cd /etc
fulano@pc01:~$ pwd
/etc
––
fulano@pc01:~$ cd /bin
fulano@pc01:~$ pwd
/bin
–
fulano@pc01:~$ cd /home/fulano/
fulano@pc01:~$ pwd
/home/fulano
20
Diretórios
• Comando cd sem especificar um diretório
destino (ou cd ~) retorna para o diretório
home do usuário.
– fulano@pc01:~$ cd /etc
fulano@pc01:~$ pwd
/etc/etc
– fulano@pc01:~$ cd
fulano@pc01:~$ pwd
/home/fulano
– fulano@pc01:~$ cd ~
fulano@pc01:~$ pwd
/home/fulano
21
Diretórios
• Comando cd .. move para o diretório do nível
acima (diretório pai) na árvore de diretórios.
– fulano@pc01:~$ pwd
/usr/share/games
– fulano@pc01:~$ cd ..
– fulano@pc01:~$ pwd
/usr/share
22
Diretórios
• Comando cd - move para o diretório visitado
por último.
– fulano@pc01:~$ pwd
/home/fulano
– fulano@pc01:~$ cd /etc– fulano@pc01:~$ cd /etc
fulano@pc01:~$ pwd
/etc
– fulano@pc01:~$ cd -
/home/fulano
– fulano@pc01:~$ cd -
/etc 23
Diretórios
• Caminho absoluto e relativo na árvore de
diretórios.
• Caminho (path): indica uma localização única
de arquivo ou diretório no sistema de
arquivos.arquivos.
• Caminho absoluto: Localização específica a
partir do diretório root ou raiz (/). É um
caminho completo iniciando do diretório “/”.
• Caminho relativo: É um caminho a partir do
diretório corrente (pwd - present working
directory). 24
Diretórios
• Exemplo caminho absoluto:
– fulano@pc01:~$ pwd
/home/fulano
– fulano@pc01:~$ cd /var/log
– fulano@pc01:~$ pwd
/var/log/var/log
• Exemplo caminho relativo:
– fulano@pc01:~$ pwd
/var/log
– fulano@pc01:~$ cd apt
– fulano@pc01:~$ pwd
/var/log/apt 25
Diretórios
• Outro exemplo:
– Considere o diretório corrente “/etc/samba” e o
usuário deseja ir para o diretório “/etc”.
– Usando caminho relativo:– Usando caminho relativo:
• fulano@pc01:~$ cd ..
– Usando caminho absoluto:
• fulano@pc01:~$ cd /etc
26
Diretórios
• Mais um exemplo:
– Considere o diretório corrente “/var/log” e o
usuário deseja ir para o diretório “/var/opt”.
– Usando caminho relativo:– Usando caminho relativo:
• fulano@pc01:~$ cd ../opt
– Usando caminho absoluto:
• fulano@pc01:~$ cd /var/opt
27
Diretórios
• Tecla TAB
• É utilizada para ajudar a completar um
caminho sem que o usuário digite todas as
letras.
• Exemplo: Se o usuário está em “/var” e digita • Exemplo: Se o usuário está em “/var” e digita
cd ba seguido da tecla TAB, o caminho é
completado para cd backups.
• Obs.: cd Ba seguido da tecla TAB não
completa o caminho devido a letra “B”
maiúscula.
28
Diretórios
• Comando ls
• Lista o conteúdo de diretório
– fulano@pc01:~$ ls
allfiles.txt dmesg.txt services stuff summer.txt
fulano@pc01:~$fulano@pc01:~$
• Opção ls –a
– Apresenta todos os arquivos inclusives os ocultos (estes
possuemo nome iniciado com ponto “.”).
– fulano@pc01:~$ ls –a
. allfiles.txt .bash_profile dmesg.txt .lesshst stuf
.. .bash_history .bashrc services .ssh summer.txt
29
Diretórios
• Opção ls –l
– fulano@pc01:~$ ls -l
total 17296
-rw-r--r-- 1 fulano alunos 17584442 Sep 17 00:03 allfiles.txt
-rw-r--r-- 1 fulano alunos 96650 Sep 17 00:03 dmesg.txt-rw-r--r-- 1 fulano alunos 96650 Sep 17 00:03 dmesg.txt
-rw-r--r-- 1 fulano alunos 19558 Sep 17 00:04 services
drwxr-xr-x 2 fulano alunos 4096 Sep 17 00:04 stuff
-rw-r--r-- 1 fulano alunos 0 Sep 17 00:04 summer.txt
30
Diretórios
• Opção ls –lh
– Apresenta um formato mais amigável para os tamanhos de
arquivos e diretórios.
– fulano@pc01:~$ ls –lh
total 17M
-rw-r--r-- 1 fulano alunos 17M Sep 17 00:03 allfiles.txt
-rw-r--r-- 1 fulano alunos 95K Sep 17 00:03 dmesg.txt
-rw-r--r-- 1 fulano alunos 20K Sep 17 00:04 services
drwxr-xr-x 2 fulano alunos 4.0K Sep 17 00:04 stuff
-rw-r--r-- 1 fulano alunos 0 Sep 17 00:04 summer.txt
31
Diretórios
• Significado de cada parte:
• `-rwxr-xr--' � São as permissões de acesso ao arquivo teste. A primeira letra
(da esquerda) identifica o tipo do arquivo, se tiver um `d' é um diretório, se tiver
um "-" é um arquivo normal.
• `1' � Se for um diretório, mostra a quantidade de sub-diretórios existentes dentro • `1' � Se for um diretório, mostra a quantidade de sub-diretórios existentes dentro
dele. Caso for um arquivo, será 1.
• `fulano' � Nome do dono do arquivo ` allfiles.txt '.
• `alunos' � Nome do grupo que o arquivo ` allfiles.txt ' pertence.
• `17M' � Tamanho do arquivo (em bytes).
• `Sep' � Mês da criação/ última modificação do arquivo.
• `4' � Dia que o arquivo foi criado.
• ` 00:03 ' � Hora em que o arquivo foi criado/modificado. Se o arquivo foi
criado há mais de um ano, em seu lugar é mostrado o ano da criação do arquivo.
• ` allfiles.txt ' � Nome do arquivo.
32
Diretórios
• Comando mkdir
– Cria um novo diretório.
– É preciso especificar pelo menos um
parâmetro, o “nome do diretório” que o usuário
deseja ☺.
• fulano@pc01:~$ mkdir meudir• fulano@pc01:~$ mkdir meudir
fulano@pc01:~$ cd meudir
fulano@pc01:~/meudir$ ls -al
total 8
drwxr-xr-x 2 fulano alunos 4096 Sep 17 00:07 .
drwxr-xr-x 48 fulano alunos 4096 Sep 17 00:07 ..
33
Diretórios
• Comando mkdir -p
– Cria um novo diretório e subdiretórios.
• fulano@pc01:~$ mkdir –p meudir/meudir2/meudir3
fulano@pc01:~$ cd meudir
fulano@pc01:~$ ls -l
total 4
drwxr-xr-x 2 fulano alunos 4096 Fev 23 16:04 meudir2drwxr-xr-x 2 fulano alunos 4096 Fev 23 16:04 meudir2
• OBS.: Na resposta do comando “ls -l” o número “2” após as
permissões indica que o diretório corrente “meudir” possui
dois subdiretórios (“meudir2” e “meudir3”), que foram
criados com o comando “mkdir -p” anterior.
34
Diretórios
• Comando rmdir
– Remove um diretório vazio. O usuário deve ter
permissão de gravação e ainda é necessário que esteja
um nível acima do diretório que será removido.
– fulano@pc01:~/meudir/meudir2$ rmdir meudir3
fulano@pc01:~/meudir/meudir2$ cd ..
fulano@pc01:~/meudir$ rmdir meudir2fulano@pc01:~/meudir$ rmdir meudir2
rmdir: failed to remove ‘meudir2’: Directory not empty
35
Diretórios
• Comando rmdir -p
– Remove diretórios e subdiretórios vazios
recursivamente. O usuário deve ter permissão de
gravação e ainda é necessário que esteja um nível acima
dos diretórios que serão removidos.
– fulano@pc01:~$ rmdir -p /meudir/meudir2/meudir3– fulano@pc01:~$ rmdir -p /meudir/meudir2/meudir3
• OBS.: Para remover diretórios que contenham
arquivos, use o comando `rm' com a opção `-r'
36
Exercícios
• 1. Indique seu diretório atual.
• 2. Mude para o diretório /etc/apt.
• 3. Agora mude para o diretório home digitando apenas um comando.
• 4. Vá para o diretório / boot / grub digitando apenas um comando.
• 5. Vá para o diretório pai do diretório atual.
• 6. Vá para o diretório raiz digitando apenas um comando.
• 7. Liste o conteúdo do diretório raiz.
• 8. Liste o conteúdo detalhado do diretório raiz.
• 9. Liste o conteúdo de /etc a partir de outro diretório.• 9. Liste o conteúdo de /etc a partir de outro diretório.
• 10. Liste o conteúdo de ~ a partir de outro diretório.
• 11. Liste todos os arquivos (incluindo arquivos ocultos) em seu diretório pessoal.
• 12. Liste os arquivos em / boot em um formato legível humano ☺ .
• 13. Criar um diretório chamado testedir em seu diretório pessoal.
• 14. Mude para o diretório / etc, permaneça nele e crie um diretório chamado novodir em seu diretório
pessoal.
• 15. Crie em com um só comando os diretórios ~/dir1/dir2/dir3 (dir3 é um subdiretório de dir2,
• e dir2 é um subdiretório de dir1).
• 16. Remova o diretório testedir.
• 17. Utilize o terminal para encontrar informações sobre os comandos pushd e popd. Use man page
para o comando bash. 37
Arquivos
• A seguir serão apresentados comandos úteis
para reconhecer, criar, remover, copiar e
mover arquivos.
38
Arquivos
• Case Sensitive
– Os arquivos no Linux (ou qualquer Unix) diferem
as letras maiúsculas de minúsculas nos nomes dos
arquivos (e diretórios). Isto significa que arquivos (e diretórios). Isto significa que
ARQUIVO1 é diferente de arquivo1 e que
/etc/hosts é diferente de /etc/Hosts.
39
Arquivos
• Tudo é um arquivo no Linux
– Um diretório é um tipo especial de arquivo (case
sensitive).
– Cada janela de terminal (por exemplo /dev/pts/4), – Cada janela de terminal (por exemplo /dev/pts/4),
qualquer disco rígido ou partição (por exemplo
/dev/sdb1).
– Qualquer processo são todos representados em
algum lugar do Sistema de Arquivos como um
arquivo.
40
Arquivos
• Extensões
– O Linux não usa extensões “.txt”, “.pdf” entre outras para
determinar o tipo de arquivo.
• Comando file
– É possível usar o comando file para descobrir o tipo de – É possível usar o comando file para descobrir o tipo de
arquivo.
– fulano@pc01:~$ file foto01.png
foto01.png: PNG image data, 3840 x 1200, 8-bit/color RGBA, non-interlaced
– fulano@pc01:~$ file /etc/hosts
/etc/passwd: ASCII text
– fulano@pc01 :~$ file HelloWorld.c
HelloWorld.c: ASCII C program text 41
Arquivos
• O comando file utiliza um arquivo que contém
vários padrões que são utilizados para o
reconhecimento dos diversos tipo de arquivo.
• O arquivo está localizado em “/usr/share/file” • O arquivo está localizado em “/usr/share/file”
com o nome de “magic.mgc”
• fulano@pc01:~$ file –s /proc/cpuinfo
/proc/cpuinfo: ASCII text, with very long lines
• A opção “-s” é utilizada quando para arquivos especiais, que
são geralmente arquivos de sistema.
42
Arquivos
• Comando touch
– Cria um arquivo novo e vazio quando o nome
especificado não existe.
– fulano@pc01:~$ touch arq01fulano@pc01:~$ touch arq01
• Comando touch –t
– Altera da data e hora do arquivo para 01/10 e 12:30.
– fulano@pc01:~$ touch -t 10011230 arq01
– Altera da data, hora ano, e segundos do arquivo para 01/12/1999 e
12:30:30.
– fulano@pc01:~$ touch -t 199912011220.30 arq01
– Formato [AAAAMMhhmm.ss]
43
Arquivos
• Comando rm
– O comando rm apaga um arquivo. Diferente da interface
gráfica, na linha de comando não existe lixeira para
recuperar o arquivo. O comando rm remove
permanentemente o arquivo especificado.permanentemente o arquivo especificado.
– Também pode ser usado para apagar diretórios e sub-
diretórios vazios ou que contenham arquivos.
– fulano@pc01:~$ ls
texto.txt arq1 arq2 foto.jpg
fulano@pc01:~$ rm texto.txt
fulano@pc01:~$ ls
arq1 arq2 foto.jpg
fulano@pc01:~$ 44
Arquivos
• Comando rm –i
– Previne a remoção acidental com pergunta de
confirmação.
– fulano@pc01:~$ rm –i texto.txt
– rm: remover arquivo “texto.txt”? n
– rm: remover arquivo “texto.txt”? y
45
Arquivos
• Comando rm –rf
– Remove diretórios, subdiretórios e arquivos neles
contidos, se o usuário possuir as permissões para tal.
– Opções:
• -r, --recursive: Usado para remover arquivos em sub-
diretórios. Esta opção tambémpode ser usada para
46
diretórios. Esta opção também pode ser usada para
remover sub-diretórios.
• -f, --force: Remove os arquivos sem perguntar.
– fulano@pc01:~$ rm –rf dir01
Arquivos
• Comando cp
– Copia arquivo especificado.
fulano@pc01:~$ ls
arq01 texto.txt
fulano@pc01:~$ cp arq01 arq01.copia
fulano@pc01:~$ ls
arq01 arq01.copia texto.txt
• Copiando para outro diretório• Copiando para outro diretório
– fulano@pc01:~$ ls
arq01 texto.txt
fulano@pc01:~$ mkdir dir02
fulano@pc01:~$ cp texto.txt dir02
fulano@pc01:~$ ls dir02/
texto.txt
– fulano@pc01:~$ cp * /tmp Copia todos os arquivos do diretório atual para
/tmp.
47
Arquivos
• Comando cp -r
– Copia arquivos dos diretórios e subdiretórios da
origem para o destino.
– fulano@pc01:~$ cp –r /bin /temp
– Copia todos os arquivos e o diretório `/bin' para `/tmp'.
• Copiando vários arquivos ao mesmo tempo• Copiando vários arquivos ao mesmo tempo
– fulano@pc01:~$ cp arq1 arq1.copia texto.txt dir02
fulano@pc01:~$ ls dir02
arq1 arq1.copia texto.txt
– Último parâmetro precisar ser um diretório
• Comando cp –i previne contra sobrescrita de
arquivos.
48
Arquivos
• Comando mv
– Move ou renomeia arquivo ou diretório.
• Renomeando arquivo
– fulano@pc01:~$ ls
dir03 dir02 arq02 arq02.copy texto.txtdir03 dir02 arq02 arq02.copy texto.txt
fulano@pc01:~$ mv arq02 arq03
fulano@pc01:~$ ls
dir03 dir02 arq03 arq02.copy texto.txt
fulano@pc01:~$
49
Arquivos
• Comando mv
– Move ou renomeia arquivo ou diretório.
• Renomeando diretórios
fulano@pc01:~$ ls –l
drwxr-xr-x 2 fulano alunos 4096 Oct 15 09:36 dir33drwxr-xr-x 2 fulano alunos 4096 Oct 15 09:36 dir33
fulano@pc01:~$ mv dir33 backup
fulano@pc01:~$ ls –l
drwxr-xr-x 2 fulano alunos 4096 Oct 15 09:36 backup
50
Arquivos
• Comando rename
– Renomeia arquivos. Este comando pode apresentar diferenças
entre as distribuições Linux.
• Exemplos
fulano@pc01:~$ ls
abc.txt arq33.txt arq42.txt
fulano@pc01:~$ rename 's/\.txt/\.png/' *.txt
fulano@pc01:~$ ls
abc.png arq33.png arq42.png
• Parâmetro –n: Usado somente para testar sem realmente renomear os arquivos
fulano@pc01:~$ ls
abc.txt arq33.txt arq42.txt foto.jpg
fulano@pc01:~$ rename -n 's/\.txt/\.png/' *.txt
abc.txt remaned as abc.png
arq33.txt remaned as arq33.png
arq42.txt remaned as arq42.png
51
Arquivos
• Comando rename
– Renomeia arquivos. Este comando pode apresentar diferenças
entre as distribuições Linux.
• Outro Exemplo
fulano@pc01:~$ ls
abc.txt arq77.txt arq22.txt
fulano@pc01:~$ rename 's/arq/file/' *.txt
fulano@pc01:~$ ls
abc.txt file77.txt file22.txt
• Mais um exemplo
– fulano@pc01:~$ rename 'y/a-z/A-Z/' *.html
– Converte as letras minúsculas em maiúsculas em todos os arquivos com
a extensão .html.
• OBS.: Este comando utiliza expressões regulares (regex) para definir como
renomear. Pesquise por Pearl expression e expressões regulares para
aprender mais. 52
Exercícios
• 1. Liste o conteúdo do diretório /bin.
• 2. Mostre com apenas um comando os tipos de arquivos nos diretórios /bin/cat, /etc/passwd e
/usr/bin/passwd.
• 3.1. Use o comando find para encontrar dois arquivos de tipos diferentes. Exemplo: find
/usr/share/backgrounds –name “*.png” para encontrar arquivos .PNG ou find /boot/grub –name
“*.txt” para encontrar arquivos com extensão .TXT.
• 3.2. Verifique os tipos dos dois arquivos encontrados com o comando anterior.
• 4. Crie um diretório chamado teste dentro do diretório home do usuário e entre no diretório teste.
• 5. Use o comando que cria arquivos vazios para criar os seguintes: hoje.txt e ontem.txt.
• 6. Altere a data do arquivo ontem.txt para a data de ontem.• 6. Altere a data do arquivo ontem.txt para a data de ontem.
• 7. Faça uma cópia do arquivo ontem.txt com o seguinte nome: copiaOntem.txt.
• 8. Renomeie o arquivo hoje.txt para hoje.doc usando o comando mv.
• 9. Crie o diretório ~/testeBackup e copie todos os arquivos em ~/teste para dentro dele.
• 10. Use apenas um comando para remover o diretório ~/testeBackup e todos os arquivos contidos nele.
• 11. Crie o diretório ~/etcBackup e copie todos os arquivos com a extensão .conf (*.conf) do diretório
/etc para o diretório recém criado.
• 12. Entre no diretório ~/etcBackup e renomeie todos os arquivos .conf para .backup.
53
Conteúdo de Arquivo
• Serão apresentados comandos para criação de
arquivos, visualização de conteúdo e partes
relevantes.
54
Conteúdo de Arquivo
• Comando head
– Mostra as linhas iniciais de um arquivo texto.
– Apresenta as quatro primeiras linhas
• fulano@pc01:~$ head –n 4 /etc/passwd• fulano@pc01:~$ head –n 4 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
55
Conteúdo de Arquivo
• Comando head
– Mostra os primeiros bytes do arquivo texto.
– Apresenta os 14 primeiros bytes
• fulano@pc01:~$ head -c14 /etc/passwd• fulano@pc01:~$ head -c14 /etc/passwd
root:x:0:0:roo fulano@pc01:~$
56
Conteúdo de Arquivo
• Comando tail
– Semelhante ao comando head, mas apresenta o
conteúdo do final do arquivo especificado.
– Apresenta as últimas quatro linhas– Apresenta as últimas quatro linhas
• fulano@pc01:~$ tail -4 /etc/services
tfido 60177/tcp # fidonet EMSI over telnet
fido 60179/tcp # fidonet EMSI over TCP
# Local services
57
Quatro
linhas.
Terceira em
branco
Conteúdo de Arquivo
• Comando cat
– Possibilita a visualização de conteúdos de
arquivos. Trabalha copiando dados da standard
input para standard output que combinado com o input para standard output que combinado com o
shell apresenta diversas possibilidades de uso.
– Mostrando conteúdo de arquivo
• fulano@pc01:~$ cat /etc/ts.conf
58
Conteúdo de Arquivo
• Comando cat
– Pode ser utilizado para concatenar conteúdos de vários
arquivos em apenas um.
– Concatenando conteúdo de arquivo: Usando o
comando echo para direcionar texto para os arquivos.
• fulano@pc01:~$ echo one >part1• fulano@pc01:~$ echo one >part1
fulano@pc01:~$ echo two >part2
fulano@pc01:~$ echo three >part3
fulano@pc01:~$ cat part1
texto um
fulano@pc01:~$ cat part2
texto dois
fulano@pc01:~$ cat part3
texto três
59
Conteúdo de Arquivo
• Comando cat
– Pode ser utilizado para concatenar conteúdos de vários
arquivos em apenas um.
– Concatenando conteúdo de arquivo: Comando cat
reúne o conteúdo de cada arquivo no arquivo tudoJunto.
• fulano@pc01:~$ cat parte1 parte2 parte3• fulano@pc01:~$ cat parte1 parte2 parte3
texto um
texto dois
texto três
fulano@pc01:~$ cat parte1 parte2 parte3 > tudoJunto
fulano@pc01:~$ cat tudoJunto
texto um
texto dois
texto três
60
Conteúdo de Arquivo
• Comando cat
– Também é possível criar um arquivo e adicionar texto
ao mesmo através do comando cat.
– Exemplo
• fulano@pc01:~$ cat > texto.txt
Linhaum.
Linha dois.Linha dois.
Última linha.
– Após o comando cat o usuário pode digitar quantas
linhas desejar teclando ENTER ao final de cada linha.
Pressionando CTRL+D, após a última linha, finaliza a
entrada de texto no arquivo. CTRL+D envia um sinal de
End of File, que faz com que o comando cat finalize.
61
Conteúdo de Arquivo
• Comando cat
– Utilizando os sinais texto.txt texto.txt arq02.txt
• fulano@pc01:~$ cat arq02.txt
• Texto contido no arquivo 01 para ser copiado.
– Neste exemplo a palavra “termina” substitui “CTRL+D”
para finalizar a entrada de texto no arquivo.
63
Conteúdo de Arquivo
• Comandotac
– Semelhante ao cat, mas mostra o conteúdo dos
arquivos de trás para frente.
– Exemplo
• fulano@pc01:~$ tac texto.txt
Última linha
Linha dois.
Linha um.
64
Conteúdo de Arquivo
• Comando more ou less
– Permite a visualização quando o texto ocupa mais de
uma tela no terminal. Teclando ESPAÇO o conteúdo é
apresentado página por página e ainda com a tecla
ENTER linha a linha. A tecla q é utilizada para sair.
– Exemplo– Exemplo
• fulano@pc01:~$ more /etc/sysctl.conf
• fulano@pc01:~$ less /etc/kerneloops.conf
• fulano@pc01:~$ man find | more
65
Conteúdo de Arquivo
• Comando strings
– Apresenta texto ASCII legível encontrado em arquivos
binários.
– Exemplo
• fulano@pc01:~$ strings /bin/ls
• /lib/ld-linux.so.2• /lib/ld-linux.so.2
librt.so.1
__gmon_start__
_Jv_RegisterClasses
clock_gettime
libacl.so.1
...
– Mostra os textos ASCII encontrados no arquivo binário
do comando ls.
66
Exercícios
• 1. Visualize as quatro primeiras linhas do arquivo /etc/services.
• 2. Mostre a última linha do arquivo /etc/passwd
• 3. Use o comando cat para criar um arquivo contendo 5 linhas chamado linhas.txt.
• 4. Use o comando cp para fazer uma cópia do arquivo linhas.txt do exercício anterior com o nome
linhasCopia.txt.
• 5. Use o comando cat para fazer uma cópia do arquivo linhas.txt com o nome linhasCat.txt.
• 6. Visualize o conteúdo do arquivo linhasCat.txt em ordem inversa (da última para primeira linha).
• 7. Utilize o comando more para apresentar o conteúdo do arquivo /etc/services.
• 8. Mostre os caracteres legíveis do comando (arquivo executável) /usr/bin/passwd.
• 9. Abra duas janelas do terminal (ou abas) e certifique-se que você está no mesmo diretório em
ambas. Digite “echo esta é a primeira linha > arq.txt” no primeiro terminal (sem as aspas), em seguida,”
em seguida digite “tail –f arq.txt” no segundo terminal. Agora volte para o primeiro terminal e
digite “echo Esta é outra linha >> arq.txt” (observe os símbolos >>), verifique se o tail -f no
segundo terminal mostra ambas as linhas. Pare o tail -f com Ctrl+C. 10. Use o comando cat para criar um
arquivo chamado arq.txt que contém o conteúdo de arq.txt seguido pelo conteúdo do arquivo
/etc/passwd.
• 11. Use o comando cat para criar um arquivo chamado arq.txt que contém o conteúdo de /etc/passwd
seguido do conteúdo arq.txt.
67
Redirecionamento
• Uma das vantagens da linha de comando
Linux é o redirecionamento de entrada e
saída.
• Este recurso redireciona a saída padrão de um • Este recurso redireciona a saída padrão de um
programa/comando/script para algum
dispositivo ou arquivo ao invés do dispositivo
de saída padrão (tela). Quando é usado com
arquivos, este redirecionamento cria ou
substitui o conteúdo do arquivo.
68
Redirecionamento
• Por padrão, a entrada do Shell é o teclado, a
saída, a tela, e os erros são exibidos na tela
também.
• Entrada de dados: representada por stdin (0);• Entrada de dados: representada por stdin (0);
• Saída de dados: representada por stdout (1);
• Saída de erros: representada por stderr (2);
69
Redirecionamento
• Shell bash
• Streams: stdin, stdout, and stderr
– Stream é uma abstração para controle do fluxo de
dados de entrada e saída.dados de entrada e saída.
– stdin (stream 0) recebe dados de entrada, dados
de saída são enviados para stdout (stream 1) e
mensagens de erro vão para stderr (stream 2)
70
Redirecionamento
• stdin
– Geralmente associado ao teclado.
• stdout
– Envia dados para o vídeo.
• stderr• stderr
– Envia dados para o vídeo.
71
Redirecionamento
72
Redirecionamento
• Redirecionando dados para saída 1>
– Use o sinal “maior que” >. A notação > é a mesma
que 1> (stdout referenciado como stream 1).
– fulano@pc01:~$ echo Hoje está chovendo.
Hoje está chovendo.
fulano@pc01:~$ echo Hoje está chovendo. > tempo.txtfulano@pc01:~$ echo Hoje está chovendo. > tempo.txt
fulano@pc01:~$ cat tempo.txt
Hoje está chovendo.
Quando Shell encontra o sinal de > o conteúdo de file é apagado.
73
Redirecionamento
• Redirecionando dados para saída 1>
– O arquivo (file) é sempre apagado quando o Shell encontra o >.
Porém isto acontece antes da execução do comando (argumento 0),
que abaixo é “zcho”. Ou seja, o arquivo “tempo.txt” é apagado antes
de verificar se “zecho” é um comando válido.
– fulano@pc01:~$ cat tempo.txt
Hoje está chovendo. Hoje está chovendo.
fulano@pc01:~$ zcho Hoje está chovendo. > tempo.txt
bash: zcho: command not found
fulano@pc01:~$ cat tempo.txt
74
Redirecionamento
• Redirecionando dados para saída 1>
– A ação de apagar o conteúdo anterior do arquivo (file) pode ser
prevenida. Use a opção noclobber.
– fulano@pc01:~$ cat tempo.txt
Hoje está chovendo.
fulano@pc01:~$ set -o noclobber
fulano@pc01:~$ echo Hoje está chovendo. > tempo.txtfulano@pc01:~$ echo Hoje está chovendo. > tempo.txt
-bash: tempo.txt: cannot overwrite existing file
fulano@pc01:~$ set +o noclobber
– Neste caso o arquivo tempo não foi modificado.
75
Redirecionamento
• Acrescentando dados ao final de arquivo
– O sinal >> redireciona os dados para o final do arquivo especificado.
– fulano@pc01:~$ cat tempo.txt
fulano@pc01:~$ echo Hoje está chovendo. > tempo.txt
fulano@pc01:~$ cat tempo.txt
Hoje está chovendo.
fulano@pc01:~$ echo Mas ontem não choveu. >> tempo.txtfulano@pc01:~$ echo Mas ontem não choveu. >> tempo.txt
fulano@pc01:~$ cat tempo.txt
Hoje está chovendo.
Mas ontem não choveu.
– Os dados foram acrescentados ao final do arquivo e o conteúdo
anterior foi mantido.
76
Redirecionamento
• Redirecionando erros 2>
– Útil para que os erros não apareçam na tela.
– Jogando fora os erros:
– fulano@pc01:~$ find / > allfiles.txt 2> /dev/null
– fulano@pc01:~$ cat tempo.txt
Hoje está chovendo.Hoje está chovendo.
fulano@pc01:~$ set -o noclobber
fulano@pc01:~$ echo Hoje está chovendo. > tempo.txt
-bash: tempo.txt: cannot overwrite existing file
fulano@pc01:~$ set +o noclobber
– Neste caso o arquivo tempo.txt não foi modificado.
77
Redirecionamento
• Redirecionando stdout e stderr para um mesmo
arquivo 2>&1
– fulano@pc01:~$ find / > todosArquivos_e_erros.txt 2>&1
• Ordem dos redirecionamentos é importante• Ordem dos redirecionamentos é importante
– fulano@pc01:~$ ls > listadir 2>&1
– fulano@pc01:~$ ls > 2>&1 > listadir
– OBS.: No segundo comando o stderr não será
direcionado para o arquivo listadir.
78
Redirecionamento
• Enviando dados para um comando: > texto.txt
Terceira linha.
Quarta linha.
acabou
fulano@pc01:~$ cat texto.txt
Uma linha,
outra linha.
Terceira linha.
Quarta linha.
80
Marcador
indicando o final
do bloco
Pipe |
• Envia a saída de um comando para a entrada
do próximo comando para continuidade do
processamento.
• Os dados enviados são processados pelo • Os dados enviados são processados pelo
próximo comando que mostrará o resultado
do processamento.
81
Pipe
• Este comando faz a listagem longa de
arquivos que é enviado ao comando `more'
(que tem a função de efetuar uma pausa a
cada 25 linhas do arquivo).
– fulano@pc01:~$ ls -la | more
– fulano@pc01:~$ echo Victor | base64
VmljdG9yCg==
• OBS.: Comando base64 codifica um texto conforme
descrito na RFC 3548
82
Pipe
• Diferença entre o "|" e o ">“
• A principal diferença entre o "|" e o ">",é que
o Pipe envolve processamento entre
comandos, ou seja, a saída de um comando é comandos, ou seja, a saída de um comando é
enviado a entrada do próximo e o ">“
redireciona a saída de um comando para um
arquivo/dispositivo.
83
Filtros
• Comando grep: Um uso muito comum é utilizar
este comando para filtrar linhas em arquivos.
– fulano@pc01:~$ cat tennis.txt
Justine Henin, BEL
Serena Williams, usa Serena Williams, usa
Venus Williams, USA
– fulano@pc01:~$ cat tennis.txt | grep Williams
Serena Williams, usa
Venus Williams, USA
– fulano@pc01:~$ grep Williams tennis.txt
Serena Williams, usa
Venus Williams, USA
84
Filtros
• Comando grep: Filtro com “case sensitive”, opção -i.
– fulano@pc01:~$ cat tennis.txt
Justine Henin, BEL
Serena Williams, usa
Venus Williams, USAVenus Williams, USA
– fulano@pc01:~$ grep -i usa tennis.txt
Serena Williams, usa
– fulano@pc01:~$ ps aux | grep -i network
OBS.: O comando ”ps aux” exibe todos os processos em execução. O
operador | redireciona os resultados do comando ”os” para comando ”grep”,
que filtra as ocorrências de “network” do resultado. O parâmetro-i, faz com
que o comando que ignore se as letras estão em maiúsculas/minúsculas.
85
Filtros
• Comando grep: Filtro com opção –v para ignorar o
termo especificado.
– fulano@pc01:~$ cat tennis.txt
Justine Henin, BEL
Serena Williams, usa Serena Williams, usa
Venus Williams, USA
– fulano@pc01:~$ grep -v BEL tennis.txt
Serena Williams, usa
Venus Williams, USA
• Combinando opções “v” e “i”
– fulano@pc01:~$ grep –vi usa tennis.txt
Justine Henin, BEL
86
Filtros
• Comando cut: Extrai uma parte do texto
selecionando por colunas.
– fulano@pc01:~$ cut –c3 tennis.txt
s
r
n
– fulano@pc01:~$ cut –c1-3 tennis.txt – fulano@pc01:~$ cut –c1-3 tennis.txt
Jus
Ser
Ven
• Opções:
– “c3” Seleciona o terceiro caractere de cada linha do arquivo.
– “c1-3” Seleciona o intervalo entre o primeiro e terceiro caractere de cada linha
do arquivo.
87
Filtros
• Comando cut: Parâmetros “d” e “f”. “f” indica qual
campo deve ser extraído enquanto que “d”
especifica qual é o delimitador entre os campos.
por colunas.
– fulano@pc01:~$ cut –d” ” –f2 tennis.txt
Henin,
Williams,Williams,
Williams,
– fulano@pc01:~$ grep “/bin/bash” | cut –d”:” -f1-3,5,7
root:x:0:root:bin/bash
fulano:x:1000:alunos,,,:/bin/bash
• Opções:
– “ d’ ‘ e f2 ” Divide cada linha do arquivo em várias colunas sepadas por e
seleciona o campo da segunda coluna em cada linha.
– “d’:’ e f1-3,5,7” Divide as colunas por “:” e seleciona os campos de 1 até 3 e ainda o
quinto e sétimo campo de cada linha. grep retorna as linhas com “/bin/bash”.
88
Filtros
• Comando wc: Conta linhas, palavras e caracteres
em um arquivo.
• fulano@pc01 :~$ wc tennis.txt
3 9 62 tennis.txt
• fulano@pc01 :~$ wc -l tennis.txt• fulano@pc01 :~$ wc -l tennis.txt
3 tennis.txt
• fulano@pc01 :~$ wc -w tennis.txt
9 tennis.txt
• fulano@pc01 :~$ wc -c tennis.txt
62 tennis.txt
89
Filtros
• Comando sort: Apresenta conteúdo do arquivo em
ordem específica.
• fulano@pc01 :~$ cat ordem.txt
carro
zebra
automovelautomovel
• fulano@pc01 :~$ sort ordem.txt
automovel
carro
zebra
90
Filtros
• Comando sort: Opção de ordenação por coluna “-k”
específica.
• fulano@pc01 :~$ cat tennis.txt
Justine Henin, BEL
Serena Williams, usa
Venus Williams, USAVenus Williams, USA
Andre Agassi, EUA
• fulano@pc01 :~$ sort –k3 tennis.txt
Justine Henin, BEL
Andre Agassi, EUA
Serena Williams, usa
Venus Williams, USA
91
Filtros
• Comando uniq: Remove informações duplicadas em
um arquivo.
• Opções:
– c : exibe o número de ocorrências de cada linha do arquivo.
– d : exibe apenas as linhas com mais de uma ocorrência onde cada
linha é mostrada apenas uma vez.linha é mostrada apenas uma vez.
– D : exibe todas as linhas com mais de uma ocorrência. Se uma
determinada linha possui duas ocorrências, ela é exibida duas
vezes.
– i : ignora a diferença entre letras maiúsculas e letras minúsculas.
– u : exibe apenas as linhas que possuem uma única ocorrência.
Fonte: http://www.uniriotec.br/~morganna/guia/uniq.html 92
Filtros
• Comando uniq.
• fulano@pc01 :~$ cat teste.txt
aaaa
aaaa
AAAA
bbb
bbbbbbbbbb
cccc
CCCC
• fulano@pc01 :~$ uniq teste .txt
aaaa
AAAA
bbb
bbbbb
cccc
CCCC 93
Filtros
• Comando comm: Compara conteúdo de streams ou arquivos
separando em colunas. Coluna 1: Somente linhas do arquivo 1, Coluna 2:
Somente linhas no arquivo 2 e Coluna 3: Linhas em ambos os arquivos.
• fulano@pc01 :~$ cat lista01.txt
automovel
carro
zebra
• fulano@pc01 :~$ cat lista02.txt• fulano@pc01 :~$ cat lista02.txt
automovel
casa
bicicleta
• fulano@pc01 :~$ comm lista01.txt lista02.txt
automovel
carro
zebra
casa
bicicleta
94
Filtros
• Comando od: Apresenta o conteúdo do arquivo em
hexadecimal ou octal.
• fulano@pc01 :~$ cat > texto.txt
abcdefg
1234567
• Octal
fulano@pc01 :~$ od -b texto.txt
0000000 61 62 63 64 65 66 67 0a 31 32 33 34 35 36 37 0a0000000 61 62 63 64 65 66 67 0a 31 32 33 34 35 36 37 0a
0000020
• Hexadecimal
fulano@pc01 :~$ od -t x1 texto.txt
0000000 141 142 143 144 145 146 147 012 061 062 063 064 065 066 067 012
0000020
• ascii
fulano@pc01 :~$ od -c texto.txt
0000000 a b c d e f g \n 1 2 3 4 5 6 7 \n
0000020
95
Filtros
• Comando sed: stream editor, dado um stream de
entrada, o comando sed modificar o stream por
meio de expressões regulares.
• Exemplo 1: Substituindo os números do stream originado
no comando echo.
– fulano@pc01 :~$ echo dir7 | sed 's/7/45/'– fulano@pc01 :~$ echo dir7 | sed 's/7/45/'
dir45
fulano@pc01 :~$ echo dir7 | sed 's/dir/diretorio/'
diretorio7
• OBS.: Pesquise sobre expressões regulares (regex) caso
necessite de substituições mais complexas.
96
Filtros
• Comando sed: stream editor
• Exemplo 2: Adicione g (global) para substituir todas
as ocorrências da string na linha. No exemplo
seguinte substitui ocorrências de ‘dir’ por ‘diretorio’.seguinte substitui ocorrências de ‘dir’ por ‘diretorio’.
– fulano@pc01 :~$ echo dir5 dir7 | sed 's/dir/diretorio/'
diretorio5 dir7
– fulano@pc01 :~$ echo dir5 dir7 | sed 's/dir/diretorio/g'
diretorio5 diretorio7
97
Exemplos de Redirecionamento
PIPE
• who | wc
– Quantos usuários estão logados no sistema ?
• fulano@pc01 :~$ who | wc –l
• who | cut | sort
– Lista ordenada de usuários logados.– Lista ordenada de usuários logados.
• fulano@pc01 :~$ who | cut -d' ' -f1 | sort
– Lista ordenada de usuários logados, mas sem repetir nomes.
• fulano@pc01 :~$ who | cut -d' ' -f1 | sort | uniq
• grep | cut
– Lista de contas de usuários “bash” no computador.
• fulano@pc01 :~$ grep bash /etc/passwd | cut -d: -f1
98
Exercícios
• 1. Salvar uma lista ORDENADA de usuários bash em usuarioBash.txt.
• 2. Salvar uma lista ORDENADA de usuários logados no sistema no arquivo
usuariosLogados.txt.
• 3. Crie uma lista de todos os arquivos em /etc que contenham a string "conf" no nome do
arquivo.
• 4. Crie uma lista ORDENADA de todos os arquivos em /etc que contenham a string "conf" no • 4. Crie uma lista ORDENADA de todos os arquivos em /etc que contenham a string "conf" no
nome do arquivo e que não faça distinção entre letras maiúsculas e minúsculas.
• 5. Remova todos os carateres de pontuação, símbolos e etc de um texto.
99
Ferramentas Básicas
• Comando find: Localiza arquivos em um sistema
Unix ou Linux. Procura por qualquer arquivo
correspondente aos critérios de pesquisa
fornecidos. Você pode procurar os arquivos por fornecidos. Você pode procurar os arquivos por
nome, proprietário, grupo, tipo, permissões,
data e outros critérios. A busca é recursiva em
que ele irá procurar todos os subdiretórios
também. Mostra a localização do arquivo.
• OBS.: Pode demorar muito enquanto pesquisa.
100
Ferramentas Básicas
• Comando find
• Exemplos:
• Pesquisa os arquivos de nome “texto01.txt” a partir da raiz
do sistema.
– fulano@pc01 :~$ find / -nametexto01.txt– fulano@pc01 :~$ find / -name texto01.txt
• Pesquisa por tipo: Diretório opção “-type d”
– fulano@pc01 :~$ find ~/Downloads -type d -name “p*”
• Com redirecionamento: Envia saída para arquivo e descarta
os erros em /dev/null
– fulano@pc01 :~$ find / -name “*.pdf” > lista.txt 2> /dev/null
101
Ferramentas Básicas
• Comando find
• Exemplos:
• Pesquisa os arquivos criados mais recentemente que
“texto01.txt” no diretório atual.
– fulano@pc01 :~$ find . -newer texto01.txt– fulano@pc01 :~$ find . -newer texto01.txt
• Faz uma cópia de todo arquivo “.doc” encontrado para o
diretório “~/backup” por meio do comando “cp”.
– fulano@pc01 :~$ find ~/Downloads -name “*.doc” –exec cp {}
~/backup/ \;
102
Ferramentas Básicas
• Comando locate: Também localiza arquivos,
mas baseado em um índice (uma lista). Não
faz uma pesquisa real no sistema de arquivos.
• É mais rápido que o find, por causa do índice • É mais rápido que o find, por causa do índice
mas o mesmo pode estar desatualizado.
• Utilize o comando updatedb para atualizar o
índice.
103
Ferramentas Básicas
• Comando locate
• Exemplo:
• fulano@pc01 :~$ locate texto01.txt• fulano@pc01 :~$ locate texto01.txt
• OBS.: A maioria das distribuições executa o
updatedb automaticamente um vez ao dia.
104
Ferramentas Básicas
• Comando date: Pode exibir a data, hora, fuso
horário e etc.
• fulano@pc01 :~$ date
– Qua Mar 25 14:01:23 BRT 2015– Qua Mar 25 14:01:23 BRT 2015
• O formato de exibição da data pode ser personalizado. Veja manual
(man) para mais opções.
– fulano@pc01 :~$ date +'%A %d-%m-%Y'
quarta 25-03-2015
• Quantidade de segundos desde 01/01/1970.
– fulano@pc01 :~$ date +%s
142730018
105
Ferramentas Básicas
• Comando cal: Apresenta um calendário.
• Exemplos:
– fulano@pc01 :~$ cal
• É possível visualizar datas do passado e futuro.• É possível visualizar datas do passado e futuro.
– fulano@pc01 :~$ cal 7 2015
106
Ferramentas Básicas
• Comando sleep: Aplica uma pausa durante um
tempo especificado. Mais útil quando
utilizado em scripts.
• Opções: • Opções:
– s segundos (the default)
– m minutos.
– h horas.
– d dias.
• Exemplos:
– fulano@pc01 :~$ sleep 5
– fulano@pc01 :~$ sleep 1m
107
Ferramentas Básicas
• Comando time: Verifica o tempo de execução de um
comando(programa) passado como argumento. Quando o
comando finaliza, o comando time escreve uma mensagem
dando estatísticas sobre a execução. Estas estatísticas
consistem em:
– Tempo real decorrido entre a chamada e finalização;– Tempo real decorrido entre a chamada e finalização;
– Tempo de CPU do usuário;
– Tempo de CPU do sistema;
• Verifica o tempo de execução do comando “df”
• fulano@pc01 :~$ time df
real 0m2.368s
user 0m0.847s
sys 0m0.539s
108
Ferramentas Básicas
• Comandos gzip e gunzip: Os comandos gzip e gunzip
comprimem e descomprimem arquivos especificados.
• Exemplo: Compactando
– fulano@pc01 :~$ ls -lh texto.txt
-rw-rw-r-- 1 fulano alunos 6.4M Apr 17 13:11 texto.txt-rw-rw-r-- 1 fulano alunos 6.4M Apr 17 13:11 texto.txt
fulano@pc01 :~$ gzip texto.txt
fulano@pc01 :~$ ls -lh texto.txt.gz
-rw-rw-r-- 1 fulano alunos 760K Apr 17 13:11 texto.txt.gz
• Exemplo: Descompactando
– fulano@pc01 :~$ gunzip texto.txt.gz
fulano@pc01 :~$ ls -lh texto.txt
-rw-rw-r-- 1 fulano alunos 6.4M Apr 17 13:11 texto.txt
109
Ferramentas Básicas
• Comandos zcat e zmore: Os arquivos de texto
que são compactados com gzip podem ser
vistos com zcat e zmore.
• fulano@pc01 :~$ zcat texto.txt
• fulano@pc01 :~$ zmore texto.txt
110