1.2 – Organização de directórios e ficheiros 1.2.1 – A linha de comandos A linha de comandos Quando fazemos login no sistema, utilizando um username e uma password, o computador fica à espera das nossas ordens O dispositivo que tradicionalmente é usado para ordenar instruções ao computador é o teclado As interfaces com o utilizador baseadas nos comandos escritos pelo teclado são geralmente denominadas por “linha de comandos”, pois o utilizador escreve linhas de texto contendo comandos para o computador executar A linha de comandos A linha de comandos é constituída por uma mensagem inicial, denominada prompt, seguida de um cursor a piscar A prompt serve para nos avisar de que o sistema está à espera de ordens Por seu turno, o cursor serve para indicar a posição de escrita, onde aparecem os caracteres que são escritos no teclado. Exemplo: [user01@saturno] > A linha de comandos Neste exemplo, a prompt é constituída pelo texto «[user01@saturno]», que identifica o nome do utilizador (user01) e o nome do computador (saturno) O cursor é um bloco intermitente que aparece a seguir ao carácter «>» O texto que compõe a prompt pode variar de sistema para sistema e pode ser personalizado ao gosto de cada utilizador Em todos os exemplos que se seguem, parte-se sempre do princípio de que a prompt é constituída apenas pelo carácter «>» A linha de comandos Para usar a linha de comandos dentro do sistema de janelas X11, é necessário abrir uma ou várias janelas do tipo terminal ou consola Estas janelas apresentam uma prompt exactamente igual à que aparece na consola do sistema, quando o sistema de janelas X não está em funcionamento Se entrou directamente em ambiente gráfico, deverá escolher o programa «consola» do submenu de ferramentas do sistema que aparece no menu principal, situado no canto inferior esquerdo do ecrã A linha de comandos Alternativamente poderá usar a tecla direita do rato sobre o fundo do ecrã para accionar um menu onde pode lançar uma nova consola Para experimentar a linha de comandos, vamos escrever o comando «ls» (list statistics), que mostra a listagem dos ficheiros contidos numa directoria Para executar este comando, basta escrever simplesmente «ls» É importante reparar que o comando deve ser escrito em letras minúsculas, pois o sistema interpreta as letras maiúsculas de forma diferente Por exemplo, «Ls» ou «LS» seriam comandos inválidos A linha de comandos Fig. 1.3 – Uma janela de terminal, no sistema de janelas X11 A linha de comandos Depois de ter escrito esta palavra, é necessário confirmar o comando para que o mesmo seja executado, carregando numa das teclas ENTER ou RETURN Antes de carregar em RETURN, é possível utilizar um conjunto de teclas auxiliares, que são bastante úteis para editar e corrigir o texto escrito Algumas dessas teclas são apresentadas nos diapositivos seguintes A linha de comandos RETURN (ENTER) BACKSPACE Confirma / executa o comando em edição Apaga o carácter que se encontra atrás do cursor Apaga o carácter que se encontra sob o DELETE cursor Teclas direccionais Servem para movimentar o cursor ao longo da linha que está a ser editada CTRL-A CTRL-E Faz o cursor saltar directamente para o início da linha Faz o cursor saltar directamente para o fim da linha A linha de comandos CTRL-W CTRL-U Teclas direccionais CTRL-L CTRL-C Apaga a palavra atrás do cursor Apaga toda a linha Permitem recuperar os comandos que haviam sido escritos anteriormente Apaga todo o conteúdo do ecrã ou da janela de terminal usada Cancela o comando que estava a ser escrito. Também serve para interromper comandos em execução, caso estes estejam bloqueados A linha de comandos TAB Completa automaticamente o comando ou nome de ficheiro que estava a ser escrito CTRL-D Se for executado na início da linha, termina o interpretador de comandos e faz logout. Se for ou executado após ter uma palavra meio escrita, mostra TAB-TAB uma lista com todas as possibilidades para completar essa palavra CTRL-Z Congela o comando que estava em execução, mas não o termina: fica apenas parado até que o utilizador o mande continuar, com o comando «fg» CTRL-S Faz parar o ecrã (scroll) durante as listagens CTRL-Q Manda continuar as listagens (após CTRL-S) 1.2.2 – Listagens de ficheiros e directorias Listagens de ficheiros e directorias O comando «ls» apresenta uma lista com os ficheiros e subdirectórios existentes na directoria actual Listagens de ficheiros e directorias Existe um pseudónimo do comando «ls» com o nome «dir» O «dir» é equivalente ao «ls», mas é mais fácil de memorizar pelos utilizadores familiarizados com outros sistemas operativos Contudo, o comando original é o «ls» e por esse motivo deve ser utilizado preferencialmente Listagens de ficheiros e directorias Neste exemplo, a prompt que aparece antes do cursor, foi configurada para mostrar muita informação útil Os números 119 e 120 representam a quantidade de comandos que haviam sido executados anteriormente Em seguida está o nome do utilizador (fjp), o nome do computador em que estamos a trabalhar (zeus) e, por fim, a directoria actual de trabalho («~», que representa a directoria pessoal, designada por home, do utilizador fjp) O comando «ls» tem muitas opções, que permitem configurar o seu funcionamento. Listagens de ficheiros e directorias Por exemplo, a opção «-l» mostra uma listagem longa: Listagens de ficheiros e directorias Esta listagem é bastante mais longa e mais intrigante do que a anterior Na verdade, a listagem é demasiado extensa para caber integralmente no ecrã Para visualizar toda a informação, pode ser necessário utilizar as teclas <SHIFT+PgDn>, que fazem rolar a imagem do ecrã/janela para cima e para baixo Cada linha da listagem representa um ficheiro ou uma subdirectoria e contém informação organizada em várias colunas, que iremos analisar detalhadamente Listagens de ficheiros e directorias A última coluna mostra o nome dos ficheiros e subdirectórios A penúltima coluna contém a data em que os ficheiros foram criados ou foram modificados pela última vez Imediatamente antes da data, está a dimensão de cada ficheiro, medida em bytes A terceira coluna contém o nome do dono de cada ficheiro, que em geral corresponde ao utilizador que o criou Listagens de ficheiros e directorias Neste exemplo, estamos a visualizar a directoria pessoal do utilizador fjp, pelo que a maioria dos ficheiros lhe pertence O subdirectório «httpd» é a única excepção, pois pertence a um grupo com o mesmo nome (root) Listagens de ficheiros e directorias A coluna que está antes do dono dos ficheiros é um número inteiro que representa o número de links associado a cada ficheiro O significado deste número será analisado mais tarde No caso dos ficheiros, costuma ser sempre 1 e, no caso das directorias, está relacionado com a quantidade de subdirectorias contidas no seu interior Listagens de ficheiros e directorias A primeira coluna é a mais curiosa de todas, porque consiste numa série de letras «drwx» e traços «-» Esta coluna descreve as protecções de cada ficheiro e possui o nome técnico de modo Listagens de ficheiros e directorias O primeiro carácter do modo identifica o tipo de cada ficheiro: Letra Tipo de ficheiro d l Um ficheiro normal c b Dispositivos do tipo carácter e bloco Identificam ficheiros virtuais que estão associados a periféricos (portas série, portas paralelo, discos, etc.). Quando alguém escreve nesses ficheiros, a informação não é guardada em ficheiro algum: em vez disso, é enviada para o periférico associado. s p Representam sockets e pipes, que correspondem a ficheiros virtuais, utilizados para estabelecer comunicação entre diversas aplicações. Uma subdirectoria Um link, que corresponde a um apontador. Trata-se de um ficheiro que aponta para outro ficheiro. Listagens de ficheiros e directorias Os dois tipos mais frequentes são o «-» e o «d», pois os ficheiros normais e as subdirectorias constituem a esmagadora maioria dos ficheiros contidos no sistema Pelo contrário, os dispositivos «c» e «b» só costumam ser encontrados na directoria «/dev» Para melhor compreender a listagem anterior, vamos analisar as ocorrências «fact»e «fact.gz»: Listagens de ficheiros e directorias A linha «fact» começa com um carácter «d», o que significa que representa uma directoria O nome «fact» está relacionado com o tipo de informação contida no seu interior, pois a directoria é usada para guardar ficheiros de uma aplicação de facturação A linha «fact.tgz» começa com o carácter «-», o que significa que descreve um ficheiro normal Foi-lhe atribuído o nome «fact.tgz» porque guarda uma cópia comprimida de todos os ficheiros que