Você está na página 1de 7

03/03/2011

LicaoManipulacaoArquivos < GrupoLin


Pular para Busca English

GrupoLinux Iniciar sesso ou Registro


Pular para Busca English

Editar Voc est aqui: TWiki > Web GrupoLinux > LinuxEssencialFinal > LicaoManipulacaoArquivos

Anexar

Impresso

r15 - 21 Feb 2011 - 08:48:49 - PauloLima

, create new tag Anterior Trilha B Prximo comentar

Lio 5 - Manipulao de Arquivos


Objetivo(s): Oferecer Contedo orientaes sobre como feita a 5.1 Comandos de manipulao de arquivos manipulao de arquivos via linha 5.2 touch de comando. 5.3 cp Direitos autorais e licena: Veja 5.4 mv notas de direitos autorais e 5.5 mkdir licena no final da lio. 5.6 rmdir 5.7 rm 5.1 Comandos de 5.8 Caracteres curingas manipulao de arquivos 5.9 Asterisco (*) 5.10 Interrogao(?) Os comandos de manipulao de 5.11 Colchetes([ ]) arquivos implementam uma das mais 5.12 Chaves ({ }) importantes funes em qualquer 5.13 Exerccios de Reviso sistema operacional. Por exemplo, 5.14 - Direitos autorais e licena funes como criar arquivos, remov-los 5.15 - Comentrios e procur-los so de vital, importncia para o uso do sistema. Os principais comandos de manipulao de arquivos so:

Web GrupoLinux Criar Novo Tpico ndice Busca Alteraes Notificaes Estatsticas Preferncias Webs BrOffice EaD GrupoJava GrupoLinux GrupoLogica GrupoWeb Main Ruby SGBD SO Sandbox TWiki Wikeditora WikiEdu

5.2 touch
O comando touch serve para dois fins: criar um novo arquivo (vazio), ou atualizar a data e hora de acesso e modificao de arquivos existentes. Note que o GNU/Linux no faz distino de arquivos por conta de suas extenses. Programas especficos as utilizam para saber proceder com a forma correta de manipul-los. Sintaxe:
touch arquivo

Exemplo:
$touch teste sistema

No exemplo acima sero criados dois arquivos, o arquivo teste e o arquivo sistema.

5.3 cp
O comando cp (copy paste) utilizado para se fazer cpias tanto de arquivos quanto de diretrios. Quando um diretrio for copiado, desejvel que todo seu contedo tambm seja copiado. Esse conceito conhecido como cpia recursiva. Sintaxe:
cp [opo] origem destino

Portanto, o comando necessita de um arquivo de origem, o qual ser copiado, e de um destino, local onde ser colocado a sua cpia. Para esse caso, o original continuar

sintectus.com//LicaoManipulacaoAr

1/7

03/03/2011

LicaoManipulacaoArquivos < GrupoLin existindo. Podem ser realizadas vrias cpias de arquivos e diretrios de uma s vez, devendo, obrigatoriamente, o destino ser um diretrio.
Opes: -b - cria um arquivo de backup. Caso o usurio queira sobrescrever o arquivo existente, automaticamente acrescentado o caractere ~ ao final do nome; -i - caso o arquivo de origem j exista no destino, o comando ir perguntar ao usurio se ele deseja sobrescrever o existente; -f - simplesmente copia, sem perguntar nada para o usurio (faz uma cpia forada); -R - trabalha com a ideia de recursividade, sendo utilizado para a cpia de diretrios e sub-diretrios; -v - lista os arquivos enquanto esto sendo copiados. Exemplo:
$ cp arquivo1 /tmp

nesse exemplo o arquivo1 que est no diretrio corrente copiado para o diretrio /tmp. Outro exemplo:
$ cp /usr/src/local/arquivo_distante .

Nesse caso o arquivo distante se encontra dentro de um local diferente de onde est o usurio e a cpia feita para o ., ou seja, o diretrio corrente. Copiando diretrio:
$ cp -R tmp /tmp

Agora o usurio est tentando copiar um diretrio, incluindo seus subdiretrios, para dentro de outro diretrio. O comando tambm permite a cpia de vrios arquivos de uma vez, como no exemplo:
$ cp arquivo1 arquivo2 arquivo3 arquivo4 /tmp/pasta/

Nesse caso, o destino, o ltimo argumento, teve que ser um diretrio. Quando realizada uma cpia simples, ou seja, s de um arquivo, o mesmo pode ter o seu nome alterado na entrega, conforme o exemplo:
$ cp arquivo1 /tmp/arquivo

Desse modo o arquivo1 continua existindo no diretrio aluno, mas tambm possui uma cpia com o nome de arquivo dentro do /tmp, realizando uma falsa renomeao de arquivo, j que o original continuou existindo.

5.4 mv
O comando mv (move) move ou renomeia arquivos ou diretrios. Possui sintaxe de uso similar ao cp. O resultado, entretanto, diferente: o arquivo original no preservado. Sintaxe:
mv [opo] origem destino

A origem pode ser um arquivo ou diretrio. No uso do mv no necessrio indicar a recursividade. O destino o local para onde est sendo levado a origem ou o novo nome dado. opo: -f - realiza o comando sem perguntar se j existe um arquivo ou diretrio com o mesmo

sintectus.com//LicaoManipulacaoAr

2/7

03/03/2011

LicaoManipulacaoArquivos < GrupoLin nome no destino;


-i - pergunta antes de substituir algum arquivo com o mesmo nome no destino; -v - lista os arquivos que esto sendo movidos. Exemplo:
$ mv -i arquivo1 /tmp $ mv arquivo2 /tmp/arquivo_novo $ mv tmp/ /tmp/pasta

No primeiro exemplo o arquivo1 movido para dentro do /tmp. Caso existisse um arquivo ou diretrio chamado arquivo1, l dentro, o sistema iria perguntar para o usurio se ele desejaria sobrescrev-lo. No segundo exemplo o arquivo2 movido para dentro do /tmp, mas com um nome novo que, nesse caso, chamado de arquivo_novo. No terceiro exemplo movido um diretrio.

5.5 mkdir
O comando mkdir (make directory) serve para a criao de diretrios. Um diretrio um local que serve de armazenamento para outros diretrios ou arquivos, criando-se assim, uma estrutura organizada. Sintaxe:
mkdir [opo] diretrio [diretrios]

opo: -p - cria vrios diretrios, que forem especificados, em nveis diferentes. diretrios - representa a colocao de outros diretrios em uma mesma linha. Exemplos:
$ mkdir pasta1 $ mkdir /tmp/pasta1 $ mkdir /tmp/pasta2 /tmp/pasta3 pasta4

Nos exemplos acima so criados vrios diretrios de forma semelhantes mas em lugares diferentes, ou seja, com a utilizao de caminhos absolutos e caminhos relativos. No exemplo abaixo possvel observar a utilizao da opo "-p" para a criao de subdiretrios:
$ mkdir -p pasta1/pasta2/pasta3/pasta4

Desse modo, ser gerado o diretrio pasta1, dentro dele ser gerado o diretrio pasta2, dentro do pasta2 estar a pasta3 e por final ser criado a pasta4 dentro da pasta3.

5.6 rmdir
Esse comando serve para remover diretrios. Ele deve ser utilizado somente sobre diretrios, no tendo utilidade sobre arquivos. Desse modo, se existir um arquivo dentro do diretrio, o mesmo no ser apagado. O rmdir tambm trabalha com a idia de recursividade. Sintaxe:
rmdir [opo] diretrio [diretrios]

opo: -p - remove subdiretrios recursivamente. diretrios - pode ser passado mais de um diretrio por vez para ser apagado.

sintectus.com//LicaoManipulacaoAr

3/7

03/03/2011
Exemplo:

LicaoManipulacaoArquivos < GrupoLin

$ rmdir pasta2

5.7 rm
A funo desse comando a de remoo de arquivos, mas se trabalhado com a recursividade, o mesmo poder servir para deletar diretrios vazios ou no. Essa ltima caracterstica do rm muito utilizado para a remoo de diretrios muito grandes, com mltiplos nveis, de maneira rpida. Sintaxe:
rm [opo] arquivo/diretrio

opo: -f - fora a remoo do arquivo, ou seja, apaga sem perguntar; -i - pergunta se realmente o arquivo a ser apagado; -r - recursivo, utilizado para a remoo de diretrios e subdiretrios. Exemplo:
$ rm -i arquivo1 $ rm -f arquivo2 arquivo3 /tmp/arquivo4 $ rm -rf pasta1

Nos exemplos acima so demonstrados o uso do rm, sendo que no primeiro exemplo o arquivo1 removido dentro do diretrio corrente e perguntado se o arquivo realmente deve ser apagado. No segundo exemplo j no perguntado e tambm feia a remoo de um arquivo que no est dentro do diretrio corrente. No ltimo exemplo um diretrio removido. NOTA: o comando rm -rf deve ser usado com muito cuidado, pois qualquer diretrio ali indicado ser apagado, sem a confirmao.

5.8 Caracteres curingas


Os caracteres curingas so de muita importncia na manipulao de arquivos ou diretrios. Com eles possvel, por exemplo, especificar vrios arquivos ou diretrios de maneira bastante simplificada. Os curingas so substituies que ocorrem na posio da letra ou nmero procurado por um caractere, ou ainda completando a palavra, de forma prefixal ou sufixal. Os caracteres curingas utilizados so: *, ?, [] e {}.

5.9 Asterisco (*)


O * um dos mais poderosos caracteres curingas, podendo completar nomes de pasta ou arquivos com qualquer quantidade de caracteres, tanto no prefixo quanto no sufixo. Sintaxe:
ls *resto_nome ou ls inicio_nome*

Exemplo: Para esse exemplo ser utilizado os seguintes arquivos:


teste11 teste2 11teste 2teste

Linha de comando para listar os nomes de arquivos que comecem a palavra teste:

sintectus.com//LicaoManipulacaoAr

4/7

03/03/2011

LicaoManipulacaoArquivos < GrupoLin


$ls teste* teste11 teste2

Os outros dois arquivos no apareceram na lista, pois o caractere especial estava no final do nome. Para que fosse possvel detect-los, o caractere asterisco deveria estar no incio do nome (ls teste) ou representado no incio e no final da listagem (ls *teste).

5.10 Interrogao(?)
O caractere especial ? difere do * no aspecto quantidade de caracteres. Enquanto o * abrange qualquer nmero de caractere, o ? ir substituir exatamente um caractere, qualquer que seja ele. Como a sua utilizao muito limitada, ela possui uma vantagem sobre outros caracteres especiais, por exemplo, na listagem de uma pasta com vrios arquivos de instalao, existem vrios arquivos com nomes iguais, mas com as verses diferentes, sendo possvel encontrar as verses para um determinado grupo de arquivos. Sintaxe:
ls nome?procurado ou ls nome_procurado? ou ls ?nome_procurado

Pela sintaxe possvel perceber que o caractere "?" pode ser fixado em qualquer lugar do nome, sendo que ele ir substituir um nico caractere para sua posio, podendo ser utilizados vrios caracteres de "?". Exemplo: Utilizando os arquivos do exemplo anterior:
$ls teste?? teste11

Outro exemplo:
$ls teste? teste2

No primeiro exemplo o arquivo teste11 apareceu devido a utilizao de dois caracteres "?" na hora da pesquisa, e o teste2 apareceu pois o caractere "?" no pode ser substitudo por nada. Outro exemplo: Em um determinado diretrio, voc possui vrias verses de pacotes compilados do kernel:
kernel-2.4.20-9.i386.deb kernel-2.4.20-9.i586.deb kernel-2.4.20-9.i686.deb kernel-2.4.20-9.athlon.deb kernel-2.4.20-9.ia64.deb

Para listar apenas os pacotes compilados para arquitetura Intel de 32bits, voc poder utilizar o seguinte comando:
ls kernel-2.4.29-9.i?68.deb

Que retornaria:
kernel-2.4.20-9.i386.deb kernel-2.4.20-9.i586.deb kernel-2.4.20-9.i686.deb

5.11 Colchetes([ ])
Os valores entre colchetes sero tratados como uma lista, e iro substituir os valores um a um no local indicado. A sua utilizao muito semelhante ao caractere "?", diferenciando-se quanto a restrio dos valores aceitos.

sintectus.com//LicaoManipulacaoAr

5/7

03/03/2011
Sintaxe:

LicaoManipulacaoArquivos < GrupoLin

ls nome[valores] ou ls [valores]nome ou ls no[valores]me

Para o ltimo caso o nome do argumento dever ser escrito dessa maneira: Exemplo:
$ls teste[123] teste2

Sendo assim, no seria possvel a apresentao do arquivo teste11, pois os caracteres entre colchetes so substitudos um a um. Vejamos outro exemplo, utilizando o diretrio de pacotes do kernel do exemplo anterior:
ls kernel-2.4.29-9.i[56]68.rpm

Retornaria apenas os pacotes para processadores Intel pentium e superiores:


kernel-2.4.20-9.i586.rpm kernel-2.4.20-9.i686.rpm

5.12 Chaves ({ })
O uso desse caractere especial se assemelha muito ao uso dos colchetes, mas nesse caso podem ser apresentados vrios tipos de valores com mais de um caractere cada, separados por vrgulas. Sintaxe:
ls nome{vA,vB} ,ls {vA,vB}nome ou ls no{vA,vB}me

Exemplo:
$ls teste{1,2,3,11} ls: teste1: Arquivo ou diretrio no encontrado ls: teste3: Arquivo ou diretrio no encontrado teste11 teste2

NOTA: Outra caracterstica do caractere "{ }" que todos os valores sero substitudos e depois listados. Se o valor no existir ser retornado o erro conforme o exemplo dado.

5.13 Exerccios de Reviso


1. Copie trs arquivos que comeam com a letra c do diretrio /etc, para dentro da pasta do root, renomeie o terceiro arquivo copiado-o para testado, liste o contedo do diretrio do root. 2. Criar um diretrio com 2 subdiretrios dentro. a) Adicionar um arquivo dentro de um dos subdiretrios usando o caminho absoluto. b) Tente remover o diretrio com os subdiretrios e o arquivo. O que aconteceu? Como pode ser removido o diretrio? 3. Liste todos os diretrios de /etc/init.d que terminem em .sh. 4. Informe a sequncia de comandos necessrios para criar a seguinte rvore de diretrios na sua pasta pessoal: ~ \---> dir1 \---> dir1.1 \---> dir1.2 \---> dir1.2.1 5. Considerando a rvore de diretrios criada acima, fornea qual a sequncia de comandos necessrios para: 5.1. copiar o arquivo /etc/passwd para o diretrio dir1.2. 5.2. copiar a rvore completa de diretrios e subdiretrios do /bin para o diretrio dir1.2.1.

sintectus.com//LicaoManipulacaoAr

6/7

03/03/2011

LicaoManipulacaoArquivos < GrupoLin


5.3. criar um arquivo chamado nome.txt no diretrio dir1.

5.14 - Direitos autorais e licena


Autor(es): Direito Autoral: Copyright Licena: Esta obra est licenciada sob uma Licena Creative Commons.

Anterior Trilha B

Prximo

5.15 - Comentrios
Adicionar

LicaoForm Titulo LicaoAnterior NivelAcima LicaoPosterior Licenca DireitoAutoral Autoria PreRequisitos SoftwareUtilizado Objetivo Oferecer orientaes sobre como feita a manipulao de arquivos via linha de comando. 5 B Manipulao de Arquivos LicaoNavegacaoBasicaViaLinhaDeComando LicaoLoginDesligamentoReinicializacaodoSistema LicaoVisualizacaoArquivos LicencaCreativeCommonsBySA ?

OrdemPadrao TrilhaPadrao

Editar | Anexar | Impresso | Texto Puro | Referncias: Web, Global | Histrico: r15 < r14 < r13 < r12 < r11 | Mais aes de tpico

Copyright 2003 - 2011, pelos autores colaboradores. Todo o contedo desta pgina pode ser utilizado segundo os termos da Licena Creative Commons: Atribuio, Uso no Comercial e Permanncia da Licena, salvo disposio em contrrio indicada de forma explcita no tpico correspondente.

sintectus.com//LicaoManipulacaoAr

7/7

Você também pode gostar