2. Estrutura básica de diretórios do Sistema Linux
/bin - Contém arquivos programas do sistema que são usados com freqüência pelos usuários.
/boot - Contém arquivos necessários para a inicialização do sistema.
/dev – Neste diretório estão os arquivos que fazem referência a dispositivos de hardware, como discos,
portas de I/O (Entrada e saída), memória e etc.
/etc – Diretórios que contém arquivos e outros diretórios de configuração de aplicativos, que são
específicos à maquina.Arquivos de configuração de seu computador local.
/home - Diretórios contendo os arquivos dos usuários.
/lib - Bibliotecas compartilhadas pelos programas do sistema e módulos do kernel.
/proc - Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá
pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou
modificar o funcionamento de dispositivos do sistema através da alteração em seus arquivos.
/sys - Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá
pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do sistema ou
modificar o funcionamento de dispositivos do sistema através da alteração em seus arquivos.
/root -Diretório do usuário root.
/sbin - Diretório de programas usados pelo superusuário (root) para administração e controle do
funcionamento do sistema.
/srv – Estruturas de arquivos e diretórios utilizados para determinados serviços.
/tmp -Diretório para armazenamento de arquivos temporários criados por programas.
/usr -Contém maior parte de seus programas. Normalmente acessível somente como leitura.
/var -Contém maior parte dos arquivos que são gravados com freqüência pelos programas do sistema,
e-mails, spool de impressora, cache, etc.
3. Tipos de Arquivos no Linux
Características;
Informações;
Arquivos Especiais.
4. Comandos Linux
Manipulação de arquivos e diretórios
cat - Concatena arquivos, exibe o conteúdo e ainda pode receber texto digitado pelo
teclado e enviar para um arquivo dentre outra funções.
$ cat [opções] [diretório/arquivo]
Opções:
-b: Numera as linhas, exceto as linhas em branco;
-E: Mostra um caractere $ ao final de cada linha;
-n: Numera todas as linhas, incluindo as em branco;
-s: Não mostra mais do que uma linha em branco. Se houver duas ou mais linhas em
branco consecutivas, elas são truncadas e apenas uma é mostrada;
-T: Substitui tabulações pelos caracteres "^I"?”;
-v: Substitui os caracteres não imprimíveis por símbolos, exceto tabulações e final de
linha.
5. Comandos Linux
Manipulação de arquivos e diretórios
Para criar um arquivo, execute o comando:
$ cat > nomedoarquivo.extensão
Digite qualquer texto. Quando terminar, pressione as teclas Crtl+d em uma linha
vazia para finalizar a entrada de dados e salvar o arquivo.
Porém o comando acima cria o arquivo e caso ele já exista, sobrescreve-o. Para resolver
este problema devemos utilizar o comando:
$ cat >> nomedoarquivo.extensão
Este comando adiciona o conteúdo digitado no final do arquivo.
Para ver o conteúdo do arquivo, execute:
$ cat nomedoarquivo.extensão
Porém quando o arquivo é muito extenso, devemos utilizar um complemento:
$ cat nomedoarquivo.extensão | more
6. Comandos Linux
Manipulação de arquivos e diretórios
Para concatenar arquivos:
$ cat arquivo1.extensão arquivo2. extensão > arquivofinal.extensão
Vários arquivos a serem compactados:
$ cat arquivo.extensão.* > arquivofinal.extensão
Para adicionar o conteúdo de um arquivo no final de outro arquivo:
$ cat arquivo.extensão >> arquivo2.extensão
7. Comandos Linux
Manipulação de arquivos e diretórios
more - Mostra o arquivo na saída padrão. Se o tamanho do arquivo for maior do que o
número de linhas da tela, faz uma pausa e aguarda o pressionamento de uma tecla (Enter,
espaço ou q/ Esc) para continuar a exibição.
$ more [opções] arquivo
Principais opções:
-d : Mostra informações para o usuário de como prosseguir;
+num : Inicia a exibição na linha indicada no número num.
-p: Limpa a tela e depois exibe o conteúdo do arquiv, ao invés de paginar o conteúdo do
arquivo.
-s: Junta várias linhas em branco seguidas de trechos do arquivo e mostra apenas uma
linha.
Exemplos:
$ more +4 /etc/passwd – Inicia a exibição do arquiv /etc/passwd na linha 4.
8. Comandos Linux
Manipulação de arquivos e diretórios
less – Parecido com o comando more, mas permite a navegação dentro do arquivo
utilizando as setas do teclado e outras teclas.
Ação more less
Avança uma linha Enter Enter ,e,j,cursos para baixo
Volta uma linha -
Avança uma tela Espaço, z,f Espaço, z,f
Volta uma tela b b
9. Comandos Linux
Manipulação de arquivos e diretórios
tac - O tac faz o mesmo que o cat, mas exibe o arquivo pela ordem inversa, ou seja,
começando pela última linha e terminando com a primeira.
$ tac [arquivo]
touch – É usado para atualizar as informações sobre as datas de último acesso e
última modificação de um arquivo.
$ touch [opções] [arquivo]
Se o arquivo não existir, ele é criado, por padrão. Isso faz o touch ser muito utilizado para
criar arquivos vazios, através do comando touch [arquivo].
Opções:
-a: Modifica apenas a data do último acesso;
-c: Não cria arquivos, caso eles não existam;
-m: Modifica apenas a data de modificação;
-t: A data e hora a ser utilizada para o último acesso ou última modificação. O formato
utilizado é MMDDhhmm (mês, dia, hora e minuto);
10. Comandos Linux
Manipulação de arquivos e diretórios
cp - Abreviação de copy (copiar), é utilizado para copiar arquivos e diretórios de um local
para outro, com o mesmo nome ou com nome diferente.
$ cp [opções] [origem] [destino]
-b: Faz um backup de arquivos que serão sobrescritos;
-P: Quando tratar de links simbólicos, copia o link, e não o local para onde o link aponta;
-f: Força a cópia, sobrescrevendo arquivos no destino se confirmação. Usar esta opção
com cuidado;
-i: Pede confirmação antes de sobrescrever um arquivo;
-L: Quando tratar de links simbólicos, copia o local para o onde o link aponta, e não o link;
-p: Preserva as propriedades do arquivo (permissões, dono e datas);
-R ou -r: Modo recursivo, copia todos os arquivos e subdiretórios do diretório
especificado. Esse parâmetro deve ser usado para copiar diretórios inteiros;
--target-directory=[diretório]: Especifica para qual diretório devem ser copiados os
arquivos/diretórios especificados;
-u: Copia apenas os arquivos novos. Se um arquivo que estiver sendo copiado já existir
no diretório de destino, sua cópia será ignorada;
-v: Mostra os detalhes da cópia dos arquivos.
11. Comandos Linux
Manipulação de arquivos e diretórios
Para copiar um arquivo em um diretório:
$ cp arquivoasercopiado.extensão /diretório
Para fazer cópia de um arquivo com nome diferente:
$ cp arquivo.extensão cópiaarquivo.extensão
Para copiar mais de um arquivo para um diretório:
$ cp arquivo1 arquivo2 arquivo3 /diretoriopai/diretoriofilho
Para copiar um diretório para diretoriopai/diretoriofilho:
$ cp -r diretorioasercopiado /diretóriopai/diretóriofilho
Para copiar mais de um arquivo e um diretório para outro diretório:
arquivos file1, file2 e file3 e o diretório img/ para o diretório /tmp/upload/:
$ cp -r file1 file2 fil3 diretorioasercopiado /diretóriopai/diretóriofilho
12. Comandos Linux
Manipulação de arquivos e diretórios
cp – Cópia em modo recursivo:
Copia todos os arquivos e subdiretórios do diretório especificado. Usado para copiar
diretórios inteiros.
Copia um diretório para dentro de outro diretório:
# cp -Rv /diretoriocopiado /diretoriodestino
Exemplos:
Copia o diretório backup que está dentro de /root para a raiz do disco
# cp -Rv /root /backup /
Copia o diretório docs que está dentro de /usr/local/share para o diretório que estou no
momento
# cp -Rv /usr/local/share/docs .
13. Comandos Linux
Manipulação de arquivos e diretórios
Copiar Diretórios Renomeando o destino:
cp diretorio-origem diretorio-destino/novo-nome
Exemplos:
$ cp -Rv /root /tmp/root-renomeado
Copia o diretório /root para dentro do diretório /tmp com o nome de root-renomeado.
$ cp -Rv /etc /tmp/etc-novo
Copia o diretório /etc para dentro do diretório /tmp com o nome de etc-novo.
$ cp -Rv /root/backup /backup2
(Copia o diretório backup que está dentro de /root para a raiz do disco com o nome de
backup2)
$ cp -Rv /usr/local/share/docs ./documentos
Copia o diretório docs que está dentro de /usr/local/share para o diretório que estou no
momento com o nome de documentos.
14. Comandos Linux
Manipulação de arquivos e diretórios
ln – Cria um link para outro arquivo. Por padrão, o link direto ou hard link.
$ ln [opções] origem [destino]
-f: Força a criação do link, sobrescrevendo o outro arquivo (se possível).
-s: Cria um link simbólico.
Exemplos:
$ln -s ~/arquivo.text /tmp/arquivoX
Cria o link simbólico arquivoX em /tmp, apontando para o arquivo ~/arquivo.txt. Desta forma,
é possível acessar este diretório por qualquer um dos caminhos.
$ln -s /bin/ls ls
Cria o link simbólico ls no diretório onde o usuário se encontra, apontando para /bin/ls.
15. Permissões e Propriedades
de Arquivos
Distinguir níveis de permissão em arquivos e
diretórios;
Utilizar os comandos chmod e chown para
modificar propriedades e permissões de
arquivos e diretórios;
Entender e utilizar permissões especiais.
18. Permissões
Modo Octal e Modo Textual
Textual: Nesse modo utilizam-se os caracteres:
Nível de permissão
Tipo de Permissão – Notação
Textual
u Representa o dono do
arquivo r Concede ou remove permissão de leitura
w Concede ou remove permissão escrita
+ : Para adicionar permissão;
g Grupo dono do arquivo
- : Para remover permissão. x Concede ou remove permissão de execução
o Outros
Ex.: $ chmod u+rw, g+w,o-rwx remove todas as permissões
a Concede ou arquivo.txt
anteriores (all)
Adiciona leitura e escrita para o dono, adiciona escrita para o grupo e
remove todas as outras permissões para os outros em arquivo.txt
19. Permissões
Modo Octal e Modo Textual
Octal: As permissões são representadas por números na base octal,
onde:
4 Permissão de Leitura
2 Permissão de escrita
1 Permissão de execução
7 Todas as permissões
Exemplo:
0 Sem permissão
$ chmod 610 documento.txt
Define permissão de leitura e gravação ao dono (4+2 = rw), execução
para o grupo (1=x) e nenhuma permissão para outro usuário.
20. Comandos Linux
Permissões de acesso
chmod – Permite que se alterem as permissões e propriedades de
um ou mais arquivos (change mode). Pode utilizar tanto a notação
textual como a octal.
chmod [opções] arquivo/diretório
Opções:
-R : Permite que se altere recursivamente as permissões de arquivos e
diretórios.
21. Comandos Linux
Permissões de acesso
Exemplos:
$ chmod +x binario.sh
Concede permissão de execução (+x) de binario.sh para todos os usuários
do sistema (Caso não seja especifícado o usuário, a permissão é
concedida/retirada de todos, equivale ao a+x).
$ ch mod 711 documento.txt
Define permissão de leitura, escrita e execução ao dono e execução ao
grupo e outros.
23. Empacotando arquivos
tar -O comando tar salva vários arquivos em um único arquivo .tar (em fita ou disco), e
podemos restaurá-los individualmente. Seu uso é simples:
tar [opções]... [arquivo.tar]
Exemplos:
tar -cpvf backup-2.tar /home/adilson/fotos/*
Cria o arquivo backup-2.tar de todas as fotos que estão em /home/adilson/fotos.
tar -xpvf backup-2.tar
Volta o backup do arquivo backup-2.tar de todas as fotos que estavam em
/home/adilson/fotos.
tar -tpvf backup-2.tar
Lista todos os arquivos do arquivo backup-2.tar.
# tar -jcf usuarios.tar.bz2 /home/adilson /home/gabriel
Cria arquivo usuarios.tar.bz2 contendo apenas os diretórios do usuário adilson e o
usuáriogabriel.
Se quisermos fazer um backup de todos os usuários do /home usaríamos o comando
# tar -cpvf TodosDoHome.tar /home/*, por exemplo.Se uma opção longa aparece como
argumento mandatório, então a opção curta equivalentetambém é um argumento
24. Empacotando arquivos com o comando tar
Principal modo de funcionamento:
-C: Permite mudar de diretório.
-t: Listar o conteúdo de um arquivo-tar.
-x: Extrair arquivos do arquivo-tar.
-c: Criar um arquivo-tar.
-d: Comparar o arquivo-tar com arquivos atuais.
-r: Anexar arquivos no fim do arquivo-tar.
-u: Atualiza arquivos no arquivo-tar.
-A: Anexar outros arquivos
-tar.
--concatenate: O mesmo que “-A”.
--delete: Remover do arquivo-tar (exceto para fitas).
-v: Mostra informações no decorrer do processamento.
Seleção do formato do arquivo:
-I, --bzip2, --bunzip2: Filtra o arquivo através do bzip2.-z, --gzip, --ungzip: Filtra o arquivo
através do gzip.-Z, --compress, --uncompress: Filtra por meio do compress.
Seleção local de arquivos:
-C: Mudar para diretório.
-h, --dereference: Usar os próprios arquivos, em lugar dos ligações simbólicas.--no-recurse:
Não descer pela árvore de diretórios.
26. Identificação de discos e partições em
sistemas Linux
No GNU/Linux, os dispositivos existentes em seu computador (como discos rígidos, pen-
drives, flash, disquetes,, tela, portas de impressora, modem, etc) são identificados por um
arquivo referente a este dispositivo no diretório /dev.
A identificação de discos rígidos no GNU/Linux é feita da seguinte forma:
27. Identificação de discos e partições em
sistemas Linux
Abaixo algumas identificações de discos e partições em sistemas Linux:
/dev/fd0 - Primeira unidade de disquetes.
/dev/fd1 - Segunda unidade de disquetes.
/dev/sda - Primeiro disco rígido na primeira controladora SATA ou SCSI.
/dev/sda1 - Primeira partição do primeiro disco rígido SATA ou.
/dev/sdb - Segundo disco rígido na primeira controladora SATA ou SCSI.
/dev/sdb1 - Primeira partição do segundo disco rígido SATA ou SCSI.
/dev/sr0 - Primeiro CD-ROM SATA ou SCSI.
/dev/sr1 - Segundo CD-ROM SATA ou SCSI.
/dev/hda - Primeiro disco rígido na primeira controladora IDE do micro (primary master).
/dev/hda1 - Primeira partição do primeiro disco rígido IDE.
/dev/hdb - Segundo disco rígido na primeira controladora IDE do micro (primary slave).
/dev/hdb1 - Primeira partição do segundo disco rígido IDE.
/dev/xda - Primeiro disco rígido XT.
/dev/xdb - Segundo disco rígido XT.
As letras de identificação de discos rígidos podem ir além de sdb, por exemplo, caso utilize
pen-drives, memória flash, as unidades serão detectadas como sdc, sdd e assim por diante.
É importante entender como os discos e partições são identificados no sistema, pois será
necessário usar os parâmetros corretos para montá-los.
28. Montando (acessando) uma partição de disco
mount – Usado para acessar uma partição de disco.
mount [dispositivo] [ponto de montagem] [opções]
Onde:
dispositivo - Identificação da unidade de disco/partição que deseja acessar
(como /dev/hda1 (disco rígido) ou /dev/fd0 (primeira unidade de disquetes).
ponto de montagem - Diretório de onde a unidade de disco/partição será acessado. O
diretório deve estar vazio para montagem de um sistema de arquivo. Normalmente é
usado o diretório /mnt para armazenamento de pontos de montagem temporários.
Opções:
-t [tipo] -Tipo do sistema de arquivos usado pelo dispositivo. São aceitos os sistemas de
arquivos:
ext2 - Para partições GNU/Linux usando o Extended File System versão 2 (a mais
comum).
ext3 - Para partições GNU/Linux usando o Extended File System versão 3, com suporte a
journaling.
ext4 - Para partições GNU/Linux usando o Extended File System versão 4, com suporte a
journaling.
29. Na maioria das vezes, caso o sistema de arquivos não seja especificado, o mount utilizará a
auto-detecção e montará a partição usando o sistema de arquivos correto.
-r - Caso for especificada, monta a partição somente para leitura.
-w - Caso for especificada, monta a partição como leitura/gravação. É o padrão.
Caso você digitar mount sem parâmetros, serão mostrados os sistemas de arquivos
atualmente montados no sistema. Esta mesma listagem pode ser vista em /etc/mtab. A
remontagem de partição também é muito útil, especialmente após reparos nos sistema de
arquivos do disco rígido. Veja alguns exemplos de remontagem abaixo.
É necessário permissões de root para montar partições, a não ser que tenha especificado a
opção user no arquivo /etc/fstab
Exemplos de Montagem:
Montar uma partição Windows (vfat) de /dev/sda1 em /mnt somente para leitura:
mount /dev/sda1 /mnt -r -t vfat
Montar um pen-drive detectado em /dev/sdc1 em /mnt:
mount /dev/sdc1 /mnt -t vfat
Montar uma partição DOS localizada em um segundo disco rígido /dev/hdb1 em /mnt:
mount /dev/hdb1 /mnt -t msdos.
Remontar a partição raíz como somente leitura:
mount -o remount,ro /
Remontar a partição raíz como leitura/gravação (a opção -n é usada porque o mount não
conseguirá atualizar o arquivo /etc/mtab devido ao sistema de arquivos / estar montado
como somente leitura atualmente: mount -n -o remount,rw /.
30. fstab
O arquivo /etc/fstab permite que as partições do sistema sejam montadas facilmente
especificando somente o dispositivo ou o ponto de montagem. Este arquivo contém
parâmetros sobre as partições que são lidos pelo comando mount. Cada linha deste
arquivo contém a partição que desejamos montar, o ponto de montagem, o sistema de
arquivos usado pela partição e outras opções. fstab tem a seguinte forma:
Onde:
Sistema de Arquivos: Partição que deseja montar.
Ponto de montagem: Diretório do GNU/Linux onde a partição montada será acessada.
Tipo: Tipo de sistema de arquivos usado na partição que será montada. Para partições
GNU/Linux use ext3, reiserfs, xfs (de acordo com o tipo de partição selecionada durante a
formatação), para partições DOS (sem nomes extensos de arquivos) use msdos, para
partições Win 95 (com suporte a nomes extensos de arquivos) use vfat, para unidades de
CD-ROM use iso9660.
31. Desmontando uma partição de disco
Utilize o comando umount para desmontar um sistema de arquivos que foi montado
com o mount. Você deve ter permissões de root para desmontar uma partição.
umount [dispositivo/ponto de montagem]
Você pode tanto usar umount /dev/sda1 como umount /mnt para desmontar um
sistema de arquivos /dev/sda1 montado em /mnt.
Observação: O comando umount executa o sync automaticamente no momento da
desmontagem, para garantir que todos os dados ainda em memória RAM sejam
salvos.
32. Comandos de rede
Who: Mostra quem está atualmente conectado no computador.
Este comando lista os nomes de usuários que estão conectados em seu computador,
o terminal e data da conexão.
who [opções]
Onde:
-H, --heading - Mostra o cabeçalho das colunas.
-b, --boot - Mostra o horário do último boot do sistema.
-d, --dead - Mostra processos mortos no sistema.
-i, -u, --idle - Mostra o tempo que o usuário está parado em Horas:Minutos.
-m, i am - Mostra o nome do computador e usuário associado ao nome. É equivalente a
digitar who i am ou who am i.
-q, --count - Mostra o total de usuários conectados aos terminais.
-r, --runlevel -Mostra o nível de execução atual do sistema e desde quando ele está
ativo.