Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila LINUX, Notas de estudo de Estatística

LINUX - LINUX

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 17/07/2009

ricardo-petterle-1
ricardo-petterle-1 🇧🇷

5

(7)

11 documentos

1 / 72

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Sum´ario
1 Introdu¸ao ao sistema operacional Linux 1
1.1 Linux ............................................... 1
1.2 A hist´oria do Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Caracter´ısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Como ´e o Linux 5
2.1 Ligando seu computador com o Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Conta de usu´ario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Conectando-se ao sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Primeiros passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.1 Quem sou eu? Onde estou? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.2 Mudan¸ca de Senha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Exerc´ıcios ............................................. 8
3 Conceitos asicos 9
3.1 Arquivos.............................................. 9
3.2 Diret´orios ............................................. 10
3.3 Sintaxes .............................................. 11
3.4 Manipulando diret´orios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4.1 Criando e removendo diret´orios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.2 A ´arvore de diret´orios do Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 Manipulando arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5.1 Criando arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.5.2 Arquivos ocultos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.5.3 Copiando arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.5.4 Mudando o nome e o lugar de arquivos e diret´orios . . . . . . . . . . . . . . . . . . 19
3.5.5 Removendo arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5.6 Verificando o tipo de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5.7 Vendo o conte´udo de arquivos texto . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6 Permiss˜oes............................................. 20
3.6.1 Os tipos de permiss˜oes de acesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6.2 Alterando permiss˜oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6.3 Usando valores octais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.6.4 Estabelecendo as permiss˜oes padr˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.7 Links................................................ 23
3.8 Montando um sistema de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.8.1 mount........................................... 24
3.8.2 umount .......................................... 24
3.9 Exerc´ıcios ............................................. 26
4 Para saber mais 27
4.1 O Projeto de Documenta¸ao do Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.1 HOWTOs e mini-HOWTOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.2 Os livros LDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.3 As aginas de manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
i
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48

Pré-visualização parcial do texto

Baixe Apostila LINUX e outras Notas de estudo em PDF para Estatística, somente na Docsity!

Sum´ario

iv SUM ARIO´

Cap´ıtulo 1

Introdu¸c˜ao ao sistema operacional

Linux

Um Sistema Operacional (SO) ´e, basicamente, um conjunto de programas cuja fun¸c˜ao ´e gerenciar todos os recursos disponibilizados por um ou mais computadores. Assim, os programas (aplicativos) interagem com os usu´arios utilizando-se destes recursos. Entre as tarefas realizadas por um SO podemos citar:

  • Controlar os v´arios dispositivos eletrˆonicos ligados ao computador, tais como discos, impressoras, mem´oria, etc.
  • Compartilhar o uso de tais dispositivos e demais servi¸cos entre v´arios usu´arios ou programas como por exemplo arquivos ou impressoras em uma rede.
  • Fornecer controle de acesso e seguran¸ca aos recursos do sistema.

Os primeiros computadores desenvolvidos eram m´aquinas muito simples e por isto n˜ao possu´ıam um SO. Devido a esse fato, as tarefas que hoje s˜ao feitas pelos SO’s eram deixadas a cargo do programador, o que mostrava-se muito desconfort´avel. Atualmente, uma m´aquina sem um SO ´e inconceb´ıvel. Entre os mais utilizados hoje em dia, podemos citar: MS-DOS, Windows (95, 98, NT), Unix, Mac-OS e, claro, o Linux.

1.1 Linux

O que quer dizer Linux? Uma defini¸c˜ao t´ecnica seria: Linux ´e um kernel de sistema operacional de livre distribui¸c˜ao, gratuito, semelhante ao Unix. O kernel, ou n´ucleo, ´e a parte do SO respons´avel pelos servi¸cos b´asicos e essenciais dos quais as fer- ramentas de sistema e os aplicativos se utilizam. Entretanto, a maioria das pessoas usa o termo Linux para se referir a um SO completo, baseado no kernel Linux. Assim chegamos a uma outra defini¸c˜ao:

Linux ´e um sistema operacional de livre distribui¸c˜ao, semelhante ao Unix, constitu´ıdo por um kernel, ferramentas de sistema, aplicativos e um completo ambiente de desenvolvimento.

Outro termo muito empregado ´e distribui¸c˜ao, que consiste em um kernel Linux e uma cole¸c˜ao de aplicativos e ferramentas de sistema. Existem v´arias distribui¸c˜oes do Sistema Operacional Linux e a dife- ren¸ca entre cada uma delas encontra-se no conjunto de aplicativos e ferramentas de sistema, no programa de instala¸c˜ao, na documenta¸c˜ao e, por fim, na vers˜ao do kernel Linux. Dentre as principais distribui¸c˜oes Linux, podemos citar Red Hat, Debian, Slackware, Caldera e Conectiva, sendo esta ´ultima uma distri- bui¸c˜ao brasileira^1 que possui todos os m´odulos de instala¸c˜ao e toda a documenta¸c˜ao em portuguˆes. O Linux ´e o resultado do trabalho de milhares de colaboradores, universidades, empresas de software e distribuidores ao redor do mundo. Aliado a isso, o fato de ser um sistema aberto, de livre distribui¸c˜ao, vem

(^1) http://www.conectiva.com.br

1.3. CARACTER´ISTICAS 3

O Linux ´e um sistema operacional bastante atrativo n˜ao apenas por ser gratuito mas por outros motivos tamb´em. O fato de ser baseado nos sistemas operacionais Unix – sistemas considerados maduros, com mais de duas d´ecadas de desenvolvimento – contribuiu muito para a sua estabilidade e confiabilidade. Isto ´e, um Linux configurado corretamente n˜ao “trava”. Chegamos ent˜ao a outro fator muito importante em favor do sistema: o fato de poder ser configurado e adaptado segundo a necessidade de cada um (apesar de, muitas vezes, isso n˜ao ser uma tarefa simples). Muitos j´a devem ter ouvido algu´em dizer: “O meu Linux ´e melhor que o seu!” Al´em disso, pode-se instalar num computador o Linux juntamente com outro sistema operacional. Por exemplo, pode-se instalar Linux em uma m´aquina que j´a contenha Windows e utilizar os dois sistemas, sem que nenhum dado seja perdido. Ou seja, o Linux consegue acessar todos os arquivos usados no Windows.

4 CAP´ITULO 1. INTRODUC¸ AO AO SISTEMA OPERACIONAL LINUX˜

6 CAP´ITULO 2. COMO E O LINUX´

Diret´orio pessoal: Tamb´em denominado diret´orio home, ´e o diret´orio pessoal do usu´ario e reservado para que este armazene os seus arquivos;

A ´ultima informa¸c˜ao contida neste cadastro ´e o nome do programa executado quando o usu´ario se conecta ao sistema. Geralmente ´e o nome de um tipo interpretador de comandos. Um programa interpretador de comandos (shell) fornece uma interface (meio de comunica¸c˜ao) simples entre o usu´ario e o computador. Como um int´erprete que fica entre duas pessoas que falam l´ınguas diferentes, o shell situa-se entre o usu´ario e o kernel. Ele “diz” ao kernel para fazer o trabalho que o usu´ario solicitou, eliminando a necessidade deste ´ultimo ter que falar diretamente com o kernel em uma linguagem que ele entenda. O shell tamb´em ´e uma linguagem de programa¸c˜ao completa. Possui vari´aveis, constru¸c˜oes condicionais e interativas, e ambiente adapt´avel ao usu´ario. Existem v´arios tipos de shells sendo que os mais conhecidos s˜ao o Bourne Again Shell (bash) e o C Shell (csh). O shell preferido varia de usu´ario para usu´ario. Alguns preferem a sintaxe com caracter´ısticas mais avan¸cadas do bash enquanto que outros preferem a sintaxe mais estruturada do csh^3. No cap´ıtulo 5 veremos mais detalhes do bash.

2.3 Conectando-se ao sistema

A partir do momento em que o usu´ario obt´em uma conta, ele j´a pode se conectar (“logar”) no sistema. O processo de “login” ´e simples. Na tela da mensagem de sauda¸c˜ao, ap´os a palavra “login”, o usu´ario deve digitar o seu nome de usu´ario (username ou login), fornecido pelo administrador, e pressionar a tecla ENTER (ou RETURN):

Bem-vindo ao sistema Linux 2.2. login: joao Password:

O sistema aguardar´a, ent˜ao, que o usu´ario digite a sua senha^4 (password ) e pressione ENTER. Enquanto o usu´ario digita a senha, os caracteres que constituem-na n˜ao aparecem na tela por motivo de seguran¸ca. Fornecida a senha, o sistema consultar´a o cadastro de usu´arios procurando pelo nome de usu´ario fornecido para ent˜ao conferir a validade da senha digitada. Caso esta n˜ao seja a mesma do cadastro ou o nome de usu´ario fornecido n˜ao seja encontrado, uma mensagem de login inv´alido ser´a mostrada e o processo ser´a reiniciado:

Bem-vindo ao sistema Linux 2.2. login: joao Password: Login incorrect

login:

Se o nome de usu´ario (login) e senha forem v´alidos, o sistema inicilizar´a a execu¸c˜ao de um interpretador de comandos ou de um ambiente gr´afico e o usu´ario poder´a utilizar os aplicativos e os recursos computacionais disponibilizados pela m´aquina. O processo de login ter´a sido conclu´ıdo com sucesso se o usu´ario estiver vendo na tela o prompt do shell, em geral um “$”^5. Quando o usu´ario terminar o seu trabalho, ´e muito importante que este realize o processo de desco- nex˜ao. Por motivos de seguran¸ca, nunca se deve abandonar a m´aquina com uma conta “aberta”. Para realizar o processo de desconex˜ao basta digitar logout e pressionar ENTER.

$ logout

Bem-vindo ao sistema Linux 2.2. login:

(^3) Entretanto, para o uso de comandos mais comuns o tipo de shell usado n˜ao importa, pois a sintaxe ´e basicamente a mesma e as diferen¸cas s´o come¸cam a aparecer em aplica¸c˜oes mais avan¸cadas. (^4) A princ´ıpio, o usu´ario recebe uma senha criada pelo administrador do sistema. Contudo, est´a senha pode ser alterada pelo pr´oprio usu´ario. (^5) Como quase tudo no Linux, o prompt pode ser configurado. Veremos como fazer isso na se¸c˜ao 5.3.

2.4. PRIMEIROS PASSOS 7

Para realizar o processo de desconex˜ao no modo gr´afico, clique com o bot˜ao direito do mouse sobre qualquer ´area e escolha a op¸c˜ao Window Manager e em seguida Exit. A mensagem de sauda¸c˜ao aparece novamente, deixando a sistema dispon´ıvel para outro usu´ario. No pr´oximo cap´ıtulo, veremos o que podemos fazer uma vez “logados” no sistema.

2.4 Primeiros passos

Obtido sucesso no processo de login, o sistema executar´a o interpretador de comandos do usu´ario ou um ambiente gr´afico. No modo gr´afico os comandos ser˜ao digitados em um emulador de terminal. Cada ambiente possui um processo para a abertura. No Window Maker basta apertar o bot˜ao direito do mouse sobre qualquer ´area da tela e escolher no menu a op¸c˜ao XShells e em seguida XTerm. No modo texto, na tela ser´a mostrando o prompt, indicando que o usu´ario j´a pode digitar um comando:

$

O prompt pode ser constitu´ıdo ainda de informa¸c˜oes como nome de usu´ario, nome da m´aquina, diret´orio que em o usu´ario est´a trabalhando, etc... Na se¸c˜ao tian van Kaick[email protected]¿refvarprompt veremos como configur´a-lo. Por hora, adotaremos apenas o cifr˜ao ($). Ao se digitar um comando e teclar ENTER, o interpretador executar´a esse comando. A seguir veremos como descobrir quais informa¸c˜oes o sistema cont´em sobre a conta do usu´ario e sobre a m´aquina.

2.4.1 Quem sou eu? Onde estou?

O comando whoami^6 mostra o nome do usu´ario associado com a conta em uso. Por exemplo, caso o usu´ario joao execute esse comando, “joao” ser´a mostrado na tela seguido de um novo prompt:

$ whoami joao $

O comando hostname informa o nome da m´aquina que o usu´ario est´a operando. No exemplo abaixo, a m´aquina chama-se “cerebro”:

$ hostname cerebro $

O comando groups ´e usado para mostrar os grupos de usu´arios aos quais este usu´ario pertence. No exemplo abaixo, tais grupos s˜ao “estudantes” e “projeto”.

$ groups estudantes projeto $

Para obter v´arias informa¸c˜oes sobre a conta de um usu´ario qualquer – com exce¸c˜ao, evidentemente, da senha – usa-se o comando finger. Este comando requer como parˆametro o login de um usu´ario.

$ finger joao Login: joao Name: Jo~ao da Silva Directory: /home/joao Shell: /bin/bash Last login Wed Aug 25 17:05 on tty No mail. No Plan. $

(^6) “Who am I ?” ou “Quem sou eu?”

Cap´ıtulo 3

Conceitos b´asicos

Antes de prosseguirmos com outros comandos, o conhecimento de alguns conceitos b´asicos, tais como arquivos e diret´orios, se faz necess´ario. Retorne a este cap´ıtulo sempre que tiver d´uvidas pois os conceitos aqui apresentados s˜ao de grande importˆancia para o entendimento do resto do conte´udo da apostila.

3.1 Arquivos

Um arquivo representa um conjunto de informa¸c˜oes e ´e a unidade m´ınima de armazenamento de dados, quer seja em disco ou fita magn´etica. Ou seja, qualquer tipo de informa¸c˜ao (texto, imagem, som, etc... ) armazenada em um destes tipos de dispositivo eletrˆonico estar´a na forma de um ou mais arquivos. Cada arquivo possui, entre outras propriedades, um nome que o identifica e um tamanho que indica o n´umero de caracteres (bytes) que ele cont´em. Abaixo est˜ao alguns exemplos de nomes de arquivos:

carta Carta arquivo videoclip.mpg musica.mp copia_de_seguranca.tar.gz linux-2.2.13-SPARC.tar.gz

O Linux distingue letras mai´usculas de min´usculas. Assim, os dois primeiros exemplos, carta e Carta, constituem nomes de arquivos diferentes. O Linux tamb´em permite que nomes de arquivos sejam longos, com at´e mais de uma centena de caracteres. Como se pode notar, alguns dos nomes dos arquivos acima possuem um ou mais pontos (“.”). A seq¨uˆencia de caracteres, ap´os o ´ultimo ponto no nome do arquivo, ´e denomidada extens˜ao do arquivo e indica a natureza de seu conte´udo ou o aplicativo com o qual ele ´e utilizado. Arquivos n˜ao precisam, obrigatoriamente, possuir uma extens˜ao em seu nome. Isto ´e apenas uma conven¸c˜ao feita por usu´arios e desenvolvedores de aplicativos para facilitar a identifica¸c˜ao do conte´udo contido em um arquivo. Imagine um usu´ario tentando abrir um arquivo de som em um processador de texto. Certamente n˜ao conseguiria. E justamente para evitar esses enganos que as´ extens˜oes de arquivo s˜ao utilizadas. Por´em, nada impede que o nome de um arquivo n˜ao tenha nenhuma extens˜ao. A seguir temos algumas extens˜oes de arquivos muito comuns de serem encontradas:

txt Indica que o arquivo cont´em apenas texto (ASCII);

bak Indica que se trata de um arquivo de c´opia de seguran¸ca (backup);

old Arquivo cujo conte´udo fora atualizado e gravado em outro arquivo;

jpg Arquivo que cont´em uma imagem em formato jpeg;

mp3 Arquivo de som;

html Arquivo contendo hipertexto, que ´e encontrado nas p´aginas da Internet.

10 CAP´ITULO 3. CONCEITOS B ASICOS´

Existe uma enorme variedade de extens˜oes de arquivos. Deve-se lembrar que as extens˜oes s˜ao apenas uma conven¸c˜ao e n˜ao constituem uma regra. Assim, nada impede um usu´ario de dar uma extens˜ao txt (arquivo de texto) a um arquivo que contenha uma imagem. Apesar de isso n˜ao ser muito aconselh´avel

  • pois ele mesmo pode se confundir – a imagem pode ser visualizada normalmente, bastando-se utilizar o aplicativo correto, ou seja, aquele que interprete o conte´udo do arquivo como sendo dados de uma imagem.

3.2 Diret´orios

Um segundo conceito importante ´e o de diret´orio, muitas vezes tamb´em denominado pasta. Realmente, um diret´orio ´e muito semelhante a uma pasta de escrit´orio: ´e utilizado para se agrupar v´arios arquivos. Cada diret´orio ´e identificado por um nome, da mesma forma que arquivos^1. Extens˜oes podem ser utilizadas, mas geralmente n˜ao o s˜ao. Um diret´orio pode conter ainda, al´em de arquivos, outros diret´orios, que por sua vez tamb´em podem conter arquivos e diret´orios. Assim, surgem as hierarquias de diret´orios ou ´arvores de diret´orios. O diret´orio no topo de qualquer hierarquia de diret´orios, e que cont´em todos os outros diret´orios, ´e denominado diret´orio raiz e, ao inv´ez de um nome, ´e identificado pelo s´ımbolo “/” (barra). Assim, para identificar um diret´orio precisamos al´em do seu nome, os nomes de todos os diret´orios que o contˆem, at´e chegarmos ao diret´orio raiz.

A figura acima mostra uma ´arvore de diret´orios^2. Na figura, o diret´orio /home cont´em os subdiret´orios ftp, rildo, e julius; /dev cont´em fd0 e cua0 ; /usr cont´em bin, lib, man e local. Abaixo temos alguns exemplos do que ´e chamado de caminho absoluto de diret´orio, ou seja, especifica¸c˜ao do caminho desde o diret´orio raiz:

/ /etc /home/ftp /home/julius /proc /usr/local /usr/bin

S˜ao esses caminhos que identificam um diret´orio em uma hierarquia de diret´orios. Para identificarmos um arquivo, informamos a identifica¸c˜ao do diret´orio que o cont´em, seguido do nome deste arquivo. Por exemplo:

/home/julius/relatorio.txt /usr/local/musica.mp /etc/servidores.bak /carta.txt

Dependendo do shell utilizado, podemos evitar ter que escrever o caminho absoluto dos arquivos. O interpretador de comandos bash, por exemplo, nos permite as seguintes substitui¸c˜oes:

(^1) No Linux, um diret´orio ´e, na verdade, um tipo especial de arquivo. (^2) Os nomes dos arquivos contidos em cada diret´orio n˜ao s˜ao mostrados.

12 CAP´ITULO 3. CONCEITOS B ASICOS´

Neste exemplo, a op¸c˜ao “-F” faz com que o comando ls adicione um caracter ao nome de cada item de diret´orio, identificando o seu tipo. Diret´orios s˜ao identificados por uma barra (/). Arquivos comuns n˜ao tˆem nenhum caracter acrescentado ao seu nome. Logo, dentre os itens de diret´orio acima, Mail, artigos e cartas s˜ao diret´orios e Mailbox ´e um arquivo comum. Caso vocˆe deseje obter mais informa¸c˜oes sobre o ls, utilize o seguinte comando:

man ls

Para mudar de diret´orio, movendo-se na ´arvore de diret´orios, utilizamos o comando cd (Change Directory). cd recebe como argumento o nome de um novo diret´orio de trabalho, que pode ser um caminho absoluto ou relativo. Sua forma geral ´e a seguinte:

cd <nome do novo diret´orio de trabalho>

Caso o usu´ario quisesse mover-se para o subdiret´orio artigos, seria necess´ario digitar:

$ cd artigos $

Neste caso informamos um caminho relativo do diret´orio. Isso tamb´em poderia ser feito usando-se o caminho absoluto, do seguinte modo:

$ cd /home/joao/artigos $

Como vimos na se¸c˜ao 3.2, o shell pode nos facilitar essa tarefa. Poder´ıamos ter substitu´ıdo /home/joao pelo caracter “~” (til)^3 ou “.” (ponto). Neste caso, “~” e “.” coincidem, pois o diret´orio pessoal ´e o mesmo que o diret´orio de trabalho. Recapitulando, estando em /home/joao, qualquer um dos seguintes comandos teria o mesmo efeito, isto ´e, mudariam o diret´orio de trabalho para /home/joao/artigos.

cd artigos cd /home/joao/artigos cd ~/artigos cd ./artigos

Para verificar o resultado de qualquer um deles:

$ pwd /home/joao/artigos $

O comando cd pode ser usado para mudarmos para qualquer outro diret´orio da ´arvore de diret´orios desde que tenhamos permiss˜ao de acesso (veja a se¸c˜ao 3.6).

Experimente a seguinte seq¨uˆencia de comandos:

cd / pwd ls cd /home pwd ls cd /etc pwd ls cd pwd ls cd ~ pwd ls (^3) Aqui, supomos que estamos conectados com o login joao.

3.4. MANIPULANDO DIRET ORIOS´ 13

Note que os dois ´ultimos comandos cd retornam ao diret´orio pessoal do usu´ario. O comando cd sem um nome de diret´orio tamb´em leva ao diret´orio pessoal.

Todo diret´orio possui uma entrada (item) com o nome “..”^4 que faz referˆencia ao diret´orio anterior^5 , isto ´e, o “pai” do diret´orio atual. Assim, o comando

cd ..

muda o diret´orio de trabalho para o diret´orio um n´ıvel acima na hierarquia de diret´orios.

$ pwd /home/joao $ cd .. $ ls $ pwd /home $

Para retornar ao diret´orio de trabalho anterior, utilize o comando “cd -” (“cd menos”):

$ cd $ pwd /home/joao $ cd /bin $ pwd /bin $ cd - $ pwd /home/joao $

3.4.1 Criando e removendo diret´orios

Se quisermos criar um novo diret´orio chamado trabalhos no diret´orio pessoal do Joao, devemos usar o comando mkdir (Make Directory):

$ pwd /home/joao $ ls Mail Mailbox artigos cartas $ mkdir trabalhos # cria o diret´orio $ ls Mail artigos cartas trabalhos Mailbox $ cd trabalhos $ pwd /home/joao/trabalhos $

Poder´ıamos ter criado o novo diret´orio com qualquer um dos comandos abaixo, pois o resultado seria o mesmo.

mkdir ./trabalhos mkdir /home/joao/trabalhos mkdir ~/trabalhos

(^4) Lˆe-se “ponto ponto”. (^5) O diret´orio hierarquicamente superior ao atual na ´arvore de diret´orios.

3.4. MANIPULANDO DIRET ORIOS´ 15

/proc ´e um diret´orio cujos dados s˜ao armazenados na mem´oria e n˜ao em disco. Nele encontramos “arquivos” com a configura¸c˜ao atual do sistema, dados estat´ısticos, dispositivos j´a montados, in- terrup¸c˜oes, endere¸cos e estados das portas f´ısicas, dados sobre a rede, processador, mem´oria, etc. Al´em disso, cont´em subdiret´orios com informa¸c˜oes detalhadas sobre o estado de cada programa em execu¸c˜ao na m´aquina.

/sbin Execut´aveis e ferramentas para a administra¸c˜ao do sistema (para uso do superusu´ario).

/tmp Local destinado aos arquivos tempor´arios. Observe a duplicidade aparente deste diret´orio com o /var/tmp. Na realidade o /tmp, em geral, tem os dados apagados entre uma sess˜ao e outra, enquanto que o /var normalmente fica com os dados salvos por mais tempo. Programas executados ap´os o boot do sistema devem preferencialmente usar o diret´orio /var/tmp, que provavelmente ter´a mais espa¸co dispon´ıvel.

/usr Cont´em arquivos de comandos, programas, bibliotecas, manuais, e outros arquivos est´aveis, isto ´e, que n˜ao precisem ser modificados durante a opera¸c˜ao normal do sistema. O Linux possibilita ao administrador da rede instalar aplicativos no /usr de apenas uma m´aquina e compartilhar esse diret´orio com outras m´aquinas da rede.

/var Cont´em em geral os arquivos que sofrem modifica¸c˜oes durante a sess˜ao, bem como arquivos tem- por´arios. Cada m´aquina possui o seu pr´oprio diret´orio /var (n˜ao ´e compartilhado em rede).

Alguns destes diret´orios ser˜ao abordados mais detalhadamente a seguir.

O Diret´orio /etc

O diret´orio /etc , como j´a mencionamos anteriormente, possui arquivos relacionados com a configura¸c˜ao dos v´arios aspectos do sistema. Muitos programas n˜ao-padronizados pelas distribui¸c˜oes de Linux tamb´em se utilizam desse diret´orio para colocar seus arquivos de configura¸c˜oes gerais. Configura¸c˜oes espec´ıficas para cada usu´ario residem freq¨uˆentemente no diret´orio pessoal (home)^9 de cada um. Estes s˜ao alguns dos principais arquivos do /etc:

/etc/passwd Este arquivo constitui uma base de dados (contas) com informa¸c˜oes dos usu´arios que podem logar no sistema. Tem um formato de sete campos, separados pelo caracter “:” (dois pontos) e sempre na mesma ordem: nome de login do usu´ario; senha criptografada (codificada); id do usu´ario, grupo prim´ario deste usu´ario; nome completo ou descri¸c˜ao da conta; diret´orio pessoal do usu´ario; e shell inicial. Para mostrar melhor como s˜ao estes valores, abaixo temos um exemplo de uma linha deste arquivo:

maria:gfTMTkLpLeupE:500:100:Maria da Silva:/home/maria:/bin/bash

Quando estamos utilizando shadow password 10 , o segundo campo ´e substituido por um “*” e a senha ´e armazenada em outro arquivo, normalmente acess´ıvel somente ao administrador do sistema.

/etc/group Define os grupos aos quais os usu´arios pertencem. Cont´em linhas da forma:

:::<lista de usu´arios>

Um usu´ario pode pertencer a qualquer n´umero de grupos e herdar todas as permiss˜oes de acesso a arquivos desses grupos. Opcionalmente um grupo pode ter uma senha – codificada no campo senha. O ID do grupo ´e um c´odigo como o ID do usu´ario no arquivo /etc/passwd. O ´ultimo campo ´e uma lista com os nomes (logins) separados por v´ırgulas, de todos os usu´arios que pertencem a este grupo.

/etc/fstab Este arquivo cont´em uma tabela de parˆametros para a montagem (inclus˜ao) de sistemas de arquivos de discos (r´ıgidos, CD-ROMs, disquetes, de rede) na ´arvore de diret´orios. Tamb´em ´e ´util para determinar quais deles ser˜ao montados automaticamente durante o boot, e quais dever˜ao ser montados apenas quando os seus diret´orios s˜ao visitados. (^9) /home/<nome do usu´ario> (^10) Software que evita o acesso `as senhas criptografadas dos usu´arios.

16 CAP´ITULO 3. CONCEITOS B ASICOS´

/etc/inittab Tabela com configura¸c˜oes de inicializa¸c˜ao de diversos programas.

/etc/issue Cont´em a mensagem de sauda¸c˜ao – ou outras informa¸c˜oes – apresentadas aos usu´arios antes do processo de login.

/etc/motd O conte´udo deste arquivo ´e exibido imediatamente ap´os um processo de login bem-sucedido, e antes do shell ser executado. motd significa “Message of the Day”, ou “Mensagem do Dia”.

/etc/mtab Tabela dos dispositivos que se encontram montados. O seu formato ´e semelhante ao do /etc/fstab. Note que este arquivo ´e modificado dinamicamente `a medida que montamos ou desmon- tamos sistemas de arquivos.

/etc/printcap Banco de dados com as capacidades (habilidades) das impressoras.

/etc/termcap Banco de dados com as capacidades dos terminais. Atualmente o banco de dados mais usado para esse fim ´e o terminfo. Os dados contidos nestes bancos de dados referem-se a sequˆencias de controle para realizar opera¸c˜oes com a tela (limpeza, movimenta¸c˜ao do cursor, etc), bem como quais sequˆencias de eventos de teclas s˜ao enviados quando uma tecla especial – por exemplo HOME, INSERT, F1 – ´e pressionada.

Al´em destes, existem outros arquivos presentes em /etc, como arquivos de configura¸c˜ao de ambiente de rede, entre eles: hosts, hosts.deny, hosts.allow, host.conf, exports, networks, etc... Como podemos ver, no Linux as configura¸c˜oes do sistema s˜ao vis´ıveis (textos), o que nem sempre ocorre em outros sistemas operacionais. Por esta raz˜ao diz-se que administrar um sistema Linux ´e manipular corretamente arquivos texto.

O Diret´orio /usr

O diret´orio /usr ´e geralmente grande, uma vez que muitos programas s˜ao instalados nele. Todos os arquivos deste diret´orio vˆem da distribui¸c˜ao Linux e geralmente s˜ao compartilhados na rede, enquanto que programas localmente instalados s˜ao armazenados em /usr/local. Isto faz com que seja poss´ıvel atualizar o sistema para uma nova vers˜ao de distribui¸c˜ao ou mesmo uma nova distribui¸c˜ao sem que seja necess´ario instalar todos os programas novamente. Os principais subdiret´orios do /usr est˜ao listados abaixo:

/usr/local Softwares instalados localmente – que n˜ao s˜ao compartilhados de outra m´aquina da rede – e outros arquivos e softwares que n˜ao vˆem com a distribui¸c˜ao utilizada.

/usr/X11R6 Arquivos do X Window System, o sistema gr´afico de janelas. Para simplificar o seu desenvolvimento e instala¸c˜ao, os arquivos do X n˜ao s˜ao integrados com o resto do sistema.

/usr/bin Comandos dos usu´arios. Alguns outros comandos est˜ao em /bin ou /usr/local/bin (veja /usr/local).

/usr/sbin Comandos para administra¸c˜ao do sistema (utilizados apenas pelo administrador).

/usr/man, /usr/info, /usr/doc P´aginas de manual, documentos GNU info e outros arquivos de do- cumenta¸c˜ao diversa, respectivamente.

/usr/include Arquivos de cabe¸calho para programas em linguangem C.

/usr/lib Arquivos de dados imut´aveis, incluindo alguns arquivos de configura¸c˜ao.

O Diret´orio /var

O diret´orio /var cont´em dados que s˜ao alterados quando o sistema est´a operando normalmente. ´E espec´ıfico para cada sistema, ou seja, n˜ao deve ser compartilhado com outras m´aquinas em uma rede.

/var/catman Algumas p´aginas de manual s˜ao armazenadas em /usr/man e vˆem numa vers˜ao pr´e- formatada. Outras p´aginas de manual precisam ser formatadas quando s˜ao acessadas pela primeira vez. A vers˜ao formatada ´e ent˜ao armazenada em /var/man e o pr´oximo usu´ario a acessar a essa p´agina n˜ao ter´a que esperar pela formata¸c˜ao. O arquivo /var/catman guarda informa¸c˜oes sobre as p´aginas que foram formatadas recentemente (cache).