Você está na página 1de 13

11/3/2014 Comandos para Manipulação de Arquivos - Devin

Tutoriais
Dicas
Linux
Servidores
Internet
Programação
Programas

buscar...
Linux
1 0
18 de setembro de 2008

Comandos para Manipulação de Arquivos

21

88,060
7 1 5 0 1

Índice de Conteúdo
pwd – Exibe o diretório atual
cd – Navegando entre diretórios
ls – Listar arquivos

http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 1/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

mkdir – Cria um diretório


rmdir – Remove um diretório vazio
cp – Cópia de arquivos e
diretórios
mv – Move arquivos e diretórios
rm – Remove arquivos e diretórios
find – Procura arquivos
ln – Cria links entre arquivos
cat – Exibe o conteúdo de um
arquivo
head, tail – Mostra o começo e
fim do arquivo
more, less – Visualiza arquivos por
páginas
file – Indica o tipo de arquivo
touch – Muda timestamps

Uma das coisas essenciais ao usar um sistema operacional é saber como lidar os arquivos e diretórios dentro dele. Em
sistemas operacionais como o Linux, mexer com arquivos é essencialmente tudo o que você vai fazer ao configurar o
sistema e seus serviços.

pwd – Exibe o diretório atual

Sintaxe: $ pwd

Mostra de forma simples em qual diretório o usuário está localizado no momento.

cd – Navegando entre diretórios

Sintaxe: $ cd [nome_do_diretório]

Muda o diretório atual.

Exemplos:

$ pwd
/usr/games
$ cd ~
$ pwd
/home/eitch

No exemplo acima, estávamos no diretório /usr/games e com um simples cd para o diretório ~, fomos para o diretório
HOME (/home/eitch). Neste caso utilizamos o ~ que é uma espécie de atalho para o diretório HOME do usuário.
Alguns destes “atalhos”:

. (ponto) Diretório atual


.. (dois pontos) Diretório anterior (um nível acima)
~ (til) Diretório HOME do usuário
/ (barra) Raiz do sistema
- (hífen) Último diretório (Voltar)
http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 2/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

Se você deseja ir para um diretório que está na raiz diretamente, usa-se a / antes, exemplo:

$ pwd
/usr/local/bin
$ cd /etc/rc.d
$ pwd
/etc/rc.d
$ cd -
$ pwd
/usr/local/bin

Ao utilizar uma barra antes do diretório, especificamos o caminho absoluto do diretório, ou seja, todo o seu caminho
desde a raiz. Se não colocamos a barra para especificar a raíz, quer dizer que estamos especificando um caminho
relativo, ou seja, de acordo com o diretório atual. Em outras palavras, se eu estou no diretório /home/eitch, os dois
comandos a seguir farão a mesma coisa, só que um usando o caminho relativo e o outro o caminho absoluto:

$ cd ..
$ cd /home

ls – Listar arquivos

Sintaxe: $ ls [opções] [arquivo/diretório]

Lista os arquivos e diretórios. Se executarmos apenas o comando ls sozinho, ele mostrará todos os arquivos existentes
no diretório atual. Há também alguns parâmetros extras:

-l Lista os arquivos em formato detalhado.


-a Lista os arquivos ocultos (que começam com um .)
-h Exibe o tamanho num formato legível (combine com -l)
-R Lista também os subdiretórios encontrados

Exemplo de uma listagem detalhada:

$ ls -l

total 9916
drwxrwxr-x 5 hugo hugo 1302 Aug 16 10:15 diretorio
-rw-r--r-- 1 hugo hugo 122631 Jul 12 08:20 Database.pdf
-rw-r--r-- 1 hugo hugo 2172065 Jul 12 08:20 MySQL.pdf
-rw-r--r-- 1 hugo hugo 2023315 Jul 12 08:20 PHP.pdf

No exemplo acima, os arquivos e diretórios são listados com outras informações antes de seus nomes. Estas
informações são separadas por um ou mais espaços (para uma melhor formatação) e apresentam os seguintes dados:
tipo de arquivo e permissões, número de hard links, usuário dono, grupo dono, tamanho, data de modificação e por
último o nome do arquivo.

Podemos ver acima que a segunda linha (diretorio) inicia com a letra d, o que significa que ele é um diretório, ao
contrário dos outros arquivos que não contém nenhuma letra (-) e por isso são arquivos comuns. É possível identificar o
tipo de arquivo desta maneira e as letras podem ser: b para arquivo especial de bloco, c para arquivo especial de
caracter, d para diretório, l para link simbólico, p para um FIFO, s para socket.

Podemos também usar no ls o que chamamos de wildcards (caracteres coringa), ou seja, caracteres que substituem
http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 3/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

outros.

Exemplo, listar todos os arquivos que têm a extensão .txt:

$ ls *.txt
debian-install.txt manualito.txt named.txt plip.txt seguranca.txt
ipfw.txt mouse.txt placa_de_video.txt rede.txt sis.txt

O wildcard neste caso é o “*”, que representa “tudo”.txt. Existem outros wildcards, como por exemplo o ponto de
interrogação “?”, que substitui apenas 1 caractere. Exemplo:

$ ls manual?.txt
manual1.txt manual2.txt manual3.txt manualx.txt manualP.txt

Ou ainda os colchetes, que substituem uma faixa de caracteres:

$ ls manual[3-7].txt
manual3.txt manual4.txt manual6.txt manual7.txt

mkdir – Cria um diretório

Sintaxe: $ mkdir <nome_do_diretório>

Cria um diretório. Exemplo, criar um diretório dentro do HOME do usuário:

$ mkdir ~/paginas

rmdir – Remove um diretório vazio

Sintaxe: $ rmdir <nome_do_diretorio>

Apaga um diretório que esteja vazio.

Exemplo, apagando o diretório /tmp/lixo apenas se ele estiver vazio:

$ rmdir /tmp/lixo

Para apagar um diretório com seu conteúdo, usa-se o comando rm.

cp – Cópia de arquivos e diretórios

Sintaxe: $ cp [opções] <arquivo_origem> <arquivo_destino>

Copia arquivos e diretórios. Como parâmetros, temos:

-i Modo interativo. Pergunta se você quer sobrescrever ou não (confirmações)


-v Mostra o que está sendo copiado.
-R Copia recursivamente (diretórios e subdiretórios)
http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 4/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

Exemplo, copiando o arquivo brasil.txt para livro.txt, com a opção de modo interativo:

$ cp -i brasil.txt livro.txt
cp: sobrescrever `livro.txt'?

Como o arquivo livro.txt já existia, o comando pergunta se quer sobrescrever, responda y (sim/yes) ou n (não/no).

Copiar o diretório /home/ftp e todo seu conteúdo (incluindo seus subdiretórios) para /home/ftp2:

$ cp -R /home/ftp /home/ftp2

mv – Move arquivos e diretórios

Sintaxe: $mv <arquivo_origem> <arquivo_destino>

[/code]

Move um arquivo para outro lugar. Ele também é usado para renomear um arquivo.

Exemplo, renomear o arquivo industria.txt para fabrica.txt:

$ mv industria.txt fabrica.txt

Mover o arquivo industria.txt para /home/usuario com o mesmo nome:

$ mv industria.txt /home/usuario

rm – Remove arquivos e diretórios

Sintaxe: $ rm [opções] <arquivo>

Este comando apaga definitivamente o arquivo ou diretório. Exemplo:

$ rm arquivo.bin

Para apagar um diretório com todo seu conteúdo, usa-se a opção -r:

$ rm -r /tmp/lixo

Cuidado! O comando “rm -rf” é muito perigoso, use-o com cuidado. Ele remove um diretório e todo seu conteúdo sem
perguntar. Por exemplo, fazer isso na raiz não seria uma boa idéia.

find – Procura arquivos

Sintaxe: $ find <diretorio> [-name nomedoarquivo]

Procura por arquivos no diretório especificado. Em seu uso mais simples, ele procura pelos nomes dos arquivos, mas
pode também procurar por tipos, permissões, última modificação, entre outros.
http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 5/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

Exemplo, procurar o arquivo nota.txt dentro do diretório /home/eitch:

$ find /home/eitch -name nota.txt -print

Procurar por todos os diretórios dentro do /etc:

$ find /etc -type d -print

Procurar por todos os arquivos que foram modificados nos últimos 2 dias:

$ find / -mtime 2 -print

Procurar por arquivos que podem ser escritos por todo mundo:

$ find / -perm -222

Os wildcards também podem ser usados, por exemplo, procurar por todos os arquivos que começam com o nome de
documento e terminam com .odp:

$ find /home/eitch -name documento*.odp

O find também conta com uma opção muito útil, a opção -exec. Através desta opção você pode executar comandos
para cada um dos arquivos encontrados. Combinando com as outras opções, se torna um poderoso utilitário! Por
exemplo, para definir permissões "755" para todos os diretórios:

$ find /home/eitch -type d -exec chmod 755 {} \;

Neste exemplo, para cada diretório encontrado (-type d) dentro do /home/eitch, foi executado o comando chmod
755 . O "{}" no comando é substituído por cada arquivo ou diretório encontrado. O \; é apenas o "terminador" para o
comando do -exec. O mesmo exemplo, agora para definir permissões "644" para arquivos:

$ find /home/eitch -type f -exec chmod 644 {} \;

Ou então, eu quero remover todos os arquivos que terminam com a extensão .exe:

$ find /home/eitch -type f -name *.exe -exec rm -f {} \;

Ou até remover os diretórios que tem .svn como nome:

$ find /home/eitch/projeto -type d -name .svn -exec rm -rf {} \;

ln – Cria links entre arquivos

Sintaxe: $ ln -s <arquivo_origem> [link simbólico]

Usado para gerar links simbólicos, ou seja, links que se comportam como um arquivo ou diretório, mas são apenas
redirecionadores que mandam seu comando para outro arquivo ou diretório.

http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 6/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

Exemplo: Criar um link em /tmp/apostila-linux, apontando para o diretório /apostila:

$ ln -s /apostila /tmp/apostila-linux

Também é utilizado para criar links físicos (hard-links). Um link físico funciona não como um atalho, mas como um
arquivo apontando para um mesmo lugar no disco e funciona apenas em arquivos. Por depender de uma posição física
no disco, só pode ser utilizado em uma mesma partição. Exemplo:

$ ln arquivo linkdoarquivo

cat – Exibe o conteúdo de um arquivo

Sintaxe: $ cat <arquivo>

Mostra o conteúdo de um arquivo, ou faz uma cópia deste arquivo, ou uma junção.

Exemplo: Mostrar o conteúdo de /home/eitch/contato:

$ cat /home/eitch/contato

Hugo Cisneiros
hugo@devin.com.br

http://www.devin.com.br

O cat também pode servir como redirecionador para outro arquivo. Os caracteres especiais de redirecionadores são
utilizados para este fim.

O ">" redireciona a saída de um comando para um arquivo. Como o comando cat mostra exatamente o conteúdo de
um arquivo, isso seria equivalente a fazer uma cópia do arquivo:

$ cat contato1 > contato2

O ">>" acrescenta a saída de um comando à um arquivo, mantendo seu conteúdo anterior:

$ cat contato1 >> contato3

Um outro exemplo divertido é tocar sons com o cat. Redirecionando o conteúdo de um arquivo para o dispositivo de
som reproduz o som pelos alto-falantes e vice-versa. Para testar este caso, primeiro gravamos com um microfone o
som:

$ cat gravacao.au < /dev/audio

O comando acima direcionou o dispositivo de som “no caso, a captura por microfone” para o arquivo gravacao.au.
Agora escute o som gravado com o comando:

$ cat gravacao.au > /dev/audio

Os redirecionadores podem ser utilizados em todos os outros comandos na shell.

http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 7/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

head, tail – Mostra o começo e fim do arquivo

Sintaxe: $ head [opções] <arquivo>


Sintaxe: $ tail [opções] <arquivo>

Talvez pelo arquivo poder ser muito grande, as vezes é necessário apenas visualizar parte dele. Em arquivos de log por
exemplo, visualizar o final para ver os últimos acontecimentos é uma prática comum.

O comando head, como o nome diz (cabeçalho), mostra o começo de um arquivo. O comando tail (calda) mostra o
final de um arquivo. Por padrão, ambos comandos mostram as 10 linhas correspondentes.

Por exemplo, exibindo as 10 últimas linhas do arquivo /var/log/messages:

# tail /var/log/messages

Ou as 10 primeiras linhas do /etc/profile:

$ head /etc/profile

Quando utilizado o parâmetro -n, podemos especificar a quantidade de linhas, ao invés de 10. O comando a seguir
mostrará as 50 últimas linhas do arquivo /var/log/messages:

# tail -n 50 /var/log/messages

Quanto utilizado com o parâmetro -f, o comando tail mostra as linhas mas não para, continua mostrando as linhas na
medida que o arquivo é atualizado. Útil para visualizar logs em constante atualização. Exemplo:

# tail -f /var/log/httpd/access_log

more, less – Visualiza arquivos por páginas

Sintaxe: $ more <arquivo>


Sintaxe: $ less <arquivo>

Parecidos com o cat, mas ao invés de jogarem todo o conteúdo na tela de uma vez só, criam uma espécie de
paginação.

No comando more, a tecla ESPAÇO vai passando as páginas, até quando o fim do arquivo chega e o o comando
finaliza.

No less, a paginação funciona como em uma página de manual (na verdade, a visualização das páginas de manual é
feita com o less): é possível utilizar as setas para navegar no documento para cima e para baixo, utilizar as teclas PgUp
e PgDown para paginar, o comando /pesquisa para pesquisar por uma palavra no documento e a tecla q para sair.

file – Indica o tipo de arquivo

Sintaxe: $ file <arquivo>

Identifica o tipo de arquivo ou diretório indicado pelo usuário conforme os padrões do sistema operacional.

http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 8/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

Há varios tipos de retorno, exemplos: ASCII text, C Program source, directory, ELF-Executable, data, Bourn-again
shell-script, JPEG Image File, entre outros.

Exemplo:

$ file linux.txt
ASCII Text

touch – Muda timestamps

Sintaxe: $ touch [opções] <arquivo>

Quando um arquivo é criado, o sistema de arquivos reserva para ele algumas informações que chamamos de
timestamps: hora do último acesso e hora da última modificação. O comando touch muda estes valores.

Sem argumentos, o touch muda os dois atributos para a hora atual. Quando não existe o arquivo, o comando cria um
novo arquivo vazio. Este parece ser o método preferido de criação de arquivos vazios.

21

88,060
7 1 5 0 1

arquivos bash comandos linux shell tutorial

Hugo Cisneiros (Eitch)

Apaixonado por Linux e administração de sistemas. Viciado em Internet, servidores, e em passar conhecimento.
Idealizador do Devin, tem como meta aprender e ensinar muito Linux, o que ele vem fazendo desde 1997 :-)

http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 9/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

Manipulação de Usuários

Comandos de Tratamento de Texto

Cópias remotas de arquivos

Recent Trackbacks
Comandos básicos - Parte 3
[...] cd – Navegando entre diretórios [...]

Comentários (21) Logar

Classificar por: Data Classificação Última Atividade

jose · 2 semanas atrás 0

muito bom!

Responder

jose · 2 semanas atrás 0

muito bom!

http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 10/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

Responder

estrela · 24 semanas atrás +1

O modo como vc ensina é muito didático e de facil entendimento .


Estou apenas dando uma opinão sou apenas uma iniciante no Linux versão Debian poderia falar sobre o caminho relativo e absoluto
Namaste

Responder

estrela · 24 semanas atrás 0

Adorei os comandos se puder passar mais adoraria.


Você pode mandar um site legal do inkspace e do gimp mas profundo.

Responder

Rita · 38 semanas atrás 0

para quem queiser conhcer um pouco mais: http://www.comandoslinux.com/

Responder

Joaquim · 100 semanas atrás 0

Alo pessoal, peço uma ajuda.

Gostava de saber como copiar um ficheiro imagem de um diretório para o outro?

Responder

Muriel Spaler · 175 semanas atrás 0

Estou começando agora a aprender unix e a fazer shell script, e essas dicas serao bem usadas.

Responder

karlla · 207 semanas atrás 0

olha muito bom mesmo vai me ajudar bastante, por nao sei nada

Responder

Salles · 216 semanas atrás 0

Muito Bom!!!

Para ficar melhor que tal ampliar mais ainda? rsrs...

Responder

pedro · 217 semanas atrás 0

gotei muito so queria ter visto isso antes de fazer o desafio

Responder

Laila · 223 semanas atrás 0

Bom eu não gostei muito pois falta muitos comandos

podia ter todos ^^

http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 11/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

Responder

Andrei · 233 semanas atrás 0

Show de bola, mto bom mesmo!!!

Responder

José Rosa · 234 semanas atrás 0

Esse é o tipo de tutorial que faz falta para quem está iniciando.

Excelente, Hugo

Responder

Diego · 237 semanas atrás 0

Mto bomm.. essas explicações... vlw.w

Responder

Albert · 246 semanas atrás 0

Valeu, ajudou nos ultimos minutos antes do inicio da prova...

brigaduuuuuuuuu!!!!!

Responder

Vitor · 256 semanas atrás 0

Gostei muito!

Super didático. Consegui fazer todos os comandos que você colocou aqui. Porém, eu entrei aqui procurando algum comando em que
eu possa copiar arquivos de uma máquina Linux para uma Win2000. Você sabe alguma coisa sobre isso?

Obrigado

Responder

cris · 257 semanas atrás 0

ow parabens Hugo!

estudei para minha prova baseado nisso

valew!!!

Responder

William · 257 semanas atrás 0

Valeu Hugo, essas informações me ajudaram no meu trabalho.

Responder

Rafael Lopes · 259 semanas atrás 0

poxa muito fodão

obrigado

http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 12/13
11/3/2014 Comandos para Manipulação de Arquivos - Devin

Responder

Rafael Deretti · 259 semanas atrás 0

bem didático!

Responder

Rafael Deretti · 259 semanas atrás 0

muito bom gostei ;)

Responder

Postar um novo comentário


Digite o texto aqui!

Comentar como Visitante, ou logar:


Nome Email Website (opcional)
Dan
Mostrar junto aos seus comentários. Não mostrado publicamente. Se você tem um website, linke para ele aqui.

Assinar Nada Enviar Comentário

Comments by

Tutoriais
Dicas
Changelog
Contato
Termos de Uso

© 2001-2013 Devin. Consulte os termos de uso.

http://www.devin.com.br/comandos-manipulacao-de-arquivos/#more-less--Visualiza-arquivos-por-pginas 13/13

Você também pode gostar