2. Núcleo e filosofia UNIX
Conceitos básicos
O UNIX é um sistema operativo com uma enorme
importância na história da Informática. Não é lá muito
amigável no sentido que a palavra tem hoje, já que de raiz
não possui uma interface gráfica, mas é muito rápido e
robusto. Serve de base a muitos outros sistemas
operativos actuais, nomeadamente os da série OS X da
Apple, para os seus Macintosh, que já possuem uma
interface bem agradável .
3. Características do Linux
O Linux é um SO multitarefa e multiutilizador
Funciona sem conflitos no mesmo computador com outros SO,
suporta nomes extensos de ficheiros e directórios (255 caracteres)
e permite conectividade com outras plataformas como Apple, Sun,
Macintosh...
O GNU/LINUX carrega para a memória o que é usado durante
o processamento, libertando-a totalmente assim que o
programa/dispositivo termina;
Funciona razoavelmente em computadores de baixas
capacidades;
4. Características do Linux
Acede sem problemas a discos formatados pelo Dos,
Windows, NTFS, Mac,...
Não são conhecidos vírus no Linux.
O Linux permite executar aplicações DOS através do DOSEMU
e do Windows através do WINE.
Suporta vários tipos de dispositivos, nomeadamente
infravermelhos, wireless, dispositivos Plug-and-play,
USB...
5. Características do Linux
O sistema de ficheiros usado pelo Gnu/Linux (Ext3) organiza os
ficheiros sob forma de evitar a fragmentação.
Permite a montagem de um Servidor Web, e-mail... com baixo
custo e alta performance. O Apache e SendMail são distribuídos
gratuitamente com o Linux.
Possui vários tipos de Firewalls de alta qualidade de grande
segurança. Pode atender a mais de um endereço IP na mesma
placa de rede sendo útil para manutenção de servidores.
Não é necessária uma licença para sua utilização;
6. Sistemas de ficheiros
Para que os utilizadores possam usar os sistemas UNIX,
como quaisquer sistemas computacionais geridos por
outros sistemas operativos, é necessário que eles tenham
acesso ao que está guardado nos discos e outras
memórias auxiliares. É por isso que existem os chamados
sistemas de ficheiros, para organizar e permitir não só o
acesso aos ficheiros lá guardados, como também a criação
de novos ficheiros.
Sistemas de ficheiros
Um sistema de ficheiros é um método para armazenar e organizar os
ficheiros e os dados neles contidos, assim como gerir o acesso a eles.
7. Sistemas de ficheiros
No UNIX, tal como no Microsoft Windows e no MS-DOS, os ficheiros são colocados
em directórios que estão também organizados num sistema em árvore, com um
directório-raiz e todos os outros sob ele. Mas há várias diferenças entre os sistemas
de ficheiros do Microsoft Windows e do UNIX, nomeadamente, a organização. Por
exemplo, no UNIX, a colocação de um directório na árvore depende do seu conteúdo,
sendo o UNIX muito rigoroso nessa regra, ao contrário do Microsoft Windows, que
sugere que os programas sejam instalados na pasta Programas, mas não o obriga!
Daqui a pouco, quando abordarmos o sistema operativo Linux — que, de certa forma,
deriva do UNIX — trataremos com muito mais profundidade estas questões dos
sistemas de ficheiros.
8.
9. A organização da informação
Para utilizarmos qualquer sistema operativo, é
fundamental conhecermos o(s) seu(s) sistemas de
ficheiros para que possamos manipular objectos como
ficheiros e pastas. É disso que vamos tratar a seguir.
Volumes de informação, directórios, pastas e ficheiros
O Linux segue de muito perto a filosofia do UNIX em termos de
sistemas de ficheiros. É uma boa ideia, já que, por exemplo,
esses sistemas de ficheiros dispensam o uso de um programa
desfragmentador de disco como os usados nos sistemas de
ficheiros do Microsoft Windows.
10. Partição
Uma partição é uma secção independente de um disco rígido. Isto
é, podemos dividir um disco em várias partições: as secções
podem ser independentes, ao ponto de terem diferentes sistemas
operativos lá instalados.
11. Na instalação, as partições criadas devem ser então formatadas
com um determinado sistema de ficheiros. Podes escolher entre
vários, mas os mais populares são estes:
ufs (Unix File System) — sistema de ficheiros do UNIX, não
compatível para efeitos de troca de ficheiros com outros sistemas
operativos, nomeadamente o Windows. Não aconselhável.
Linux Second Extended File system (ext2 ou ext3) — sistemas de
ficheiros inspirados no ufs, em que a versão 2 é um melhoramento
em termos de performance relativamente à ext original (foi
implementado pela primeira vez na versão 0.96c, em 1994) e a
versão 3 contém melhoramentos a nível de segurança da
recuperação de dados em casos de ava-rias por perda de corrente
eléctrica ou outra. É o sistema de ficheiros mais comum.
12. reiserfs — uma alternativa ao ext2 que traz algumas
grandes vantagens, mas pode trazer problemas de
compatibilidade na interligação de sistemas. As vantagens
relativamente ao ext2 estão na melhor gestão do espaço
em disco, melhor performance do disco e maior garantia de
segurança na recuperação de dados em caso de desastre.
reiser4 — uma versão bastante melhorada do reiserfs, em
que a principal diferença consiste em ser possível definir
diferentes permissões de acesso para diferentes partes do
mesmo ficheiro!
HFS+ (hfsplus) — sistema de ficheiros para o Mac OS X,
sistema operativo dos Apple Macintosh baseado no Linux.
É mais rápido do que os anteriores, já que organiza
internamente os dados em forma de árvores binárias. Mas é
compatível com eles.
13.
14. O Linux usa um sistema de ficheiros hierárquico, em árvore,
começando pelo directório-raiz (root) designado por uma barra / (ao
contrário do MS-DOS e do Windows) e com vários directórios sob
ele. Um desses directórios é o dev, que contém outros directórios
correspondentes a dispositivos físicos (physical devices, daí o
nome) como as unidades de memória auxiliar.
15. Em Linux, então, é assim:
As unidades de disco IDE/ATA são designadas por /dev/hda,
/dev/hdb, /dev/hdc, etc.
As unidades de disco SCSI são designadas por /dev/sda,
/dev/sdb, /dev/sdc, etc.
A criação de partições pode obrigar à criação de novas unidades;
por exemplo, três partições criadas no disco principal, levam às
unidades /dev/hda1, /dev/hda2, /dev/hda3.
Para aceder a uma unidade de memória auxiliar é necessário
montá-la ou, mais rigorosamente, criar um ponto de montagem.
Isso equivale a emitir um comando que crie um directório, sob o
directório /mnt, que seja associado à unidade de memória em
causa.
16. Ponto de Montagem
Directório, normalmente colocado sob o directório /mnt (ou /media,
se se tratar de um dispositivo amovível como um CD ou uma pendrive)
de uma estrutura de directórios em Linux, associado a uma unidade
de memória auxiliar, como uma partição de um disco rígido, uma
disquete ou um DVD.
Assim, quando, por exemplo, copiamos ficheiros para uma disquete,
devemos indicar como destino o directório que corresponde à
disquete - o seu ponto de montagem -, que se poderá chamar, por
exemplo /media/floppy. Um pouco estranho, de facto, mas é por
razões de segurança, já que quem determina quais as associações
entre pastas e unidades é o administrador e também só ele pode
acabar com essas associações quando entender).
18. / - o directório-raiz; o início da árvore de directórios do sistema. Só
deverá conter subdirectórios e nenhum ficheiro. Não o confundas
com o utilizador root - administrador do sistema - nem com o
directório home deste utilizador!
/boot - directório onde o Linux guarda ficheiros para o arranque e o
seu kernel. Se listares o seu conteúdo, verás um ficheiro chamado
vmlinuz, que é justamente o seu kernel.
19. /etc - contém ficheiros de configuração, sendo a maior parte deles
ficheiros de texto. Irás usá-lo muitas vezes nas aulas.
/etc/inittab - ficheiro que determina os processos que se iniciam
automaticamente no arranque do sistema.
/etc/fstab - ficheiro que contém as informações sobre os volumes de
memória auxiliar, seus pontos de montagem, etc. É muito importante
que te lembres dele.
/etc/passwd - ficheiro que contém informação sobre todas as contas de
todos os utilizadores. As palavras-passe estão encriptadas e nunca são
acessíveis...
/bin, /usr/bin - contém os ficheiros executáveis (binários, na linguagem
corrente dos técnicos) do sistema. No directório /bin estão mais os
utilitários para uso do próprio sistema e no /usr/bin os utilitários à
disposição dos utilizadores, mas esta não é uma regra rígida.
20. /usr - muito material para os utilizadores; tanto, que muitas
pessoas o colocam numa partição à parte das outras.
/usr/doc - documentação sobre as várias aplicações disponíveis.
/usr/share - ficheiros de configuração, imagens e demais material
comum a todos os utilizadores.
/usr/include - ficheiros header (.h) para os programas em C.
/usr/X11R6 - ficheiros do sistema gráfico X-Window que suporta
os ambientes gráficos como o próprio X-Window, o KDE ou o
Gnome.
/usr/local - aplicações destinadas apenas a uso local, isto é, no
próprio computador.
21. /Iib - livrarias para as várias aplicações, semelhantes às
DLL do Microsoft Windows.
/home - directório onde estão todos os directórios home dos
utilizadores. É assim como que o Documents and Settings
do Windows XP.
/root - o directório home do utilizador root, o administrador
ou super utilizador do sistema.
/var - contém ficheiros cujo conteúdo varia enquanto o
sistema está a ser utilizado.
/tmp - directório para ficheiros temporários. O Microsoft
Windows também tem.
.
22. /dev - já referido antes, é o directório dos ficheiros e directórios
correspondentes a dispositivos físicos. A ideia é que seja possível
facilitar tarefas como imprimir, copiando os ficheiros a imprimir para o
directório correspondente à impressora, tal como se faz para outro
directório qualquer.
/media - directório dos pontos de montagem, tal como foi explicado
antes e que aprenderás a usar mais adiante.
/mnt - directório dos pontos de montagem, tal como foi explicado
antes e que aprenderás a usar mais adiante.
/proc - é um directório virtual e contém informações sobre os
processos em execução em cada instante.
/lost+found - directório que guarda ficheiros perdidos, por exemplo,
após o crash do sistema para que possam se recuperados
23. Comandos UNIX/Linux
Opções dos comandos
Muitos dos comandos em Linux possuem várias opções, o
que torna a sua sintaxe complicada. É normal, quando há
tantas pessoas a sugerir-lhes melhorias. Mas muitas dessas
opções quase não são usadas. Por isso, nos quadros abaixo,
mostraremos apenas as opções mais comuns da maioria dos
comandos.
24. No entanto, porque há uma grande vontade por parte dos
distribuidores de Linux de que todas as tarefas sejam possíveis a partir
das interfaces gráficas iremos, a título de exemplo, mostrar sempre a
alternativa ao comando na interface KDE.
De qualquer modo, para praticares os comandos a partir da interface
gráfica, podes sem-pre invocar uma janela de terminal onde podes
trabalhar em bash (bourne again shell), uma das linguagens de
comandos usadas nos sistemas Linux.
25.
26. Ajuda com sintaxe?
Para obteres ajuda com a sintaxe de um comando e a
explicação do que ele faz, podes usar qualquer um destes
três comandos:
man [-k] [comando]
info [comando]
help [-s] [comando]
em que as opções são:
-s - restringe a informação mostrada a uma simples
sinopse do modo de usar o comando;
-k - procura pela descrição do comando e não pelo
seu nome.
27. Iniciar e terminar sessões
Iniciar sessão
No início de uma sessão - quer em modo gráfico quer em
modo texto -, é-nos sempre pedido o nome de utilizador (login:)
e a palavra-passe (password:) para iniciarmos sessão.
Se pretenderes terminar a tua sessão e iniciar sessão com
outro utilizador, podes usar o comando login.
login
Sintaxe
login [nomelopção]
Se não indicares o novo nome de utilizador, ele ser-te-á
pedido, assim como a palavra-passe.
28. Iniciar temporariamente como outro utilizador
Podes ainda trabalhar temporariamente como outro utilizador, sem
terminares a tua sessão, o que é muito útil quando iniciamos sessão
com uma conta de um utilizador comum, mas precisamos
temporariamente de trabalhar como root para poder efectuar
alguma tarefa que só esta conta permite. E não é preciso entrar na
cabina telefónica para fazer a transformação em superutilizador -
basta usar o comando apropriado: su (substitute user).
29. su
Sintaxe
su [opção][utilizador]
Opções:
-l ("I" de logín): inicia nova sessão de forma completa, mudando
as variáveis de ambiente de trabalho, etc.;
-p ("p" de preserva): preserva o ambiente de trabalho actual, não
mudando para o do novo utilizador.
Nota 1: Se não indicares o nome do utilizador, o Linux assume que é o
utilizador root.
Nota 2: Usa a combinação de teclas [Ctrl] [D] para terminar esta sessão
temporária.
30. Exemplo:
Iniciar uma sessão temporária como root para poder alterar um
ficheiro que só este tem per-missão para alterar, escrevemos:
su root
31. Terminar sessão
Para terminar sessão, desligando ou não o computador,
há várias formas, nomeadamente:
- a sequência de teclas [Ctrl] [D] funciona para apenas
terminar sessão e permitir a outro utilizador que inicie a
sua a seguir - é a forma mais fácil de terminar sessão;
- o comando logout.
32. Desligar o computador
O comando shutdown, que termina todos os processos em curso
no sistema - pode ser executado por utilizadores privilegiados,
como o root
Shutdown
Sintaxe
shutdown [opções] when [mensagem]
Opções:
-c ("c" de cancel): cancela um shutdown que esteja a decorrer;
-h ("h" de holt): pára o sistema quando o shutdown termina;
-r ("r" de restart): reinicia o sistema no fim do shutdown;
-t segundos ("t" de time): faz uma pausa antes de começar a executar o
comando.
33. Exemplos:
Fazer o shutdown imediato. Escrevemos:
shutdown -h now
Reiniciar o sistema de imediato. Escrevemos:
shutdown - r now
Fazer o shutdown às 20:00. Escrevemos:
shutdown -h 20:00
Fazer o shutdown daqui a 10 minutos. Escrevemos:
Shutdown -h +10
34. Quem está online?
Em sistemas multiutilizador, às vezes, é útil saber quem
está online, ou seja, com sessão iniciada. Há um comando
que o diz: who
who / who am i
Sintaxe
who [opções] [ficheiro]
Opções
am í Mostra o nome de utilizador do utilizador actual. É útil
quando se usa o comando su;
m ("m" de me, "eu") mesmo que am i;
q ("q" de quick) mostra o número de utilizadores e a lista dos seus
nomes de utilizador.
35. Mudar a palavra-passe
Qualquer utilizador pode mudar a sua palavra-passe quando
bem o entender. Basta usar o comando passwd.
Passwd
Sintaxe
passwd [utilizador]
Porque é possível a utilizadores privilegiados como o root modificar a
palavra-passe de outro utilizador, o comando possui a opção de indicar
o nome de utilizador de quem se pretende mudar a palavra-passe
36. Manipulação do sistema de ficheiros
Volumes de informação
Formatação
A formatação, entendida como a criação de um sistema de ficheiros num
volume de memória auxiliar, pode ser feita sobre uma unidade amovível,
como uma disquete, ou sobre uma partição de um disco.
Assim, para formatar um dispositivo físico amovível, como uma disquete
ou uma pendrive, o comando devido é o que cria nele um sistema de
ficheiros - o mkfs. Já o processo de criação de uma partição passa por
duas fases:
primeira: usar o comando fdisk para criar a(s) partição(ões) desejada(s)
no volume;
segunda: usar o comando mkfs para formatá-la com um determinado
sistema de ficheiros.
37. fdisk
Sintaxe
fdisk [-u] dispositivo
fdisk -I [-u] dispositivo... fdisk -s partição...
fdisk -v
Opções:
-u ao listar tabelas de partições, dá o seu tamanho em
sectores e não em cilindros;
-l lista as tabelas da partição para /dev/hd[a-d],
/dev/sd[a-h], /dev/ed[a-d] e sai;
-s partição é mostrado o tamanho da partição em blocos;
-v mostra a versão do fdisk que está a ser usada.
38. mkfs
Sintaxe
mkfs [-V] [-t tipodesf] [fs-opções] sistdefich [blocos]
Opções:
-V - opção verbose para mostrar todas operações que vão sendo
efectuadas durante a formatação;
-t - permite indicar o sistema de ficheiros que se pretende criar
na unidade; se não indicado, é assumido o ext2;
fs-opções - opções específicas do sistema de ficheiros escolhido;
sistdefich - dispositivo a formatar;
blocos - número de blocos de 1024 bytes.
Existem variantes deste comando para cada um dos sistemas de
ficheiros, como mkfs.ext2, mkfs.ext3, mkfs.msdos, etc.
39. O exemplo seguinte descreve a criação de uma única partição num
segundo disco ligado no canal primário IDE, formatada com o sistema
ext3. O disco corresponderá à unidade /dev/hdb e, porque terá uma
única partição, será a /dev/hdb1.
Passo 1: criação da partição
[root@Iinux etc]# fdisk /dev/hdb
Device contains neither a valid DOS partition table, nor Sun, SGI or
OSF disklabel. Building a new DOS disklabel. Changes will remain in
memory only, until you decide to write them. After that, of course, the
previous content won't be recoverable.
40. The number of cylinders for this disk is set to 4865.
There ís nothing wrong with that, but this is larger than 1024, and could in certain setups
cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
P
Partition number (1-4): 1
First cylinder (1-4865, default 1): 1
Last cylinder or +size or +sízeM or +sizeK (1-4865, default 4865): 4865
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to Iist codes): 83
Command (m for help): w
The partition table has been altered!
Calling ioctlO to re-read partition table.
Syncing disks.
41. Passo 2: criação do sistema de ficheiros
[root@Iinux2 root]# mkfs -t ext3 /dev/hdb1
Formatar uma disquete
Tudo o que pretendes fazer é formatar uma disquete? Então só
tens que usar o comando:
mkfs.msdos idev/fd0
ou
mkfs.ext2 /fd0
conforme pretendas a disquete formatada para MS-DOS ou para
Linux. A primeira poderá ser usada num sistema Windows.
42. Montar/desmontar uma unidade
Para montar uma unidade, usamos o comando mount. Ele é
indispensável nas unidades de memória amovíveis, como CD,
DVD, pendrives, etc. Para a desmontar - operação obrigatória
antes de remover a unidade -, usamos o comando umount.
Mount
Sintaxe
mount [opções][dispositivo] ponto_de_montagem
Opções:
-a monta todos os pontos definidos no ficheiro /etc/fstab;
não deve ser usado com mais parâmetros, apenas
mount -a;
-o opção opção pode ser async, auto, defaults, dev, exec, noauto,
nodev, noexec, nosuici, nouser, remount, ro, rw, suid, sync, user.
43. umount
Sintaxe:
umount ponto_de_montagem I dispositivo
Nota: Na sintaxe de um comando, o símbolo "I" significa "ou".
44. Por exemplo, para montar uma disquete, usamos /dev/fd0, que é o directório
associado ao primeiro drive de disquetes, e /mnt/floppy, que é um ponto de
montagem que já costuma vir criado com as distribuições de Linux:
$ mount /dev/fd0 /mnt/floppy
Mas podes criar outro directório para ser ponto de montagem, como
/mnt/disquete
Para desmontá-lo, podes optar pelo dispositivo ou pelo ponto de montagem:
$ umount /mnt/floppy
ou
$ umount /dev/fd0
45. O ficheiro /etc/fstab
Relembrando, o directório /etc guarda ficheiros de configuração,
nomeadamente o fstab (file systems table), que guarda informações
sobre todas as partições, volumes de memória auxiliar e pontos de
montagem existentes no sistema. Um exemplo?
1 2 3 4 5
/dev/hda2 / ext2 defaults 1 1
/dev/hdb1 /home ext2 defaults 1 2
/dev/cdrom /media/cdrom auto ro, noauto, user, exec 0 0
/dev/fd0 /media/floppy auto rw, noauto, user, sync 0 0
proc /proc proc defaults 0 0
/dev/hda1 swap swap pri=42 0 0
46. O que significam as colunas?
1 Nomes dos dispositivos.
2 Nomes dos pontos de montagem por defeito. São os
directórios onde os dispositivos são montados por defeito,
ou automaticamente, pelo sistema operativo, ou se, no
comando mount, não for indicado o ponto de montagem,
mas apenas o dispositivo a montar.
47. 3 Sistema de ficheiros. O tipo auto significa que depende do
sistema de ficheiros que estiver instalado no meio que for inserido,
como acontece com as disquetes, com os CD, DVD, etc. O tipo
swap é usado para a partição da memória virtual. Dos outros já
falámos antes. Pode acontecer que, se tiveres alguma versão do
Microsoft Windows instalada no teu computador, te surjam
volumes com os sistemas VFAT ou NTFS, em que o primeiro foi
usado nas versões até à 98 e o segundo, como saberás, na versão
2000 e posteriores
ATENÇÂO!!
O Linux, dependentemente da versão do kernel, pode permitir ou não a
escrita em volumes NTFS. Em fins de 2005, apenas a última versão o
permitia. De qualquer modo, recomendamos que não tentes escrever nada
numa partição NTFS, mas apenas VFAT, não vá "o diabo tecê-las"...
48. 4 Opções de montagem. São elas:
auto / noauto - com a opção auto, o dispositivo é automaticamente montado
no arranque do sistema; com a opção noauto, ele tem de ser
montado explicitamente;
user/nouser - a opção user define que este dispositivo pode ser montado
por qualquer utilizador; a opção nouser define que apenas o
utilizador root o pode montar;
exec/noexec - opção que indica se é permitido (exec) ou não (noexec)
executar ficheiros existentes nesse dispositivo; a opção
noexec é conveniente para partições que contenham
executáveis de outros sistemas operativos;
ro - opção que apenas permite a leitura do conteúdo da unidade
(read only);
49. rw - opção que permite a leitura e a escrita na unidade (read / write);
sync/async - a opção sync - ideal para dispositivos removíveis,
como disquetes e pendrives - escreve na unidade ao
mesmo tempo que escreve no directório do ponto de
montagem (por exemplo, ao copiar um ficheiro para o
directório de ponto de montagem da disquete, o ficheiro
é, ao mesmo tempo - em sincronismo - escrito na
disquete); a opção async significa que a escrita na
unidade pode ser feita mais tarde;
·defaults - assume as opções por defeito: rw, dev, exec, auto,
nouser, async
Naturalmente que este ficheiro pode ser editado pelo utilizador
root. Aprenderás daqui a pouco como editar ficheiros de texto.
50. Informação sobre os espaços ocupado e livre
Existem comandos que nos permitem obter informações sobre os
espaços ocupado e livre de uma unidade, respectivamente o du
(disk usage) e o df (disk free).
O du mostra o espaço ocupado por um ou mais directórios ou, sem
argumentos, o espaço ocupado na unidade em blocos de 1 KB
contados como 1024 bytes.
du
Sintaxe
du [opções][directórios]
-a - ("a" de ali) — mostra o espaço ocupado por todos os ficheiros do
directório actual ou do(s) especificado(s);
-b - ("b" de bytes) — mostra o espaço ocupado em bytes e não em blocos
de 1 KB, que é a opção por defeito;
-c - mostra o total global, para além dos parciais.
51. O comando df fornece um relatório sobre espaço livre em blocos
de 1 KB. Se nada for indicado, é dada informação sobre todos os
volumes montados. Os nomes que podem ser indicados podem
ser de um ou mais dispositivos (por exemplo, /dev/hda1), o nome
de um directório de um ponto de montagem (por exemplo
/media/floppy) ou o nome de um directório. Neste último caso, o
relatório do espaço livre é sobre o volume onde o directório está.
df
Sintaxe
df [opções][nomes]
52. Directórios
Nesta secção abordaremos os directórios e os comandos
com eles associados. Mas, antes disso, uma noção
fundamental: a de caminho.
Maiúsculas e minúsculas
O Linux, como o UNIX, é sensível a maiúsculas e a minúsculas em tudo,
desde os comandos aos nomes de utilizadores, passando pelos ficheiros
e directórios. A grande maioria dos utilizadores inicia os nomes dos
directórios por maiúsculas e os dos ficheiros por minúsculas
53. Caminhos absolutos e relativos
Para qualquer comando relacionado com directórios e ficheiros, há
noções muito importantes: primeira, a de caminho (path);
segunda, a distinção entre caminhos absolutos e caminhos
relativos.
Os sistemas de ficheiros do Linux, tal como os do UNIX e de muitos
outros sistemas operativos, funcionam com base nos directórios
estruturados em árvore. Um caminho é como que uma descrição
de que caminho seguir para chegar a um determinado directório na
árvore, indicando, se necessário, por que directórios passar.
Vamos ver alguns exemplos, mas, antes disso, fica já com alguns
símbolos especiais que vão ser muito úteis:
54. Símbolo Significado
/ O directório-raiz, se colocado no início de um caminho.
Um separador, se colocado entre dois directórios ou entre um
directório e um ficheiro, significando "debaixo de" ou "sob".
Exemplo: /home/paulo.
. O directório actual. Alguns comandos exigem a designação
expressa do directório actual e aí podemos usar o ponto.
.. O directório acima do actual. Numa estrutura em árvore,
qualquer directório, excepto o raiz, tem apenas um directório
acima dele que pode ser designado pelos dois pontos.
~ O teu directório home, designado também de forma abreviada.
Ou seja, - é equivalente a /home/eu.
55. Referências
Nos caminhos em Linux, há sempre dois directórios que não
podem nem são confundidos com outros e servem sempre de
referência: o raiz ( / ) e o directório home ( ~) de cada utilizador.
Por mais longe que estejamos de qualquer um deles, chegamos
lá muito rapidamente ao indicar os seus símbolos.
56. Saber qual é o directório actual
A primeira coisa de que deves lembrar-te é que inicias sessão no teu
directório home, que, em princípio, deverá ser
/home/teu_nome_de_utilizador. O Linux, ao contrário do MS-DOS,
não tem por hábito mostrar no prompt o directório actual;
normalmente, ele tem o formato
nome_do_utilizador@nome_do_computador. Daí que um primeiro
comando útil seja o pwd (present working directory).
57. Listar o conteúdo de um directório
O comando usado para ver o conteúdo de um directório é o Is (list).
ls
Sintaxe
ls [opções] [nomes]
Opções:
-l — listagem longa, que mostra vários detalhes sobre os ficheiros e os
subdirectórios;
-a — mostra todos (all) os ficheiros, até os escondidos, cujos nomes começam
normalmente por um ponto;
--color — coloca cores nos nomes dos ficheiros para distinguir mais facilmente os
diferentes tipos - é uma opção desnecessária em muitas distribuições, que já o
fazem por defeito;
-f — listagem apenas pela ordem pela qual estão armazenados os objectos no
directório;
-p — marca os nomes dos directórios colocando uma / à frente do seu nome;
-r — inverte a ordem da ordenação;
-t — lista por ordem cronológica de criação/modificação dos objectos;
-u — lista por ordem cronológica do último acesso;
-R — lista também os conteúdos dos subdirectórios;
-S — ordena por tamanhos dos objectos.
NOTA: Na sintaxe, nomes pode indicar nomes de ficheiros ou de directórios.
58. Para obter uma listagem detalhada do conteúdo do directório actual,
basta escrever:
ls -l
Para obter uma listagem detalhada de um directório Jogos que
esteja situado sob o directório home, podemos escrever:
Is -I ~/Jogos
E se esse directório possuir subdirectórios cujo conteúdo também
queremos listar, escrevemos:
Is -I -R ~/Jogos
ou
Is -IR ~/Jogos
Para obtermos informação detalhada sobre um ficheiro carta1
que está no directório actual, escrevemos:
Is -I carta1