1. Os arquivos
n Uma das funções recorrente dos scripts
é manipular arquivos
¨ Criar / completar / mudar / suprimir /
(des)compactar / salvar / organizar...
¨ Procurar arquivos
¨ Procurar informação dentro de arquivos
¨ Executar
2. Os arquivos no Linux
n Simples espaço do disco rígido associado a um nome e
a uma pasta de pertencia / associado a um caminho
n Pasta
n Atalho (link simbólico / físicos) ate um arquivo / ate uma
pasta
n Montagem de uma partição
n Arquivos especiais (stderr / stdout / stdin)
n Outros arquivos especiais para comunicar com os
periféricos (ls /dev)
3. n Preparação dos exemplos: digitar os
comandos seguintes
cd
mkdir exercicio
4. n cd (change directory: mudar de pasta)
n pwd (print working directory: mostrar a pasta corrente)
cd /home/aluno/exercicio
pwd
cd
pwd
cd exercicio
pwd
cd ..
pwd
cd ../aluno/exercicio
pwd
cd
cd ~/exercicio
pwd
5. n mkdir (make directory: criar pastas)
mkdir pasta1
mkdir pasta2
mkdir -p muitas/pastas/no/mesmo/tempo
n cat (concatenate: concatenar texto sobre stdout)
cat > pasta1/arquivo
Um novo arquivo com esse texto dentro
^d (ctrl+d notado ^d termina a entrada de texto)
cat pasta1/arquivo (permite de visualizar o conteúdo do arquivo)
6. n ln (link name: atalho para um arquivo)
¨ Link físicos
ln pasta1/arquivo pasta2/mesmoarquivo
cat > pasta2/mesmoarquivo
Adição de texto
^d
cat pasta1/arquivo
¨ Link simbólico
ln -s muitas/pastas/no/mesmo/tempo atalho
7. n ls (list segment: ler o conteúdo da pasta)
ls
ls muitas/pastas/no
ls ..
ls -a ..
“-a” mostra os arquivos escondidos (todos os arquivos que
começam com “.”)
ls -l
“-l” mostra os detalhes do arquivo
drwxr-xr-x 1 aluno iesam 4096 2010-02-09 11:30 pasta1
drwxr-xr-x 1 aluno iesam 4096 2010-02-09 11:31 pasta2
lrwxrwxrwx 1 aluno iesam 4096 2010-02-09 11:31 atalho > muitas/
pastas/no/mesmo/tempo
8. n Permissões
-rwxr-xr-x rwx
drwxrwxrwx
lrw-r--r--
Tipo do arquivo:
“-” arquivo normal
“d” pasta (directory)
“l” link simbólico
“b” ou “c” pilotos de periféricos
Permissões do usuário
Permissões dos membros do mesmo grupo
Permissões dos outros usuários do sistema
Permissões de ler
Permissões de escrever
Permissões de executar
9. n Modificar as permissões:
¨ Só o proprietário do arquivo (ou o root) pode mudar
as permissões
¨ chmod [ a, u, g, o ] [ +, - ] [ r, w, x ] [arquivo]
n u (user: proprietário), g (group: groupo), o (others: outros
usuários), a (all : todos)
n + adicionar a permissão, - retirar a permissão
chmod og+x arquivo
chmod a-w arquivo
10. chmod u=rwx,g=rx,o=rx arquivo
chmod u=rx arquivo (Atenção: isso não modifica as
permissões de g e o)
chmod u=rx,g=,o= arquivo
chmod 755 arquivo rwx r-x r-x
111 101 101
7 5 5
chmod 644 arquivo rw- r-- r--
110 100 100
6 4 4
11. n rm (remove: remover um arquivo)
ls pastas1
-rwxr-xr-x 2 aluno iesam 4096 2010-02-09 11:30
arquivo
ls pastas2
-rwxr-xr-x 2 aluno iesam 4096 2010-02-09 11:30
mesmoarquivo
rm pastas2/mesmoarquivo
ls pastas1
-rwxr-xr-x ? aluno iesam 4096 2010-02-09 11:30
arquivo
12. n rmdir (remove directory: remover pasta)
rmdir muitas
Não funcionou porque a pasta não é vazia
rmdir muitas/pastas/no/mesmo/tempo
Funcionou porque a pasta é vazia
rm –r muitas
Vai destruir de maneira recursiva “-r” todo o
conteúdo da pasta “muitas” e destruir a pasta
“muitas” (eficiente mas perigoso!)
15. n cp (copy: copiar um arquivo)
cp /bin/ls novols
n mv (move: mudar um arquivo de lugar ou/
e de nome)
mv novols pasta2/ls
16. Execução de software / script
echo $PATH
è /usr/bin:/bin:/usr/X11/bin
n Podemos acessar o tempo todo a todos os
softwares / scripts desses arquivos só digitando
o nome do software
ls è /bin/ls
cat è /bin/cat
...
n Podemos executar um software / script digitando
o caminho completo para acessar ate o
software / script.
/home/aluno/exercicio/pasta2/ls
17. n Podemos executar software / script digitando o caminho
relativo com “./” na frente desse caminho
./pasta2/ls
cd pasta2
./ls
n Porque este “./” ? Questão de segurança:
¨ Se, sem querer, você deixou uma pasta com os direitos de
escritura para uma outra pessoa, ela pode copiar um software
do mesmo nome que um comando básico (tipo “cd” ou “ls”) mas
que efetua um outro tratamento (forma de vírus)
¨ Você arriscaria de executar esse comando sem querer
¨ O “./” mostra que você executa intencionalmente um comando
que esta na pasta local
19. Procurar arquivos
n locate (locate: localizar)
¨ locate não procura diretamente no sistema de arquivo
mas dentro de um banco de dados
èO sistema atualiza automaticamente esse banco de dados
èUm arquivo recente pode não ser ainda integrado dentro do
banco de dados
èPodemos obrigar o sistema a atualizar o banco de dados
para integrar os arquivos recentes (updatedb). Entretanto
esse comando pode demorar muito
locate arquivo
locate bash
20. Visualização rápida de conteúdos
n head nome_arquivo (“cabeça” do arquivo: primeiras
linhas)
n tail nome_arquivo (“cauda” do arquivo: ultimas linhas)
n cat nome_arquivo (“concatenação” do arquivo inteiro
sobre a saída standard)
n more nome_arquivo (imprime progressivamente o
arquivo sobre a saída standard)
n less nome_arquivo (permite de percorrer o arquivo)
head /var/log/Xorg.0.log