Saltar para o conteúdo

Linux Essencial/Lição Visualização de arquivos

Origem: Wikilivros, livros abertos por um mundo aberto.
  • Objetivo(s): Apresentar a forma de visualização de arquivos em ambientes de texto.
  • Direitos autorais e licença: Veja notas de direitos autorais e licença no final da lição.

Comandos de processamento de texto

[editar | editar código-fonte]

Os comandos de processamento de texto se limitam a executarem a leitura de arquivos. Alguns deles também executam simples operações baseadas no conteúdo de arquivos, apresentando o resultado na tela. Para edição propriamente dita de arquivos de texto veja o próximo tópico “Editores de texto”.

No sistema operacional Linux existem arquivos que sofrem alterações geradas pelo próprio sistema, não havendo a necessidade do usuário manipular esses arquivos. Existem, também, comandos que permitem a abertura e leitura do arquivo sem receber novos conteúdos do teclado, ou que permitem apenas saber sobre o seu conteúdo. Os arquivos apresentados neste tópico são para exemplificação, não havendo a necessidade de alteração nos mesmos. Por isso é necessário ter cuidado na sua manipulação.

cat é um comando simples que permite a leitura do conteúdo do arquivo. É utilizado quando é necessário visualizar o conteúdo de um arquivo mas não é necessário modificá-lo. Ao ser dado o comando, ele apresenta o conteúdo do arquivo na tela e logo após retorna o prompt de comando para o usuário. Com isso não existe a paginação, quebra do conteúdo por tela, e todo o conteúdo é apresentado. Para fazer a sua leitura é necessário utilizar comandos de retorno ou quebra de página.

O comando de retorno de tela é ativado pressionando as teclas Shift+Page UP para subir a tela, ou shift+Page Down para descer a tela. A quebra de página pode ser vista no capítulo sobre redirecionamento.

Sintaxe:

cat arquivo

Exemplo:

$cat /etc/fstab
/dev/hda5     swap          swap     defaults             0  0
/dev/hda6     swap          swap     defaults             0  0
/dev/hda7     /             ext3     defaults             1  1
/dev/hdb      /mnt/cdrom    iso9660  noauto,ro,owner      0  0
/dev/fd0      /mnt/floppy   ext3     auto,rw              0  0
none          /proc         proc     defaults             0  0
none          /dev/pts      devpts   gid=5,mode=620       0  0
/dev/cdrom    /mnt/cdrom    iso9660  noauto,owner,ro      0  0

Opção:

-n - mostra o número de linhas.

Exemplo:

# cat /etc/hosts
127.0.0.1       localhost.localdomain localhost
10.1.1.26       localhost.domain        localhost

No exemplo foi listado o conteúdo do arquivo /etc/hosts na tela. Exemplo:

# cat -n hosts
1  127.0.0.1       localhost.localdomain localhost
2  10.1.1.26       localhost.domain        localhost

A primeira coluna representa o valor da referente linha.

O comando tail é semelhante a um rodapé, servindo para mostrar apenas o final de um arquivo na tela. Por padrão são mostradas apenas as 10 últimas linhas. Sintaxe:

tail [opções] arquivo

Opção:

-n X - essa opção é utilizada para definir o número de linhas que deverá ser apresentado na tela, sendo que a contagem é realizada da última linha para a primeira. O caractere X representa a quantidade de linhas a serem apresentadas;

-f - não fecha o arquivo após a apresentação do mesmo. Em outras palavras, continua exibindo o fim do arquivo, monitorando alterações feitas no mesmo.

Exemplo:

[root@lab20 /etc]# tail inetd.conf
#
 #auth   stream  tcp     nowait    nobody    /usr/sbin/in.identd in.ident        d -l -e -o
# auth  stream  tcp     nowait  nobody  /usr/sbin/ident2 ident2 -a -r -n        -s
#
 # Linuxconf Web Interface:
 #
 # linuxconf stream tcp wait root /bin/linuxconf linuxconf --http
#
 # End of inetd.conf
 #swat stream tcp nowait.400 root /usr/sbin/swat swat

Para o exemplo foi selecionado o arquivo /etc/inetd.conf. Exemplo:

[root@lab20 /etc]# tail -n 5 inetd.conf
# Linux Web Interface;
 #
 # linuxconf stream tcp wait root /bin/linuxconf linuxconf --http
#
 # End of inetd.conf

Nesse exemplo foi limitado a quantidade de linhas que deveriam ser apresentadas na tela. Para maiores detalhes: man tail

O comando head é parecido com o tail, tendo como única diferença que o head apresenta o início do arquivo. Por padrão as 10 primeiras linhas são exibidas. Sintaxe:

head [opção] arquivo

Exemplo:

[root@lab20 /etc]# head inetd.conf
#
 # inetd.conf    This file describes the services that will be available
#               through the INETD TCP/IP super server.  To re-configure
#               the running INETD process, edit this file, then send the
#               INETD process a SIGHUP signal.
#
 # Version:      @(#)/etc/inetd.conf     3.10    05/27/93
#
 # Authors:      Original taken from BSD UNIX 4.3/TAHOE.
#               Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>

Opção:

  • -n X: lista as primeiras X linhas

Exemplo:

[root@localhost /etc]# head -n 7 inetd.conf
#
 # inetd.conf    This file describes the services that will be available
#               through the INETD TCP/IP super server.  To re-configure
#               the running INETD process, edit this file, then send the
#               INETD process a SIGHUP signal.
#
 # Version:      @(#)/etc/inetd.conf     3.10    05/27/93

Para maiores detalhes: man head.

O comando more é utilizado para a paginação de arquivos, tendo como principal função a paralisação da listagem, ou seja, ao ser aplicado sobre um arquivo muito grande, quando ele completar a tela, será parado e o usuário poderá fazer a leitura apresentada. Para continuar basta teclar <enter> para passar uma linha, ou teclar <espaço> para passar uma tela inteira. Para sair do comando pode ser feita passando todas as páginas ou teclando <q>.

Sintaxe:

more arquivo

Arquivo é o conteúdo que deverá ser lido. Esse comando permite também a leitura de arquivos compactados com o gzip, extensão .gz, através do comando zmore.

Sintaxe:

zmore arquivo.gz

O comando less é parecido com o comando more, mas com alguns recursos a mais. Um dos recursos atribuídos ao less é a possibilidade de caminhar pelo texto utilizando as setas para cima ou para baixo, ou pageUp/pageDown permitindo assim retroceder o texto, caso haja a necessidade disso. Para fechar o comando basta teclar <q>. Sintaxe:

less arquivo

Onde arquivo possui o conteúdo que se deseja ler. O less permite a leitura de arquivos compactados com o gzip, extensão .gz, através do comando zless.

Sintaxe:

zless arquivo.gz

Onde arquivo.gz está compactado.

Antes de abrir um arquivo, até mesmo para leitura, pode ser interessante saber a quantidade de linhas, caracteres ou palavras ali contidos. O comando wc (word count) faz exatamente isso. Sintaxe:

wc [opcoes] arquivo

Opções:

-c - lista o total de caracteres do arquivo

-w - lista o total de palavras do arquivo

-l - lista o total de linhas do arquivo

Exemplo:

# wc host.conf
2       4      26 host.conf

No exemplo pode ser encontrado os seguintes valores:

O número 2 significa o número de linhas.

O número 4 significa o número de palavras.

O número 26 significa o número de caracteres.

O comando sort serve para ordenar um determinado texto, linha-a-linha. Por padrão o resultado é exibido em tela. Possíveis métodos de ordenação incluem ordem alfabética e numérica. Sintaxe:

sort [opção] arquivo

opção:

-b - ignora as linhas que estão em branco;

-f - não faz a distinção entre maiúsculas e minúsculas;

-n - ordena valores numéricos

-o arquivo - grava a saída do resultado para dentro do arquivo indicado.

Exemplo:

#sort /etc/group
adm:x:4:root,adm,daemon
bin:x:1:root,bin,daemon
cdrom:x:24:
console:x:16:
daemon:x:2:root,bin,daemon
ftp:x:50:
games:x:20:
lp:x:7:daemon,lp
mail:x:12:mail
man:x:15:
named:x:235:
nobody:x:65534:
ntp:x:105: 
root:x:0:root
sys:x:3:root,bin,adm
tty:x:5:
users:x:100:
uucp:x:14:uucp
virlei:x:500:

Exercícios de Revisão

[editar | editar código-fonte]

1. Qual o comando utilizado para visualizar as 10 primeiras linhas do arquivo /etc/passwd?

2. Crie um arquivo com o conteúdo de uma página qualquer da internet e organize as linhas do arquivo em ordem alfabética.

3. Qual a diferença entre os comandos more e less?