daniel@casadocodigo:~$ cat -et agenda
Daniel Romero^I@infoslack$
Paulo Silveira^I@paulo_caelum$
Nando Vieira^I@fnando$
Adriano Almeida^I@adrianoalmeida7$
Vinicius Baggio^I@vinibaggio$
daniel@casadocodigo:~$
Note que foram exibidos caracteres ^, que representam o <TAB>, e o $, que
representa o fim da linha ou <ENTER>. Existe também a opção de enumerar as
linhas -n:
daniel@casadocodigo:~$ cat -n agenda
1 Daniel Romeroero @infoslack
2 Paulo Silveira
@paulo_caelum
3 Nando Vieira
@fnando
4 Adriano Almeida @adrianoalmeida7
5 Vinicius Baggio @vinibaggio
daniel@casadocodigo:~$
Um uso muito interessante do cat é para concatenar arquivos. Ele pode pegar
o conteúdo de vários arquivos e redirecionar para um outro. Lembra do arquivo que
criamos com o vim? Vamos usá-lo para testar esse recurso do cat, pegaremos os
43
3.4. Exibindo o início e o fim de arquivos
Casa do Código
dados da agenda e do arquivo criado com o vim, e vamos concatenar em um novo
arquivo.
Antes, verifique o conteúdo de cada um:
daniel@casadocodigo:~$ cat vim_basico.txt
Básico de Vim
Aprendendo o básico sobre o editor Vim
daniel@casadocodigo:~$
daniel@casadocodigo:~$ cat agenda
Daniel Romero
@infoslack
Paulo Silveira @paulo_caelum
Nando Vieira
@fnando
Adriano Almeida @adrianoalmeida7
Vinicius Baggio @vinibaggio
daniel@casadocodigo:~$
Vamos à instrução de concatenação de arquivos. Para isso faça o seguinte: cat
vim_basico.txt agenda > concatenando.txt:
daniel@casadocodigo:~$ cat vim_basico.txt agenda > concatenando.txt
daniel@casadocodigo:~$
Em seguida, verifique o conteúdo do novo arquivo gerado pelo cat:
daniel@casadocodigo:~$ cat concatenando.txt
Básico de Vim
Aprendendo o básico sobre o editor Vim
Daniel Romero
@infoslackslack
Paulo Silveira @paulo_caelum
Nando Vieira
@fnando
Adriano Almeida @adrianoalmeida7
Vinicius Baggio @vinibaggio
daniel@casadocodigo:~$
3.4
Exibindo o início e o fim de arquivos
É interessante saber sobre dois comandos com a função de exibir o conteúdo de um
arquivo do cat: são eles o head e tail.
44
Casa do Código
Capítulo 3. Manipulando arquivos
O head mostra o início dos dados em um arquivo. Por padrão ele exibe as 10
primeiras linhas do arquivo, mas utilizando a opção -n podemos limitar o número
de linhas:
daniel@casadocodigo:~$ head -n 3 concatenando.txt
Básico de Vim
Aprendendo o básico sobre o editor Vim
daniel@casadocodigo:~$
Já o tail mostra o final dos dados do arquivo e possui a mesma opção para
limitar a quantidade de linhas, -n:
daniel@casadocodigo:~$ tail -n 5 concatenando.txt
Daniel Romero
@infoslackslackack
Paulo Silveira @paulo_caelum
Nando Vieira
@fnando
Adriano Almeida @fnandoadrianoalmeida7
Vinicius Baggio @vinibaggio
daniel@casadocodigo:~$
Lembre-se de sempre consultar a documentação dos comandos com o man!
No capítulo a seguir veremos como fazer a compreesão e descompressão de ar-
quivos.
45
Capítulo
4
Compactação e descompactação de
arquivos
O Linux por padrão possui vários utilitários de compressão de arquivos. Compactar
arquivos e diretórios é uma boa prática para realização de backups. Neste capítulo veremos alguns comandos de compressão.
4.1
Conhecendo o tar
O tar é excelente para agrupar vários arquivos em apenas um. Isso, na prática,
evita que precisemos fazer várias transferências de arquivos entre computadores, enviando apenas um único arquivo. Isso vai aparecer muito no decorrer do seu uso do Linux. É importante conhecê-lo bem.
Basicamente existem três tipos de arquivos que são utilizados com o .tar:
tar.gz ou .tgz e .tar.bz2.
Ao utilizarmos o .tar, ele realiza uma cópia sem compactação dos arquivos
4.1. Conhecendo o tar
Casa do Código
passados como parâmetro, ou seja ele junta todos os arquivos em um único arquivo
sem compactar.
Algumas opções do tar:
-c cria um novo arquivo .tar e adiciona os arquivos a serem compactados;
-f indica que o destino é um arquivo em disco;
-v exibe o nome de cada arquivo compactado;
-x extrai os arquivos agrupados no arquivo .tar.
Para mais opções, lembre-se de usar o man!
Vamos testar o .tar na prática, juntaremos todos os nossos arquivos que ter-
minam em .txt em apenas um. Para isso usaremos as opções -c e -f:
daniel@casadocodigo:~$ ls
agenda concatenando.txt nano_basico.txt vim_basico.txt
daniel@casadocodigo:~$ tar -cf backup.tar *.txt
daniel@casadocodigo:~$ ls
agenda backup.tar concatenando.txt nano_basico.txt vim_basico.txt
daniel@casadocodigo:~$
Note que foi criado um arquivo chamado backup.tar, que representa a união
de todos os arquivos com extensão .txt.
Vamos fazer o reverso desta união, separando os arquivos usando as opções -x,
-v e -f. Criaremos um novo diretório para melhor visualizar:
daniel@casadocodigo:~$ mkdir backup
daniel@casadocodigo:~$ mv backup.tar backup/
daniel@casadocodigo:~$ cd backup/
daniel@casadocodigo:~/backup$ ls
backup.tar
daniel@casadocodigo:~/backup$ tar xvf backup.tar
concatenando.txt
nano_basico.txt
vim_basico.txt