You are on page 1of 60

COMANDOS LINUX II

Aula 7

Contedo
Comandos para manipulao de arquivos/diretrios

rvore de diretrios do Linux


No Linux, costuma-se dizer que tudo arquivo. Isto se

deve ao fato do sistema operacional tratar de modo semelhante tanto arquivos comuns como dispositivos de sistema. O sistema de arquivos hierrquico. A base desta rvore o diretrio raiz, representado por /. Enquanto outros sistemas tratam individualmente discos e parties, no Linux, todas as parties ficam numa nica rvore do sistema de arquivos.

rvore de diretrios do Linux

Tipos de arquivos no Linux


1. Arquivos comuns
Arquivos que podem conter texto, dados, informaes de programas, cdigo fonte, cdigo binrios.

2. Diretrios
Diretrios so containers para outros arquivos/diretrios.

3. Dispositivos
No Linux, os dispositivos so acessados por arquivos. Esses arquivos podem ser arquivos de bloco (transferem dados em blocos, como HD) e dispositivos de caractere (transferem dados em caracteres, como Mouse, terminal, modem).

4. Links
Link um ponteiro para um arquivo. Esses links podem ser hard link ou soft link.

Nomes de arquivos no Linux


O tamanho mximo de nome de um arquivo 256

caracteres. No nome do arquivo no pode haver caracteres especiais:


$, %, /, ?, #....

Pode haver espaos nos nomes de arquivos, mas no

recomendado. No Linux, os arquivos no possuem extenses.


Um arquivo texto, que no Windows se chamaria apostila.txt, no

Linux fica apenas apostila. A extenso .txt ou qualquer outra pode ser usada no nome do arquivo, mas no interfere no seu funcionamento.

Caminhos de Diretrios (path)


Um caminho de diretrios especifica uma sequncia de

diretrios a percorrer para chegar a algum ponto na rvore de diretrios. Para cada diretrio criado, so criadas duas referncias:
. (ponto) diretrio atual

.. (dois pontos) diretrio pai.

O delimitador o caractere /. No confundir com a barra \,


usada no Windows.

usr

var

boot

home

etc

aluno

renato

jose

maria

disciplinas

musicas

disciplinas

videos

disciplinas

jogos

sis_ope_II

lin_pro

ingles

logica

calculo

matematica

estratgia

tabuleiro

ebooks

videos

slides

Qual caminho relativo para a pasta slides? disciplinas/sis_ope_II/slides Qual caminho absoluto para a pasta slides? /home/aluno/disciplinas/sis_ope_II/slides

usr

var

boot

home

etc

aluno

renato

jose

maria

disciplinas

musicas

disciplinas

videos

disciplinas

jogos

sis_ope_II

lin_pro

ingles

logica

calculo

matematica

estratgia

tabuleiro

ebooks

videos

slides

Qual caminho relativo para a pasta slides? ../aluno/disciplinas/sis_ope_II/slides Qual caminho absoluto para a pasta slides? /home/aluno/disciplinas/sis_ope_II/slides

usr

var

boot

home

etc

aluno

renato

jose

maria

disciplinas

musicas

disciplinas

videos

disciplinas

jogos

sis_ope_II

lin_pro

ingles

logica

calculo

matematica

estratgia

tabuleiro

ebooks

videos

slides

Qual caminho relativo para a pasta musicas? ../../../musicas Qual caminho absoluto para a pasta musicas? /home/aluno/musicas

usr

var

boot

home

etc

aluno

renato

jose

maria

disciplinas

musicas

disciplinas

videos

disciplinas

jogos

sis_ope_II

lin_pro

ingles

logica

calculo

matematica

estratgia

tabuleiro

ebooks

videos

slides

Qual caminho relativo para a pasta matematica? ../../../../jose/disciplinas/matematica Qual caminho absoluto para a pasta matematica? /home/jose/disciplinas/matematica

Comando pwd cd ls cp

Descrio Informa o nome do diretrio corrente Navegar entre diretrios Listar arquivos Copia arquivos e diretrios

mv
ln mkdir rmdir rm file grep find basename dirname

Move arquivos e diretrios


Cria link entre arquivos Cria diretrios Remove diretrio Apaga arquivos e diretrios Indica tipo de arquivos Procura arquivos por contedo Localiza arquivo por caractersticas Devolve o nome de um arquivo recebendo o caminho completo do arquivo Devolve o nome do diretrio recebendo o caminho completo

Comando pwd
Informa o nome do diretrio corrente.

Sintaxe

pwd
/

$ pwd /home/aluno

usr

var

boot aluno

home renato

$ pwd /usr

usr

var

boot aluno

home renato

Comando cd
Muda o diretrio atual de onde o usurio est.

Sintaxe

cd [nome-do-diretrio]
Abreviao
. (ponto) .. (dois pontos) ~ (til) / (barra) - (hfen)

Significado
Diretrio atual Diretrio pai (anterior) Diretrio home do usurio Diretrio raiz ltimo diretrio

Comando cd
Vai para o diretrio home do usurio $cd ~ Vai para o diretrio raiz $cd / Vai para o diretrio /home/renato/disciplinas
$cd ~renato/disciplinas

Estou no diretrio /home/renato/disciplinas e quero voltar para o diretrio pai


$cd ..

Comando cd
Estou no diretrio /home/aluno/disciplinas/sis_ope_II/videos e quero acessar o diretrio musicas $cd ../../../musicas ou $cd /home/aluno/musicas Acabei de acessar o diretrio /home/aluno/musicas, e quero voltar para o diretrio anterior $cd -

Comando ls
Este comando serve para listar os arquivos do diretrio

especificado. Por padro, o comando ls lista os arquivos do diretrio corrente. ls [-opcoes] [arquivo_ou_diretorio]
Opo -l -a Descrio Lista os arquivos em formato detalhado. Lista todos os arquivos, inclusive os arquivos comeados por ponto (.) (arquivos ocultos)

-r -h
-R -u

Na ordem alfabtica reversa Combinado com l imprime o tamanho de forma mais legivel
Lista tambm os subdiretrios Mostra data da ultima leitura no arquivo

Comando ls

Comando ls

Comando ls

Comando ls

Comando ls com coringas


* (asterisco) significa qualquer caractere

? (interrogao) significa um nico caractere. Se colocar

??? Significa 3 caracteres.

Comando ls com faixa de opes


[ ] (colchetes) determina uma faixa de opes.

Listar todos os arquivos que iniciam com a letra d ou a letra k, e terminam com .conf

Listar todos os arquivos que no iniciam com a letra a ou a letra c, e terminam com .conf

Comando ls com faixa de opes


Listar todos os arquivos que iniciam com alguma letra entre a e c

Listar todos os arquivos que terminam com alguma letra entre a e c

Comando cp
Copia arquivos e diretrios.

cp [-opcoes] <origem> <destino>


Opes -i -v -r Descrio Modo interativo Mostra o que est sendo copiado Copia recursivamente (diretrios e subdiretrios)

Comando cp
Verifica se o arquivo j existe. Caso existir, pede confirmao de substituio.

Copia toda a pasta disciplinas para o diretrio /tmp

Comando cp
Copia toda a pasta disciplinas para o diretrio /tmp e mostra todos os arquivos que esto sendo copiados

Comando mv
Comando usado para renomear arquivos/diretrios, ou

para move-los para outro diretrio. mv <origem> <destino>


Opes -i -v -u Descrio Modo interativo Mostra o que est sendo copiado Atualiza o arquivo destino se o arquivo origem for mais novo, ou o arquivo no existir destino.

Comando mv
Movendo (renomeando) o arquivo aula1 para aula_1

Movendo um arquivo e pedindo e checando se o arquivo destino j existe

Comando mv
Mover o arquivo aula3 para um diretrio que j contem um arquivo chamado aula3, porm com data mais recente. O arquivo destino (mais recente) no ser sobrescrito.

Comando ln
Comando utilizado para criar links entre arquivos.

ln [-s] <arquivo-origem> <ligaao>


Opes -s Descrio Link simblico

Existem dois tipos de link Hard link: neste caso, o arquivo <ligao> tem o mesmo inode do <arquivo-origem>, isto , os dois compartilham o mesmo dado. Soft link (link simblico): neste caso, o arquivo <ligao> tem inode diferente do <arquivo-origem>, e seu contedo somente o caminho do <arquivo-origem>.

Comando ln
Hard link no podem ser criados quando o <arquivo-

origem> um diretrio. Hard link no podem ser criados se o <arquivo-origem> encontra-se em outro disco ou outra partio do sistema. Soft link permite os dois casos anteriores Soft link pode ser criado at mesmo para um arquivo inexistente.

Comando ln
Criando um hard link para o arquivo-origem aula1

Criando um soft link para o arquivo-origem aula2

Diferenas entre os dois. Observe o tamanho dos arquivos

Comando mkdir
Comando utilizado para criar um diretrio.

mkdir <nome-do-diretorio>
Cria um diretrio chamado curso

Cria vrios diretrio ao mesmo tempo

Comando mkdir
Cria o diretrio aulas dentro do diretrio /tmp

Cria um diretrio videos na pasta home do usurio

Comando rmdir
Remove um diretrio somente se ele estiver vazio.

rmdir <nome-do-diretorio>
Remove o diretrio chamado curso

Remove vrios diretrios ao mesmo tempo

Comando rmdir
Remove o diretrio aulas dentro do diretrio /tmp

Tenta remover um diretrio contendo arquivos dentro.

Comando rm
Deleta arquivos e diretrios

rm [-opcoes] <arquivo>
Opes -i -r Descrio Pede confirmao para cada arquivo a ser removido Remove diretrios e os contedos recursivamente.

Remove o arquivo Os_Vinagadores

Comando rm
Remove vrios arquivos

Outra forma de remover vrios arquivos

Comando rm
Tenta remover um diretrio

Remove um diretrio e o contedo

Remove um diretrio pedindo confirmao

Comando file
Retorna o tipo de arquivo conforme os padres do

sistema operacional. file <arquivo>


Exibe o tipo do arquivo aula1

Exibe o tipo de todos os arquivos no diretrio

Comando file
Mostrando tipos de arquivos diferentes

Comando grep
Pesquisa contedos dentro de arquivos.

Este comando identifica arquivos que contenham linhas

com uma expresso especfica. grep [-opes] [expressao] <arquivos>


Opo -c -i -l -v -n Descrio Somente a quantidade de linhas que casarem com a expresso regular No diferencia maisculas de minsculas No mostra as linhas, somente o nome do arquivo Mostrar os resultados que no casaram com a expresso. Precede cada linha com o nmero de linha relativo dentro do arquivo

Comando grep
Primeiro mostrando todo o contedo do arquivo fstab

Comando grep
Buscando somente linhas que contenham a palavra dev

Buscando linhas que comecem com o caractere # (linhas de comentrio)

Comando grep
Buscando todas as linhas, com exceo das que comecem com o caractere # (linhas de comentrio)

Mostrando o nmero da respectiva linha dentro do arquivo

Comando grep
Buscando a palavra Renato, sem diferenciar maiscula. e minsculas

Mostrando a quantidade de linhas que casam com a expresso

Comando grep
Mostrando o nome de todos os arquivo no diretrio /etc que contem a expresso renato

Mostrando o nome de todos os arquivo no diretrio atual que contem a expresso dev

Combinando ls e grep
Listando somente arquivos do tipo link

Listando somente arquivos do usuario renato

Listando somente arquivos do usurio root

Combiando outros comandos com grep


Listar os logs de boot e buscar informaes sobre o dispositivo eth0 (placa de rede ethernet)

Verificar se o processo dhcp est ativo na memria

Comando find
Comando que procura por arquivos pelo nome ou por

outras caractersticas find [caminho] [expressao] [ao]


Caminho Diretrio a ser buscado Expresso Define os critrios de pesquisa Ao O que fazer com os arquivos que atendem aos critrios definidos na expresso

Comando find
Principais critrios de pesquisa:

nome Busca por nome de arquivo. Pode-se incluir coringas, que devem ser precedidos por barra invertida (\)
-user usurio Busca arquivos que contm o usurio como dono do arquivo.

-name

-group grupo Busca arquivos que contm o grupo como grupo do dono do arquivo.

Comando find
-type c Busca por arquivos que tenham o tipo c
Valores de c b c d p f l s Tipo de arquivo procurado Arquivo especial acessado a bloco Arquivo especial acessado a caractere Diretrio Arquivo FIFO Arquivo normal Link simblico socket

Comando find
-size n[bckw] Busca por arquivos que tenham + (mais) ou (menos) de n unidades de espao
Valores de n b c k w Tipo de arquivo procurado Bloco de 512 bytes Caracteres Kilobytes (1024 bytes) Palavras (2 bytes)

Comando find
d Procura por arquivos que foram acessados h mais (+d) de d dias ou a menos (-d) de d dias d Procura por arquivos cujo status mudou h mais (+d) de d dias ou a menos (-d) de d dias
-ctime -atime

d Procura por arquivos que foram modificados h mais (+d) de d dias ou a menos (-d) de d dias

-mtime

Comando find
Principais aes:
-print

Faz com que os arquivos encontrados sejam exibidos na tela. Opo padro. cmd {} \; Executa o comando cmd para cada arquivo encontrado
-exec

Comando find
Busca, a partir do diretrio atual, todos os arquivos que terminam com .sh

Busca todos os arquivos no diretrio padro cujo o dono o usurio root e remove os mesmos

Comando find
Lista todos os arquivos com mais de 1k cujo ultimo acesso foi a menos de 5 dias

Comando basename
Retorna o nome de um arquivo.

basename <caminho>

Comando dirname
Devolve o nome do diretrio

dirname <caminho>