Escolar Documentos
Profissional Documentos
Cultura Documentos
Tutoriais
Dicas
Linux
Servidores
Internet
Programação
Programas
buscar...
Linux
4 1
18 de setembro de 2008
23
180,336
43 2 3 2
Índice de Conteúdo
pwd – Exibe o diretório atual
cd – Navegando entre diretórios
ls – Listar arquivos
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.
Sintaxe: $ pwd
Sintaxe: $ cd [nome_do_diretório]
Exemplos:
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 1/11
28/03/2018 Comandos para Manipulação de Arquivos - Devin
$ 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”:
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:
$ ls l
total 9916
drwxrwxrx 5 hugo hugo 1302 Aug 16 10:15 diretorio
rwrr 1 hugo hugo 122631 Jul 12 08:20 Database.pdf
rwrr 1 hugo hugo 2172065 Jul 12 08:20 MySQL.pdf
rwrr 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 outros.
$ ls *.txt
debianinstall.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
$ ls manual[37].txt
manual3.txt manual4.txt manual6.txt manual7.txt
Sintaxe: $ mkdir <nome_do_diretório>
$ mkdir ~/paginas
Sintaxe: $ rmdir <nome_do_diretorio>
$ rmdir /tmp/lixo
Sintaxe: $ cp [opções] <arquivo_origem> <arquivo_destino>
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
Sintaxe: $mv <arquivo_origem> <arquivo_destino>
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 3/11
28/03/2018 Comandos para Manipulação de Arquivos - Devin
[/code]
Move um arquivo para outro lugar. Ele também é usado para renomear um arquivo.
$ mv industria.txt fabrica.txt
$ mv industria.txt /home/usuario
Sintaxe: $ rm [opções] <arquivo>
$ 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.
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.
$ find /home/eitch name nota.txt print
$ 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 {} \;
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 4/11
28/03/2018 Comandos para Manipulação de Arquivos - Devin
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 {} \;
$ find /home/eitch/projeto type d name .svn exec rm rf {} \;
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.
$ ln s /apostila /tmp/apostilalinux
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
Sintaxe: $ cat <arquivo>
Mostra o conteúdo de um arquivo, ou faz uma cópia deste arquivo, ou uma junção.
$ 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
$ 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
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 5/11
28/03/2018 Comandos para Manipulação de Arquivos - Devin
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
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.
# tail /var/log/messages
$ 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
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.
Sintaxe: $ file <arquivo>
Identifica o tipo de arquivo ou diretório indicado pelo usuário conforme os padrões do sistema operacional.
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
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 6/11
28/03/2018 Comandos para Manipulação de Arquivos - Devin
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.
23
180,336
43 2 3 2
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 :-)
Manipulação de Usuários
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 7/11
28/03/2018 Comandos para Manipulação de Arquivos - Devin
Recent Trackbacks
Comandos básicos - Parte 3
[...] cd – Navegando entre diretórios [...]
Logar
Comentários (23)
Classificar por: Data Classificação Última Atividade
Responder
O método ABR recupera o SNC de forma tão rápida, que consegue logo na primeira hora de aplicação, ganhos imediatos de
sensibilidade e movimento. O que leva os pacientes a: - Recuperar mais em 2 consultas que em 8 meses de fisioterapia diária e
intensiva.- Conseguir executar movimentos que os médicos lhe disseram que nunca mais iam ter. Veja testemunhos de algumas
recuperações incríveis já conseguidas aqui https://goo.gl/k0SEuJ. Visite o nosso site e informe-se deste método http://goo.gl/xbD3db
Responder
muito bom!
Responder
muito bom!
Responder
Responder
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 8/11
28/03/2018 Comandos para Manipulação de Arquivos - Devin
Responder
Responder
Responder
Estou começando agora a aprender unix e a fazer shell script, e essas dicas serao bem usadas.
Responder
olha muito bom mesmo vai me ajudar bastante, por nao sei nada
Responder
Muito Bom!!!
Responder
Responder
Responder
Responder
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 9/11
28/03/2018 Comandos para Manipulação de Arquivos - Devin
Esse é o tipo de tutorial que faz falta para quem está iniciando.
Excelente, Hugo
Responder
Responder
brigaduuuuuuuuu!!!!!
Responder
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
ow parabens Hugo!
valew!!!
Responder
Responder
obrigado
Responder
bem didático!
Responder
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 10/11
28/03/2018 Comandos para Manipulação de Arquivos - Devin
Responder
Mostrar junto aos seus comentários. Não mostrado publicamente. Se você tem um website, linke para ele aqui.
Comments by
Tutoriais
Dicas
Changelog
Contato
Termos de Uso
http://www.devin.com.br/comandos-manipulacao-de-arquivos/ 11/11