Vous êtes sur la page 1sur 28

4450

Linux Essentials

www.4linux.com.br

Contedo
5 Comandos Avanados I
5.1

Introduo terica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.1.1

Trabalhando com entrada e sada de dados

. . . . . . . . .

5.1.2

Alterando os redirecionamentos . . . . . . . . . . . . . . . .

5.1.3

O direcionador > . . . . . . . . . . . . . . . . . . . . . . . . .

5.1.4

O direcionador . . . . . . . . . . . . . . . . . . . . . . . . .

5.1.5

O direcionador < . . . . . . . . . . . . . . . . . . . . . . . . .

5.1.6

O direcionador 2> . . . . . . . . . . . . . . . . . . . . . . . .

5.1.7

O direcionador 2 . . . . . . . . . . . . . . . . . . . . . . . . 10

5.1.8

O direcionador 2>&1 . . . . . . . . . . . . . . . . . . . . . . . 10

5.1.9

O direcionador &> . . . . . . . . . . . . . . . . . . . . . . . . 12

5.1.10 O direcionador & . . . . . . . . . . . . . . . . . . . . . . . . 13


5.1.11

O direcionador | . . . . . . . . . . . . . . . . . . . . . . . . . 14

5.1.12 O direcionador tee . . . . . . . . . . . . . . . . . . . . . . . . 14


5.1.13 O direcionador . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.14 dd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1.15 Contagem: wc . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1.16 split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1.17 Determinando o tipo de arquivo: file . . . . . . . . . . . . . . 19
5.1.18 who . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.19 w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1.20 ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1.21 Inodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1.22 stat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1.23 Link simblico . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.24 Hard links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4Linux www.4linux.com.br

Contedo

5.1.25 nl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.1.26 Classificao: sort . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1.27 Eliminando linhas repetidas: uniq . . . . . . . . . . . . . . . . 28

Linux Essentials

Pgina 3

Captulo 5
Comandos Avanados I
5.1 Introduo terica
No mundo GNU/Linux, a maioria das operaes so realizadas por meio de comandos escritos. Em geral, eles permitem um maior controle e flexibilidade de operaes,
alm de poderem ser includos em scripts. Neste captulo iremos aprender alguns
comandos avanados.

5.1.1 Trabalhando com entrada e sada de dados


No linux, voc pode ler dados de um arquivo ou terminal ou escrever dados para
um arquivo ou terminal. O linux tem trs tipos de fluxo de dados: entrada(INPUT),
sada(OUTPUT) e a ltima para imprimir diagnsticos ou mensagens de erro.
Por padro, a entrada de dados e comandos no Shell feita pelo teclado, a sada
destes retornada na tela. Eventuais erros so exibidos na tela tambm. Porm
voc pode alterar a sada padro que a tela e envi-la para um arquivo ou outra
localizao.
Os termos geralmente usados so: 0 - Entrada de dados, representada por stdin

4Linux www.4linux.com.br

5.1 Introduo terica

(Standard Input); 1 - Sada de dados, representada por stdout (Standard Output);


2 - Sada de erros, representada por stderr (Standard Error);

5.1.2 Alterando os redirecionamentos

Formas de redirecionar o fluxo de dados:


> (maior): Direciona a sada do comando para um arquivo, substituindo o seu contedo, caso o arquivo j exista;
(maior-maior): Direciona a sada do comando para um arquivo, adicionando o texto
ao final do arquivo, caso ele j exista;
< (menor): Passa o contedo do arquivo como argumento para o comando;
2> (dois-maior): Direciona as sadas de erro geradas pelo programa para um arquivo,
substituindo seu contedo, caso o arquivo j exista;
2 (dois-maior-maior): Direciona as sadas de erro geradas pelo programa para um
arquivo, adicionando o texto ao final do arquivo, caso ele j exista;
2>&1 (dois-maior-e-um): Direciona as sadas de erro para a sada do comando, no
caso para STDOUT;
&> (e-maior): Direciona todas as sadas (normal e de erro) para um arquivo, substituindo seu contedo, caso ele j exista; & (e-maior-maior): Direciona todas as
sadas (normal e de erro) para um arquivo, adicionando o texto ao final do arquivo,
caso ele j exista;
| (barra vertical ou pipe): Utiliza a sada do primeiro comando como argumento do
segundo comando; tee: mostra sada na tela e redireciona para um arquivo ou outra
localizao ao mesmo tempo;

Linux Essentials

Pgina 5

5.1 Introduo terica

4Linux www.4linux.com.br

: marca o fim de um bloco.

5.1.3 O direcionador >


O direcionador > direciona a sada padro de um comando para um arquivo. Caso o
arquivo exista, o seu contedo substitudo.
Vejamos, ento, uma sada do comando ls:

# ls /

boot

lost + found
lib

tmp

bin

mnt

media
dev

repo
opt

lib64

proc

srv
root
selinux

var
sys

cdrom
home

etc

sbin

usr

Para gravar essa lista em um arquivo chamado raiz, utilizamos o direcionador, da


seguinte forma:

# ls / > raiz

No aparece nada na tela porque o comando foi executado sem erros e sua sada
redirecionada para o arquivo raiz, confira:

# cat raiz

O contedo do arquivo raiz o mesmo da sada do comando ls. Cuidado ao utilizar


o direcionador para o mesmo arquivo, pois os dados sero perdidos, exemplo:
Quero enviar a sada do arquivo raiz para raiz:
1 - Primeiro visualize o arquivo para ver que h dados no arquivo raiz:

Pgina 6

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

# cat raiz

2 - envie a sada do cat para o arquivo raiz:

# cat raiz > raiz

Ao realizar o comando acima, a primeira interpretao do bash executar o comando: > raiz, ou seja, se no existe o arquivo, ele ser criado, e se j existe
sobrescrito. No caso ele sobrescreve o arquivo raiz, deixando-o em branco, e quando
o comando cat raiz executado, no h sada, pois o arquivo est zerado, no redirecionando nada.
Para evitar este problema execute o comando:

# set -o noclobber

aps o comando faca o exemplo:

cat / etc / fstab > hoje

cat hoje > hoje

Verifique que o arquivo no foi sobrescrito.


e para voltar:

# set +o noclobber

Linux Essentials

Pgina 7

5.1 Introduo terica

4Linux www.4linux.com.br

5.1.4 O direcionador
O direcionador direciona a sada padro de um comando para um arquivo. Caso o
arquivo exista, a sada adicionada ao final do arquivo.

# ls / >> hoje

Verifique que a sada do comando ls foi adicionada ao final do arquivo hoje.

5.1.5 O direcionador <


O direcionador < utilizado para passar um stdin para um comando, ele geralmente
utilizado para passar o contedo de arquivos como parmetros de comandos.
Alguns comandos precisam que seja passado o stdin para eles serem executados,
vamos ver o exemplo do comando tr, que traduz ou deleta caracteres:
Para converter letras minsculas por maisculas faa:

# tr "a -z " "A - Z " / etc / passwd

Verifique que sem o redirecionador < o comando no executado com sucesso,


agora faa corretamente:

# tr "a -z " "A - Z " < / etc / passwd

Voc tambm pode utilizar o comando tr para deletar caracteres, vamos deletar as
vogais do arquivo:

Pgina 8

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

# tr -d aeiou < / etc / passwd

Para que as mudanas sejam efetuadas de fato necessrio encaminhar a sada


para outro arquivo.

5.1.6 O direcionador 2>


Quando utilizamos o direcionador > ele no redireciona as sada de erro, apenas a
sada sem erros, caso o arquivo no exista ser criado e caso j exista ser sobrescrito. Por exemplo, vamos usar o comando ls usando como parmetro um diretrio
que no existe e redirecionar sua sada para um novo arquivo:

# ls nao_existe > ls_naoexiste

2
3

ls : imposs vel acessar nao_existe : Arquivo ou diret rio n o


encontrado

Verifique que mesmo no redirecionando a sada com erro o arquivo ls_naoexiste


criado:

# cat ls_naoexiste

Para gravar as mensagens de erro, devemos utilizar o direcionador 2>:

# ls nao_existe 2 > ls_naoexiste . err

Agora sim, nenhuma mensagem de erro foi exibida na tela, porque ela foi enviada
para o arquivo ls_naoexiste.err, vamos verificar o contedo dele:

Linux Essentials

Pgina 9

5.1 Introduo terica

4Linux www.4linux.com.br

# cat ls_naoexiste . err

ls : imposs vel acessar nao_existe : Arquivo ou diret rio n o


encontrado

5.1.7 O direcionador 2
Quando utilizamos o direcionador 2 ele redireciona apenas as mensagens de erro,
caso o arquivo no exista ser criado e caso j exista ser adicionada a sada ao
final do arquivo.

# cat ls_naoexiste . err

Agora vamos redirecionar outra sada de erro para este arquivo:

# cat / nada 2 > > ls_naoexiste . err

Verifique que a sada de erro foi adicionada ao arquivo ls_naoexiste.err:

# cat

ls_naoexiste . err

ls : imposs vel acessar nao_existe : Arquivo ou diret rio n o


encontrado

cat : / nada : Arquivo ou diret rio n o encontrado

5.1.8 O direcionador 2>&1


Podemos usar os direcionadores > e 2> em conjunto, para gerar um arquivo com a
sada padro e outro com a sada de erros, dessa forma:

Pgina 10

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

# cat / etc /*

A sada mostra tanto o contedo dos arquivos quanto os erros por tentar ler
um diretrio com o comando cat.
Vamos enviar a sada deste comando para arquivos diferentes:

# cat / etc /* > msg_correto 2 > msg_errado

Visualize o contedo dos arquivos msg_correto e msg_errado:

# cat msg_correto

# cat msg_errado

Mas, e se for necessrio gravar todas as mensagens em um arquivo apenas?


Podemos redirecionar o stderr para o stdout:

# cat / etc /* > msg_total 2 >&1

Aqui redirecionamos o stdout para o arquivo msg_total e redirecionamos o stderr


para stdout, ou seja, tambm para o arquivo msg_total.
Visualize seu contedo:

# cat

msg_total

Linux Essentials

Pgina 11

5.1 Introduo terica

4Linux www.4linux.com.br

5.1.9 O direcionador &>

Podemos usar os direcionadores > e 2> em conjunto, para gerar um arquivo com a
sada padro e outro com a sada de erros, dessa forma:

# cat / etc /*

A sada mostra tanto o contedo dos arquivos quanto os erros por tentar ler
um diretrio com o comando cat.
Vamos enviar a sada deste comando para arquivos diferentes:

# cat / etc /* > msg_ok 2 > msg_error

Visualize o contedo dos arquivos msg_ok e msg_error:

# cat msg_ok

# cat msg_error

Mas, e se for necessrio gravar todas as mensagens em um arquivo apenas? Para


isso existe o direcionador &>, que direciona tanto as mensagens padro quanto as
mensagens de erro para um nico arquivo, caso o arquivo no exista ser criado e
caso j exista ser sobrescrito.
Repetindo o teste anterior:

# cat / etc /* & > ls_out

Pgina 12

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

No aparece nenhuma mensagem no terminal, pois tanto as mensagens ok quanto


as mensagens com erro foram redirecionadas para o arquivo ls_out, visualize seu
contedo:

# cat ls_out

5.1.10 O direcionador &

Assim como o redirecionador &> ele redireciona tanto a sada de stdout quanto a
sada de stderr para um nico arquivo, a diferena que, caso o arquivo no exista
ele ser criado e caso j exista ser adicionado a sada com comando ao final do
arquivo. Visualize o arquivo ls_out:

# cat ls_out

Agora redirecione a sada stdout e stderr para ele com & :

# cat / etc /* & > > ls_out

No aparece nenhuma mensagem no terminal, pois tanto as mensagens ok quanto


as mensagens com erro foram redirecionadas para o arquivo ls_out, visualize seu
contedo:

# cat ls_out

Observe que a sada foi adicionada ao final do arquivo.

Linux Essentials

Pgina 13

5.1 Introduo terica

4Linux www.4linux.com.br

5.1.11 O direcionador |

Conhecido como pipe, ele envia o stdout de um comando para o stdin do prximo
comando para dar continuidade ao processamento, os dados enviados sero processados pelo prximo comando trazendo assim um resultado esperado.
Vamos usar novamente o comando tr para exemplificar, mas desta vez utilizando o
pipe:
Primeiro visualize o contedo do arquivo /etc/passwd:

# cat / etc / passwd

A sada foi o stdout do comando. Vamos agora redirecionar este stdout para o comando tr:

# cat / etc / passwd | tr "a - z " "A - Z "

5.1.12 O direcionador tee

Quando usado junto com o pipe |, o tee permite que a sada padro do comando
seja exibida na tela e enviada para um arquivo ao mesmo tempo. Veja a sada de um
comando e envie-a para um arquivo qualquer, caso o arquivo no exista, ser criado
e caso j exista ser sobrescrito, caso queira adicionar um arquivo j existente use
tee -a :

# cat / etc / fstab | tee arquivo . tee

Pgina 14

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

A sada aparece na tela e tambm foi direcionada para o arquivo arquivo.tee, visualizeo:

# cat arquivo . tee

5.1.13 O direcionador
Temos ainda o direcionador , utilizado para marcar o fim de exibio de um bloco.
Um dos usos mais frequentes desse direcionador em conjunto com o comando
cat.
Voc pode editar um novo arquivo com o comando cat ou at mesmo adicionar contedo nele, veja:

# cat << EOF > arquivo_novo

Onde: EOF - indica que a edio do arquivo terminar quando em uma linha contiver apenas a sequncia EOF.
> arquivo_novo - direciona o que for digitado no arquivo para arquivo_novo. Ex:

# cat << EOF > arquivo_novo

2
3

Este

meu arquivo !

EOF

Visualize o arquivo gerado:

Linux Essentials

Pgina 15

5.1 Introduo terica

4Linux www.4linux.com.br

# cat arquivo_novo

5.1.14 dd
O comando dd dos sistemas baseados em Linux e Unix, um programa para copiar
e converter arquivos de um local para outro, servindo at para clonar dispositivos ou
reas de discos fixos ou removveis como CD(s), DVD(s), disquetes, HD(s), dispositivos USB entre outros.
Sintaxe:

# dd if =< origem > of = < destino >

Criando um arquivo de 1MB:

# dd if =/ dev / zero of = teste . txt bs =1024 count =1000

Onde:
If - Input File = arquivo de origem
of - Output File = arquivo de destino
bs - Block Size = tamanho do bloco
count - nmero de blocos
Em sistemas operacionais do tipo Unix, /dev/zero um arquivo especial que fornece
quantos caracteres nulos (o NULL da tabela ASCII, 0x00; e no o caractere "dgito

Pgina 16

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

zero", "0", 0x30) forem lidos dele. O fluxo de caracteres nulos gerado por este dispositivo pode, por exemplo, ser utilizado para sobrescrever informaes ou para gerar
um arquivo limpo de certo tamanho.

5.1.15 Contagem: wc

Grande parte dos arquivos de configurao e de dados usa uma linha por registro. A
contagem destas linhas pode nos fornecer informaes muito interessantes.
Por exemplo, a sada abaixo:

# wc / etc / passwd

Indica que o arquivo contm X linhas, Y blocos (palavras) e Z caracteres. Caso seja
necessrio apenas o nmero de linhas, o comando wc pode ser usado com o
parmetro -l, como abaixo:

# wc -l / etc / passwd

Apenas contar o nmero de blocos (palavras):

# wc -w / etc / passwd

Apenas contar o nmero de caracteres:

# wc -c / etc / passwd

Linux Essentials

Pgina 17

5.1 Introduo terica

4Linux www.4linux.com.br

5.1.16 split
O comando split usado para dividir determinado arquivo em pedaos menores,
muito til quando se tem um arquivo maior do que um espao de armazenamento
como por exemplo um cd, voc pode dividir o arquivo para que ele caiba em dois ou
mais cds, por exemplo.
Vamos dividir o arquivo gerado pelo dd em partes de 300Kb:

# split -b 300 KB teste . txt

O tamanho pode ter os sufixos:


b 512, KB 1000, K 1024, MB 1000*1000, M 1024*1024
GB 1000*1000*1000, G 1024*1024*1024
Verifique que foram gerados vrios arquivos com o prefixo x, veja tambm o tamanho deles:

# ls -lh xx *

Podemos dividir o arquivo por nmero de linhas e mudar seu prefixo tambm:

# split -l 10 / etc / passwd pref

Verifique que foram gerados vrios arquivos com o prefixo pref, veja tambm o
nmero de linhas de cada um:

# wc -l pref *

Pgina 18

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

Para recuperar o arquivo, concatene todos os pedaos na ordem correta:

# cat

prefaa prefab prefac prefad > passwd . backup

Visualize o arquivo:

# cat passwd . backup

5.1.17 Determinando o tipo de arquivo: file


Extenses de arquivos tm apenas a funo de nos auxiliar a nomear os arquivos,
a identific-los e organiz-los facilmente. No a extenso que determina o tipo
do arquivo, mas sim o seu contedo. Por exemplo, se renomearmos um arquivo de
imagem chamado 4Linux.jpg para 4Linux.html, ele continuar sendo um arquivo de
imagem JPEG.
O comando file determina o tipo do arquivo analisando o seu contedo. O exemplo
abaixo mostra o uso deste comando:

# file /

# file / bin / cat

# file / dev / sda1

# file / etc / passwd

# file / usr / sbin / adduser

5.1.18 who
Determina quais usurios esto logados.

Linux Essentials

Pgina 19

5.1 Introduo terica

4Linux www.4linux.com.br

Verifique os usurios que esto logados no sistema:

# who

fabiano

tty7

2011 -08 -11 23:01 (:0)

fabiano

pts /0

2011 -08 -12 21:32 (:0.0)

Onde:
fabiano - usurio logado tty7 - terminal em que o usurio est logado 2011-08-11
23:01 - hora e data de login (:0) - Display

5.1.19 w
Mostra tempo que o sistema est ligado, mdia de carga do sistema, usurios logados.

# w

21:43:12 up 22:42 ,

USER

TTY

FROM

fabiano

tty7

:0

Thu23

22:41 m

:0.0

21:32

0.00 s

2 users ,

load average : 0 ,55 , 0 ,45 , 0 ,37


LOGIN@

IDLE

JCPU

PCPU WHAT

6:27

0.53 s

0.22 s

0.02 s w

gnome - session
5

fabiano

pts /0

5.1.20 ln
O comando ln permite criar links. Existem dois tipos de links suportados pelo Linux,
os hard links e os links simblicos. Os links simblicos tm uma funo parecida
com os atalhos do Windows: eles apontam para um arquivo, mas se o arquivo
movido para outro diretrio, o link fica quebrado. Os hard links por sua vez so

Pgina 20

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

semelhantes aos atalhos do OS/2 da IBM, eles so mais intimamente ligados ao


arquivo e so alterados junto com ele. Se o arquivo muda de lugar, o link automaticamente atualizado. Isto possvel porque nos sistemas de arquivos usados pelo
Linux cada arquivo possui um cdigo de identificao (chamado de inode), que nunca
muda. O sistema sabe que o arquivo renomeado o mesmo do atalho simplesmente
procurando-o pelo inode ao invs do nome.

5.1.21 Inodes

Cada diretrio e arquivo do Linux identificado para o kernel como um nmero de n


i (inode). Um inode , na realidade, uma estrutura de dados que possui informaes
sobre um determinado arquivo ou diretrio como, por exemplo, dono, grupo, tipo e
permisso de acesso.
O inode exclusivo somente para o dispositivo (partio) dentro do qual ele est
contido. Portanto, para identificar unicamente um arquivo, o kernel deve ter o nmero
de dispositivo e o inode do arquivo.
Um arquivo possui um nico inode, no importa por quantos nomes este arquivo
identificado no sistema. Logo, o conjunto de inodes que indica o nmero de
arquivos/diretrios que o sistema possui.

5.1.22 stat

Para saber o nmero do inode de um arquivo digite:

# ls -i < arquivo >

Ou utilize o comando stat:

Linux Essentials

Pgina 21

5.1 Introduo terica

4Linux www.4linux.com.br

# stat < arquivo >

Vamos ver o nmero do inode do arquivo /etc/passwd:

# stat / etc / passwd

File : / etc / passwd

Size : 3020

Access : (0644/ - rw -r - -r - -)

Access : 2011 -08 -13 23:20:01.046079196 -0300

Modify : 2011 -08 -13 23:20:00.236496119 -0300

Change : 2011 -08 -13 23:20:00.325887191 -0300

Blocks : 8

Device : 801 h /2049 d

IO Block : 4096

Inode : 4995196

arquivo comum

Links : 1

Uid : (0/ root )

Gid : (0/ root )

Onde:

linha 1 - nome do arquivo.

linha 2 - tamanho, tipo do arquivo.

linha 3 - localizao no dispositivo, nmero do inode.

linha 4 - permisses, dono, grupo.

linha 5 - ltima vez que o arquivo foi acessado, visualizado.

linha 6 - ltima vez que foi modificado o arquivo.

linha 7 - ltima vez que foi alterada a permisso do arquivo.

Pgina 22

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

5.1.23 Link simblico


possvel criar links simblicos de arquivos e/ou diretrios mesmo que estejam em
parties diferentes, j que o nmero de inodes do arquivo original e do link simblico
so diferentes, mas se o arquivo original for apagado o link quebrado, tornandose intil. Tambm no possvel determinar a permisso olhando o link simblico,
somente olhando o original.
Vamos criar um arquivo para testarmos:

# vim arquivo

Este arquivo para teste !

Agora vamos olhar o nmero do inode do arquivo com o comando ls:

# ls -i arquivo

11927685 arquivo

Onde:
-i - mostra nmero de inode do arquivo/diretrio
Criando o link simblico:

# ln -s < arquivo_original > < link_simbolico >

Vamos criar o link do arquivo: arquivo para o arquivo: arq.simbolico.

# ln -s arquivo arq . simbolico

Linux Essentials

Pgina 23

5.1 Introduo terica

4Linux www.4linux.com.br

Visualize os nmeros de inodes e a permisso:

# ls -1 il arq *

11927715 lrwxrwxrwx 1 root root 7 2011 -08 -11 18:04 arq . simb lico ->
arquivo

11927685 -rw -r - -r - - 1 root root 0 2011 -08 -11 17:52 arquivo

Onde:
-1 - mostra um arquivo por linha -i - mostra nmero do inode do arquivo/diretrio -l modo estendido
Verifique que no possvel determinar qual a permisso olhando o arq.simblico.
Crie um diretrio:

# mkdir diretorio

Agora vamos olhar o nmero do inode do diretrio com o comando ls:

# ls -di diretorio

11935762 diretorio

Onde:
-d - mostra informaes do diretrio -i - mostra nmero de inode do arquivo/diretrio
Criando o link simblico:

# ln -s < diretorio_original > < diretorio_simbolico >

Pgina 24

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

Vamos criar o link do arquivo: diretrio para o diretrio: dir.simblico.

# ln -s diretorio dir . simb lico

Visualize os nmeros de inodes:

# ls

-1 dil dir *

11935762 drwxr - xr - x 2 root root 4096 2011 -08 -11 18:12 diret rio

11927717 lrwxrwxrwx 1 root root

10 2011 -08 -11 18:14 dir . simb lico

-> diret rio /

Onde:
-1 - mostra um arquivo/diretorio por linha -d - mostra informaes do diretorio -i mostra nmero do inode do arquivo/diretrio -l - modo estendido

5.1.24 Hard links

No possvel criar Hark links de arquivos e/ou diretrios que estejam em parties
diferentes, pois o range de nmeros de inodes mudam de uma partio para outra,
ou seja, os Hark links no tero o mesmo nmero de inode, e tambm no possvel
criar Hard links de diretrios da mesma partio.
Criando o Hard link:

# ln

< arquivo_original > < Hard_link >

Vamos criar o link do arquivo: arquivo para o arquivo: arq.hard.

Linux Essentials

Pgina 25

5.1 Introduo terica

# ln

4Linux www.4linux.com.br

arquivo arq . hard

Visualize os nmeros de inodes:

# ls -1 -i arq *

Onde:
-1 - mostra um arquivo por linha -i - mostra nmero do inode do arquivo/diretrio

5.1.25 nl

O comando cat permite numerar as linhas atravs da opo -n:

# cat -n / etc / fstab

Existe um outro comando que tambm visualiza arquivo e numera as linhas, este
Comando o nl:

# nl / etc / passwd

# grep sys / etc / passwd | nl

# ls -l / etc | nl

# ls -l / etc | tail | nl

Pgina 26

Linux Essentials

4Linux www.4linux.com.br

5.1 Introduo terica

5.1.26 Classificao: sort

Para diversas aes como eliminao de itens repetidos e rpida visualizao de


nomes interessante que possamos classificar um arquivo texto ou a sada de um
comando. Na linha de comando, os arquivos textos podem ser classificados usando
o comando sort.
Vamos criar um arquivo de exemplo:

# vim bagun a

Gabriela

Barbara

Bruno

Victor

Alexandre

Bruno

Alfredo

Bruno

A sada do comando abaixo no segue a ordem alfabtica:

# cat bagun a

Podemos mostrar a sada classificada em ordem alfabtica, assim:

# sort bagun a

O comando sort pode ser modificado usando os parmetros:


-f - no considera se as letras esto em caixa alta ou baixa;

Linux Essentials

Pgina 27

5.1 Introduo terica

4Linux www.4linux.com.br

-n - classificao numrica;
-r - classifica na ordem invertida.
Para saber mais parmetros:

# man sort

5.1.27 Eliminando linhas repetidas: uniq


Remove linhas desnecessrias ou duplicadas, ou seja, ele faz uma espcie de listagem de cada linha nica do arquivo;
Somente remove se as linhas repetidas estiverem na sequncia, ou seja, uma aps
a outra, ento sempre utilize o comando sort antes para ordenar as linhas.
Eliminando as linhas repetidas:

# sort bagun a | uniq

Para mostrar apenas as linhas que se repetem:

# sort bagun a | uniq -d

Pgina 28

Linux Essentials

Vous aimerez peut-être aussi