Você está na página 1de 36

Linux System

Administration

www.jotalinux.com.br

-2

Sumrio
Captulo 1
Primeiro captulo........................................................................................................................8
1.1. Objetivos ........................................................................................................................8
1.2. Introduo ......................................................................................................................9
1.3. Distribuies GNU/Linux .............................................................................................11
1.4. Caractersticas de Algumas Distribuies ...................................................................14
1.4.1. RedHat ...............................................................................................................................15
1.4.2. SuSe ...................................................................................................................................15
1.4.3. Mandriva ...........................................................................................................................15
1.4.4. Slackware ..........................................................................................................................16
1.4.5. Debian ...............................................................................................................................16
1.4.6. Ubuntu................................................................................................................................16
1.4.7. Fedora ................................................................................................................................17
1.4.8. OpenSuSe ..........................................................................................................................17
1.4.9. Knoppix...............................................................................................................................17
1.4.10. Gentoo .............................................................................................................................17

1.5. Entendendo a estrutura do Linux ................................................................................19


1.5. Diretrio Recomendado ...............................................................................................26
1.6. O diretrio /sys .............................................................................................................27
1.7. Diretrios Opcionais.....................................................................................................27
1.8. Comandos de Movimentao .......................................................................................28
Captulo 2 Comandos GNU/Linux...........................................................................................30
2.1. Objetivos.......................................................................................................................30
Captulo 3 - Comandos Parte 2 e Editor de textos VI
.................................................................................................................................................45
3.1. Objetivos.......................................................................................................................45
3.2. Editor de Texto VI (pronuncia-se viai).......................................................................50
3.2.1. O VI possui 3 modos de operao: ......................................................................................52

Captulo 4 - Inicializao do sistema Linux..............................................................................55


4.1. Objetivos .....................................................................................................................55
4.2. Processo de inicializao do Linux................................................................................56
4.3. Arquivo /etc/inittab.......................................................................................................57
4.4. Diretrio /etc/init.d........................................................................................................59
4.5. Prtica dirigida.............................................................................................................62

-3
4.6. Customizando os runlevels ..........................................................................................64
4.6.1. Comando chkconfig: ...........................................................................................................64
4.6.2. Comando update-rc.d: ........................................................................................................65

4.7. Arquivo /etc/fstab..........................................................................................................68


Captulo 5 - Dispositivos de bloco............................................................................................70
5.1. Objetivos ......................................................................................................................70
5.2. Dispositivos em Linux ..................................................................................................71
5.2.1. Explorando o /dev ...............................................................................................................71

5.1. Devices, UUID e Labels ................................................................................................77


5.1.1. Usando os dispositivos de armazenamento .......................................................................79

5.1. Criando Parties no HD ..............................................................................................81


5.1.1. Particionamento com FDISK ...............................................................................................81
5.1.2. Particionamento com CFDISK ............................................................................................83

5.2. Aplicando um Filesystem .............................................................................................84


5.3. Arquivos de Informaes de Filesystems .....................................................................86
5.4. Configuraes de Teclado no Console ..........................................................................87
5.5. Prtica Dirigida 1 .........................................................................................................87
5.6. Para aprofundar o assunto ..........................................................................................88
5.7. Prtica Dirigida 2 .........................................................................................................88
Captulo 6 - Gerenciamento de pacotes (instalao e remoo de programas).......................93
6.1. Objetivos:......................................................................................................................93
6.2. Gerenciador de pacote dpkg .......................................................................................94
6.3. APT-GET (aptitude) - Advanced Packaging Tool ...........................................................97
6.4. Gerenciamento de pacotes no Red Hat.......................................................................102
6.5. Gerenciamento de pacotes com o yum.......................................................................104
6.6. Compilando um programa disponibilizado como tar.gz ou tar.bz2. ...........................107
Captulo 7 Administrao de usurios e permisses Parte 1...............................................110
7.1. Objetivos :...................................................................................................................110
7.2. Introduo...................................................................................................................111
7.3. Permisses no Linux....................................................................................................122
Captulo 8 - Administrao de usurios e permisses parte 2............................................126
8.1. Objetivos ....................................................................................................................126
8.2. Prtica dirigida: Modelo de como aplicar o conhecimento de permisses no dia-a-dia
...........................................................................................................................................133
8.2.1. Fase de criao..................................................................................................................133
8.2.2. Permisso SGID BIT..........................................................................................................142
8.2.3. Permisso STICK BIT.........................................................................................................148

-4
8.2.4. Permisso SUID.................................................................................................................150

Captulo 9 - Compactadores e agendamento de tarefas .......................................................152


9.1. Objetivos.....................................................................................................................152
9.2. Agendadores de tarefas do GNU/Linux ......................................................................158
9.2.1. Agendador at.....................................................................................................................158
9.2.2. Crontab..............................................................................................................................159

Captulo 10 - Shell Script Parte 1...........................................................................................164


10.1. Objetivos:..................................................................................................................164
10.2. Introduo.................................................................................................................165
10.3. Conhecimentos bsicos.............................................................................................166
10.3.1. Crases..............................................................................................................................166
10.3.2. Variveis..........................................................................................................................167
10.3.3. Clculos em Shell Script - expr........................................................................................167
10.3.4. Trabalhando com parmetros .........................................................................................169

10.4. Estruturas Condicionais............................................................................................172


Captulo 11 Shell Script Parte 2..........................................................................................175
11.1. Objetivos:..................................................................................................................175
11.2. Introduo Shell Script..........................................................................................176
11.3. Case...........................................................................................................................178
11.3.1. Script exemplo para case: ..............................................................................................179

11.4. Estrutura de repetio o comando while .................................................................180


Captulo 12 - Processos .........................................................................................................183
12.1. Objetivo:....................................................................................................................183
12.2. Introduo.................................................................................................................184
12.3. Background e foreground ........................................................................................190
12.4. Prioridades de processos..........................................................................................193
12.5. Comandos complementares de processos.................................................................195
12.5.1. Comando fuser.................................................................................................................195
12.5.2. Comando nohup...............................................................................................................197

Captulo 13 - Mdulos............................................................................................................198
13.1. Objetivos :.................................................................................................................198
13.2. Exemplo de configurao da placa de som...............................................................208
13.3. Exemplo de configurao da placa de rede..............................................................210
13.4. Configurao do teclado...........................................................................................213
13.4.1. Teclado em modo texto. ..................................................................................................213

13.5. Configurao do mouse.............................................................................................218

-5
Captulo 14 Cotas de Disco...................................................................................................220
14.1. Objetivos:..................................................................................................................220
14.2. Introduo:................................................................................................................221
14.3. Prtica Dirigida.........................................................................................................221
Captulo 15 - LVM...................................................................................................................234
15.1. Objetivos:..................................................................................................................234
15.2. Introduo.................................................................................................................235
15.3. Prtica dirigida :.......................................................................................................237
15.4. Usando o LVM ..........................................................................................................239
15.5. Administrando o LVM ...............................................................................................240
15.6. Troubleshooting .......................................................................................................241
Captulo 16 - Rsyslog..............................................................................................................243
16.1. Objetivos...................................................................................................................243
16.1. Introduo terica.....................................................................................................244
16.1. Organizao do Rsyslog............................................................................................244
16.1. Facilidades do Syslog................................................................................................245
16.2. Nveis........................................................................................................................246
16.3. Destinos.....................................................................................................................246
16.4. Arquivos importantes ..............................................................................................247
16.5. Prtica dirigida.........................................................................................................247
16.5.1. Verificando os logs...........................................................................................................247
16.5.1. Logs Centralizados..........................................................................................................248
16.5.1. Rotao de Logs..............................................................................................................249

Captulo 17 - Configuraes de redes....................................................................................253


17.1. Objetivos:..................................................................................................................253
17.2. Introduo.................................................................................................................254
17.3. O arquivo hostname..................................................................................................255
17.4. O arquivo /etc/hosts .................................................................................................256
17.5. O arquivo interfaces (Debian)...................................................................................257
17.6. O arquivo /etc/resolv.conf..........................................................................................262
Captulo 18 - Wireless e NTP.................................................................................................264
18.1. Objetivos...................................................................................................................264
Introduo..........................................................................................................................265
18.2. Prtica Dirigida.........................................................................................................266
18.2.1. Compilao do mdulo da placa Wireless........................................................................266
18.2.2. Configurando uma rede wireless Ad-Hoc........................................................................268
18.2.3. Rede Wireless Managed - sem criptografia.....................................................................269

-6
18.2.4. Rede Wireless Managed - com criptografia WEP.........................................................270

18.3. NTP...........................................................................................................................272
Captulo 19 - Acesso remoto..................................................................................................278
19.1. Objetivos :.................................................................................................................278
19.2. Telnet TELetype NETwork......................................................................................280
19.2.1. Configurando o telnet num ambiente que usa inetd: ......................................................281

19.3. SSH - Secure SHell ..................................................................................................284


Captulo 20 Servidor X...........................................................................................................296
20.1. Objetivos ..................................................................................................................296
20.2. Introduo Terica ...................................................................................................297
20.3. Configurando o suporte Interface Grfica ............................................................297
20.4. Varivel de Ambiente DISPLAY ................................................................................299
20.5. Window Managers ....................................................................................................299
20.6. Display Managers ....................................................................................................300
20.7. Protocolo XDMCP .....................................................................................................300
20.8. Xnest ........................................................................................................................301
20.9. Prtica Dirigida .......................................................................................................301
20.9.1. Instalao e Configurao do Servidor X ........................................................................301
20.9.2. Instalando um Window Manager ....................................................................................305
20.9.3. Display Managers ...........................................................................................................307
20.9.4. Usando o Xnest ...............................................................................................................308
20.9.5. Servidor X Remoto ..........................................................................................................310

Captulo 21 - kernel................................................................................................................311
21.1. Objetivos :.................................................................................................................311
21.2. Como recompilar o kernel no Linux..........................................................................313
REFERNCIAS
BIBLIOGRFICAS..................................................................................................................321
ANEXOS.................................................................................................................................323
Primeiro anexo...................................................................................................................324
Tpico do Anexo ..........................................................................................................................324

ndice de tabelas
ndice de Figuras

-7

Primeiro captulo - 8

Captulo 1
Primeiro captulo

1.1. Objetivos
Descobrir o que GNU/Linux;
Entender a filosofia do Software Livre;
Conhecer um pouco da histria;
Entender o que so Distribuies;
Introduo ao Linux ;
Estrutura de Diretrios;

Primeiro captulo - 9

1.2. Introduo
Utilizar um sistema GNU/Linux muito mais do que optar por uma soluo
isenta de custos de licena. usufruir uma filosofia que antecedeu o software
proprietrio, e que permitiu, por exemplo, que a internet crescesse de forma aberta
como a conhecemos hoje. Como usurio de software livre, precisamos compreender
um pouco mais sobre essa ideologia e como ela promoveu o surgimento das vrias
distribuies.
O sistema GNU/Linux frequentemente chamado apenas pelo seu segundo
nome, Linux. Entretanto, essa designao no faz justia a todos os desenvolvedores
que vm desenvolvendo o sistema.
GNU, que um acrnimo recursivo de GNU's not Unix, um grupo que foi
fundado em 1984 por seu idealizador, Richard Stallman, com o intuito de criar um
sistema operacional Unix-Like. Sendo assim, diversos softwares passaram a ser
criados e mantidos pela comunidade que se formara, entretanto, havia um pedao de
cdigo essencial que ainda no tinha sido criado: o kernel.
Em 1991, um jovem finlands chamado Linus Torvalds disponibilizou para o
mundo a primeira verso do Linux, um kernel Unix-Like'. A partir desse ponto, foi
possvel unir o kernel - Linux - com os softwares GNU, originando o que chamamos
de GNU/Linux.
O mundo GNU/Linux no apenas um conjunto de programas mas tambm
uma filosofia de mundo livre e colaborativo, no qual as pessoas podem utilizar esses
softwares livremente e, acima de tudo, aprender com eles, uma vez que seu cdigo
fonte deve ser disponvel a todos que queiram melhor-lo ou apenas aprender com
ele. Para que esse mundo continue livre, Richard Stallman fundou a FSF - Free
Software Foundation, que mantm a licena chamada GNU GPL - GNU General
Public License.

Primeiro captulo - 10

liberdade 0 - liberdade para rodar o programa para quaisquer propsitos;


liberdade 1 - liberdade para estudar como o programa trabalha e adapt-lo
s suas necessidades. Ter acesso ao cdigo fonte essencial para isso.
liberdade 2 - liberdade de redistribuir cpias de forma que voc possa ajudar
outras pessoas.
liberdade 3 - liberdade para melhorar o programa e disponibilizar as
melhorias para o pblico, de forma que toda a comunidade possa se beneficiar disso.
Ter acesso ao cdigo fonte essencial tambm para isso.

Aps a criao dessa licena, vrias outras licenas, usando a filosofia de


copyleft, foram criadas com o objetivo de defender a liberdade do conhecimento,
informao e do cdigo aberto. Abaixo podemos ver alguns exemplos:

GFDL - GNU Free Documentation Licence (www.gnu.org/copyleft/fdl.html);


OPL - Open Publication License (http://www.opencontent.org/openpub/);
CC - Creative Commons (http://creativecommons.org/about/licenses);
BSD
Berkeley
(http://www.freebsd.org/copyright/license.html);

Software

Distribution

SPL - Sun Public Licence (http://java.sun.com/spl.html);

Atualmente a GPL est disponvel em trs verses, GPLv1, GPLv2 e GPLv3.


Fique por dentro de suas diferenas em: http://www.gnu.org/licenses/gpl.html
Para mais informaes a respeito do kernel - Linux - podem ser obtidas no site
oficial de seus mantenedores: http://www.kernel.org
A respeito do GNU e da FSF podem ser obtidas nos sites
http://www.gnu.org
http://www.fsf.org.

Primeiro captulo - 11

1.3. Distribuies GNU/Linux

Voc j deve ter ouvido falar em Debian, RedHat, Slackware, SuSe, Conectiva,
Mandrake, Ubuntu dentre outras. Mas, o que realmente isso? O que so todos
esses nomes? Todos esses nomes so o que chamamos de distribuies GNU/Linux.
Uma distribuio nada mais do que o kernel, Linux, softwares GNU e outros
aplicativos que so desenvolvidos por outras comunidades ou grupos.
Mas, por que tantas distribuies? Justamente porque se voc no se
identifica com nenhuma delas, voc livre para fazer a sua prpria. Ou seja, em
1993, um rapaz chamado Patrick Volkerding, juntou o kernel e vrios outros
aplicativos em uma distribuio chamada Slackware, que foi a primeira a ser
distribuda em CD. A partir desse ponto, foram surgindo diversas outras distribuies
que de alguma forma diferiam da filosofia do Slackware: como Debian ou RedHat,
por exemplo.

Primeiro captulo - 12

Ilustrao1:LinhadetempoGNU/Linux
Atualmente existem centenas de distribuies, algumas mais famosas que
outras. Em sua maioria, as distribuies GNU/Linux so mantidas por grandes
comunidades de colaboradores, entretanto, h outras que so mantidas por
empresas. Dessa forma, podemos dividir as distros, abreviao bastante utilizada na
comunidade e que se refere s distribuies, em duas categorias bsicas:
Livres
Corporativas

Primeiro captulo - 13
Distribuies Livres - mantidas por comunidades de colaboradores sem fins
lucrativos. Exemplos so: Debian, Ubuntu, Slackware, Gentoo, Knoppix e CentOS,
entre outras.
Distribuies Corporativas - mantidas por empresas que vendem o suporte
ao seu sistema. Exemplos so: RedHat, SuSe e Mandriva.
Neste ponto vale ressaltar o fato de que o produto vendido pelas empresas
que comercializam sistemas GNU/Linux, so na verdade, os servios relacionados ao
sistema vendido, como suporte tcnico, garantias e treinamentos, ou seja, o
conhecimento do sistema. O fato de o produto no ser mais o software, mas sim o
servio, devido Licena GPL que garante as j citadas quatro liberdades bsicas.
Com isso, por mais que uma empresa queira fazer o seu prprio sistema GNU/Linux,
enquanto ela estiver utilizando softwares registrados com GPL, sero obrigadas a
distribuir o cdigo fonte gratuitamente.
Dentro do conjunto de Distribuies Livres, podemos dividi-las novamente em
duas outras categorias:
Convencionais
Live
Distribuies Convencionais- so distribudas da forma tradicional, ou seja,
uma ou mais mdias que so utilizadas para instalar o sistema no disco rgido;
Distribuies Live - so distribudas em mdias com o intuito de rodarem a
partir delas, sem a necessidade de instalar no HD. As distribuies Live ficaram
famosas pois tm a inteno de fornecer um sistema GNU/Linux totalmente
funcional, de forma fcil e sem a necessidade de o instalar na mquina. O fator que
favoreceu essa abordagem que em uma distribuio Live praticamente todos os
componentes j vm configurados, funcionando e com interfaces agradveis aos
usurios finais. Exemplos desse tipo de distribuio so o Knoppix, do qual se
originaram diversas outras como Kurumin ou Kalango, que so verses brasileiras do
Knoppix,

Ubuntu,

bastante

difundido

atualmente.

Primeiro captulo - 14
Ainda para entender um pouco mais das distribuies, necessrio lembrar
de mais duas caractersticas:
From scratch
Provenientes (Baseadas)

Distribuies From Scratch - So desenvolvidas do zero, ou seja, utiliza um


kernel linux, alguns programas GNU e a grande maioria das suas particularidades
desenvolvida especficamete para ela. Exemplos:
Debian ;
RedHat;
Gentoo;
Slackware;
entre outras;

Distribuies Provenientes (Baseadas) - Aproveitam ferramentas e bases


j desenvolvidas por outras distribuies. Distribuies baseadas usam distribuies
from scratch para alcanar seus objetivos mais rpido, dando maior ateno para ao
propsito da distribuio. Exemplos: Ubuntu, DreamLinux, Kubuntu, Kurumin, Slax,
BrDesktop entre muitas outras.

1.4. Caractersticas de Algumas Distribuies


Ser mostrado a seguir a caracterstica de algumas distribuies. Voc pode
encontrar uma lista das distribuies existentes, bem como das estatsticas de
downloads, no site:
http://distrowatch.com

Primeiro captulo - 15

1.4.1.

RedHat

Tipo: corporativa;
Descrio: primeira distribuio corporativa a ser criada. Muito utilizada nas
empresas por oferecer suporte tcnico e ter seu sistema compatvel com as diversas
tecnologias disponveis;
Interface padro: GNOME;
Sistema de pacote: RPM - RedHat Package Manager;
Site oficial: http://www.redhat.com

1.4.2.

SuSe

Tipo: corporativa;
Descrio: Comprada pela Novell em 2003, a principal concorrente da
RedHat, atuando no meio corporativo tanto em servidores quanto em desktops.
Assim como a RedHat, possui parcerias com diversas empresas, a fim de manter seu
sistema compatvel com produtos de terceiros;
Interface padro: GNOME;
Sistema de pacote: baseado em RPM, mas no segue o formato da RedHat
risca, tendo implementado algumas variaes;
Site oficial: http://www.novell.com/linux

1.4.3.

Mandriva

Distribuio: corporativa;
Descrio: originada da fuso da Mandrake e Conectiva, especializada em
servios e projetos embarcados;
Interface padro: KDE;
Sistema de pacote: RPM;
Site oficial: http://www.mandriva.com

Primeiro captulo - 16

1.4.4.

Slackware

Distribuio: livre;
Descrio: primeira distribuio GNU/Linux a ser distribuda em CD,
considerada como sendo a primeira distribuio. Organizada por seu criador Patrick
Volkerding, caracteriza-se por sua filosofia de ser a distribuio mais ``Unix-Like'' do
mundo GNU/Linux.
Interface padro: KDE;
Sistema de pacote: tgz;
Site oficial: http://www.slackware.com

1.4.5.

Debian

Distribuio: livre;
Descrio: criada com o intuito de prover um sistema operacional
totalmente livre e gratuito, foi uma das primeiras distribuies GNU/Linux a serem
criadas. Atualmente uma das maiores distribuies e a que mais gerou
distribuies derivadas. Por ser uma referncia em sistemas GNU/Linux, a
distribuio mais utilizada em rgos pblicos e governos;
Interface padro: GNOME;
Sistema de pacote: DEB - Debian Package;
Site oficial: http://www.debian.org

1.4.6.

Ubuntu

Distribuio: livre (convencional e Live);


Descrio: com seu slogan Linux for Human Beings - voltada para o
usurio final, apesar de ter verso para servidores. Patrocinada pelo milionrio Mark
Shuttleworth , atualmente, a maior distribuio em nmero de downloads.
Interface padro: GNOME ou KDE (para Kubuntu);
Sistema de pacote: DEB - Debian Package;
Site oficial: http://www.ubuntu.com

Primeiro captulo - 17

1.4.7.

Fedora

Distribuio: livre;
Descrio: mantida pela RedHat, serve de teste para o carro chefe da
empresa, o RedHat Enterprise.
Interface padro: GNOME;
Sistema de pacote: RPM - RedHat Package Manager;
Site oficial: http://fedora.redhat.com

1.4.8.

OpenSuSe

Distribuio: livre;
Descrio: patrocinada pela Novell, baseia-se no SuSe Linux.
Interface padro: GNOME ou KDE;
Sistema de pacote: RPM;
Site oficial: http://en.opensuse.org

1.4.9.

Knoppix

Distribuio: livre (Live);


Descrio: distribuio Live que popularizou distribuies do gnero,
devido sua ferramenta de remasterizao que facilitou o processo de gerar novas
distribuies;
Interface padro: KDE;
Sistema de pacote: DEB;
Site oficial: http://www.knoppix.org

1.4.10.

Gentoo

Distribuio: livre (Live);


Descrio: Todos os programas so compilados na prpria mquina. As

Primeiro captulo - 18
principais vantagens so a performance e a personalizao conforme as necessidades
do usurio. A principal desvantagem o trabalho e tempo necessrios a sua
instalao.
Interface padro: A escolha do usurio;
Sistema de pacote: Emerge, cdigo fonte;
Site oficial: http://www.gentoo.org

Primeiro captulo - 19

1.5. Entendendo a estrutura do Linux


Como podemos ver na figura abaixo, o sistema operacional GNU/Linux pode
ser dividido em algumas layers:

Ilustrao2:EstruturadoSistema

Para entendermos melhor vamos descrever cada uma delas:


Hardware - Dispositivos que esto disponveis para o uso do sistema, tais
como cd-rom, placa de rede, controladora scsi entre outros;
Kernel - O ncleo do sistema operacional, essa layer quem faz todas as
interaes com o hardware da mquina, interpretando todas as requisies das
layers acima;
Sistema Operacional - Essa layer tem como funo auxiliar e abrigar todos
os aplicativos das layers superiores. Segundo Linux torvalds esse layer no deve ser
notada por um usurio leigo final;

Primeiro captulo - 20

ttyN - Terminais Virtuais aonde so executados comandos e seta-das


configuraes. As tty's interpretam os comandos dados por um humano e converte os
mesmos para uma linguagem que a mquina entenda;
DM - A Layer de Display Manager responsvel por gerenciar os logins na
interface grfica e escolher o tipo de ambiente grfico que deve ser executado;
Desktop Environment - Mais conhecido como gerenciador de janela,
responsvel por abrigar todos os programas que necessitam um gerenciador de
janelas, e por deixar o ambiente mais agradvel.

Primeiro captulo - 21

Quem j teve algum contato com o GNU/Linux, mesmo que superficial, deve
ter percebido a presena de vrios diretrios (pastas) no sistema. Entretanto, eles
esto organizados de uma forma talvez no muito familiar. Neste captulo, vamos
conhecer a organizao e explorar a estrutura de diretrios de um sistema
GNU/Linux.
Desde que o GNU/Linux foi criado, muito se tem feito para seguir um padro
em relao estrutura de diretrios. O primeiro esforo para padronizao de
sistemas de arquivos para o GNU/Linux foi o FSSTND - Filesystem Standard,
lanado no ano de 1994.
Cada

diretrio

do sistema

tem

seus

respectivos

arquivos

que

so

armazenados conforme regras definidas pela FHS - Filesystem Hierarchy

Standard, ou Hierarquia Padro do Sistema de Arquivos, que define que tipo de


arquivo deve ser guardado em cada diretrio. Isso muito importante, pois o padro
ajuda a manter compatibilidade entre as verses Linux existentes no mercado,
permitindo que qualquer software escrito para o GNU/Linux seja executado em
qualquer distribuio desenvolvida de acordo com os padres FHS.
Atualmente, o FHS est na sua verso 2.3, e mantido pelo Free Standard

Group, uma organizao sem fins lucrativos formada por grandes empresas como HP,
IBM, Red Hat e Dell.

A FHS estar bem esclarecida, afinal com ela que ns devemos fazer
nossas atividades do dia-a-dia
A estrutura de diretrios tambm conhecida como ``rvore de Diretrios''
porque tem a forma de uma rvore. Mas, antes de estudarmos a estrutura de
diretrios, temos que ter em mente o que so diretrios.
Um diretrio nada mais do que o local onde os arquivos so guardados no
sistema. O arquivo pode ser um texto, uma imagem, planilha, etc. Os arquivos devem
ser identificados por nomes para que sejam localizados por quem deseja utiliz-los.
Um detalhe importante a ser observado que o GNU/Linux case sensitive,
isto , ele diferencia letras maisculas e minsculas nos arquivos e diretrios.

Primeiro captulo - 22
Sendo assim, um arquivo chamado Arquivo diferente de ARQUIVO e
diferente de arquivo.

A rvore de diretrios do GNU/Linux tem a seguinte estrutura:

/
bin

cdrom

boot

dev

etc
home

lib

mnt

media

opt

proc
sbin

root

var

srv

tmp

usr

Da estrutura mostrada acima, o FHS determina que um sistema GNU/Linux


deve conter obrigatoriamente 14 diretrios, especificados a seguir:

/ (raiz)
Este o principal diretrio do GNU/Linux, e representado por uma ``/''
(barra). no diretrio raiz que ficam todos os demais diretrios do sistema.
Estes diretrios, que vamos conhecer agora, so chamados de subdiretrios
pois esto dentro do diretrio /.

/bin
O diretrio /bin guarda os comandos essenciais para o funcionamento do
sistema.
Esse um diretrio pblico, sendo assim, os comandos que esto nele podem
ser utilizados por qualquer usurio do sistema. Entre os comandos, esto:
bash;
ls;
echo;
cp;

Primeiro captulo - 23

/boot
No diretrio /boot esto os arquivos estticos necessrios inicializao do
sistema,

gerenciador

de

boot.

O gerenciador de boot um programa que carrega um sistema operacional


e/ou permite escolher qual ser iniciado.
/dev
No diretrio /dev ficam todos os arquivos de dispositivos. O Linux faz a
comunicao com os perifricos por meio de links especiais que ficam armazenados
nesse diretrio, facilitando assim o acesso aos mesmos.

/etc
No diretrio /etc esto os arquivos de configurao do sistema. Nesse
diretrio vamos encontrar vrios arquivos de configurao, tais como: scripts de
inicializao do sistema, tabela do sistema de arquivos, configurao padro para
logins dos usurios, etc.

/lib
No diretrio /lib esto as bibliotecas compartilhadas e mdulos do kernel . As
bibliotecas so funes que podem ser utilizadas por vrios programas.

Primeiro captulo - 24

/media
Ponto de montagem para dispositivos removveis, tais como:
cd;
dvd;
disquete;
pendrive;
cmera digital;

Fique atento: Agora o diretrio /media faz parte oficialmente das provas da
LPI

/mnt
Esse diretrio utilizado para montagem temporria de sistemas de arquivos,
tais como compartilhamentos de arquivos entre Windows e Linux, Linux e Linux, etc.

/opt
Normalmente, utilizado por programas proprietrios ou que no fazem parte
oficialmente da distribuio.

Primeiro captulo - 25

/sbin
O diretrio /sbin guarda os comandos utilizados para inicializar, reparar,
restaurar e/ou recuperar o sistema. Isso quer dizer que esse diretrio tambm de
comandos essenciais, mas os mesmos so utilizados apenas pelo usurio root.
Entre os comandos esto:
halt
ifconfig
init
iptables

/srv
Diretrio para dados de servios fornecidos pelo sistema cuja aplicao de
alcance geral, ou seja, os dados no so especficos de um usurio.
Por exemplo:
/srv/www (servidor web)
/srv/ftp (servidor ftp)

/tmp
Diretrio para armazenamento de arquivos temporrios. utilizado
principalmente para guardar pequenas informaes que precisam estar em algum
lugar at que a operao seja completada, como o caso de um download.

Enquanto no for concludo, o arquivo fica registrado em /tmp, e, assim que


finalizado, encaminhado para o local correto.

Primeiro captulo - 26

/usr
O diretrio /usr contm programas que no so essenciais ao sistema e que
seguem o padro GNU/Linux, como, por exemplo, navegadores, gerenciadores de
janelas, etc.

O diretrio /usr portvel, perceba que dentro dele, existe praticamente


uma outra arvore de diretrios independente da primeira, contendo, lib,
bin, sbin dentre outras coisas.

/var
O diretrio /var contm arquivos de dados variveis. Por padro, os programas
que geram um arquivo de registro para consulta, mais conhecido como log, ficam
armazenados nesse diretrio. Alm do log, os arquivos que esto aguardando em
filas, tambm ficam localizados em /var/spool.
Os principais arquivos que se utilizam do diretrio /var so :
mensagens de e-mail;
arquivos a serem impressos;

1.5. Diretrio Recomendado


/proc
O /proc um diretrio virtual, mantido pelo kernel, onde encontramos a
configurao atual do sistema, dados estatsticos, dispositivos j montados,
interrupes, endereos e estados das portas fsicas, dados sobre as redes, etc.
Aqui, temos subdiretrios com o nome que corresponde ao PID (Process ID)
de cada processo.
Dentro deles, vamos encontrar diversos arquivos texto contendo vrias
informaes sobre o respectivo processo em execuo.

Primeiro captulo - 27

1.6. O diretrio /sys


Pode-se dizer que esse diretrio um primo do diretrio /proc. Dentro do
diretrio /sys podemos encontrar o quase o mesmo contedo do proc, mas de uma
forma bem mais organizada para ns administradores.
Esse diretrio est presente desde a verso 2.6 do kernel e traz novas
funcionalidades o que se diz respeito a dispositivos PnP.

1.7. Diretrios Opcionais


Os diretrios /root e /home podem estar disponveis no sistema, mas no
precisam obrigatoriamente possuir este nome.
Por exemplo, o diretrio /home poderia se chamar /casa, que no causaria
nenhum impacto na estrutura do sistema.

/home
O /home contm os diretrios pessoais dos usurios cadastrados no sistema.

/root
Diretrio pessoal do superusurio root.

O root o administrador do sistema, e pode alterar a configurao (dele),


configurar interfaces de rede, manipular usurios e grupos, alterar a prioridade dos
processos, entre outras.
Dica: Utilize uma conta de usurio normal em vez da conta root para operar
seu sistema.

Uma razo para evitar usar privilgios root por causa da facilidade de se
cometer danos irreparveis como root; alm do que, voc pode ser
enganado e rodar um programa Cavalo de Tria (programa que obtm
poderes do super usurio) comprometendo a segurana do seu sistema sem
que voc saiba.

Primeiro captulo - 28

1.8. Comandos de Movimentao


Vamos aprender agora alguns
movimentao dentro do sistema.

comandos

essenciais

para

nossa

O comando pwd exibe o diretrio corrente. Ele muito til quando estamos
navegando pelo sistema e no lembramos qual o diretrio atual.

# pwd

O comando cd utilizado para mudar o diretrio atual de onde o usurio est.

Ir para o diretrio home do usurio logado:

# cd
# cd ~

Ir para o incio da rvore de diretrios, ou seja, o diretrio / :

# cd /

Ir para um diretrio especfico:

# cd /etc

Sobe um nvel na rvore de diretrios:

# cd ..

Primeiro captulo - 29

Retorna ao diretrio anterior:

# cd # ls

Entra em um diretrio especfico:

# cd /usr/include/X11

Sobe 2 nveis da rvore de diretrios

# cd ../../

Ateno! Note a diferena entre caminhos absolutos e relativos:


Absolutos: /etc/ppp; /usr/share/doc; /lib/modules
Relativos: etc/ppp; ../doc; ../../usr;

Fique esperto para conhecer as diferenas entre o . e o .. e o que eles


representam para o sistema. Os comandos de movimentao muitas vezes
so grandes alvos nas provas, uma boa interpretao desses comandos
pode ser necessria, pois voc pode precisar deles para resoler uma
questo maior.

Comandos GNU/Linux - 30

Captulo 2 Comandos GNU/Linux

2.1. Objetivos
Conhecer os comandos bsicos do sistema

Comandos GNU/Linux - 31
Uma coisa importante antes de mexer no Linux que ele Case Sensitive. Ou seja,
ele diferencia letras maisculas de letras minsculas. Ento, se eu tenho um arquivo
chamado:

teste.txt
Ele diferente do arquivo que chama:

Teste.txt

O Linux tem 2 tipos de comandos, os internos e os externos.

Os comandos internos so comandos que esto dentro do prprio Shell, que o


interpretador de comandos. So os comandos essenciais do sistema. A grande
vantagem dos comandos internos a velocidade, pois no precisam ser procurados
no disco rgido, nem criam processos. Exemplo de comando interno:

cd, alias

Comandos externos esto localizados em diretrios especficos no disco rgido,


como /bin e /sbin. Para um comando externo funcionar o Linux precisa consultar o
disco rgido. A maioria dos comandos Linux externa. Exemplo de comando externo:

ls, cp, rm, mv, mkdir, rmdir.

Mas como saber se um comando interno ou externo afinal?

Basta procur-lo no disco rgido!

Comandos GNU/Linux - 32
Dica para descobrir a localizao de um comando no disco rgido:

$ which comando
Exemplo:

$ which ls
/bin/ls
Se um usurio comum tentar descobrir a localizao de um comando do superusurio
(root), ele no vai descobrir, pois o comando which faz sua busca baseado em uma
varivel de ambiente chamada PATH.
Prtica: Crie um diretrio chamado "teste" em seu /home. Por exemplo /home/maria

$ cd /home/maria
$ pwd
/home/maria
$ mkdir teste

possvel criar um diretrio se estiver em outro diretrio, mas sera preciso indicar o
caminho completo onde ficar esse novo diretrio. Exemplo:

$ pwd
/tmp
$ mkdir /home/maria/teste

Dica: Pode usar a tecla TAB do teclado para auto-completar um comando,


assim no precisa ter que fica digitando ele todo.

$ mkd<TAB>

Comandos GNU/Linux - 33
Dica: Se esta no diretrio /home/maria e vai para o diretrio /tmp com:

$ cd /tmp
Se digitar o comando abaixo volta para o diretrio que estava antes:

$ cd Para ir direto para o home do usurio corrente sem colocar o caminho completo,
faa:

$ cd ~

A vantagem que no sera preciso mais digitar todo o caminho /home/maria para ir
at seu diretrio pessoal.
Crie os arquivos no diretrio teste, cada um chamado assim: arq1, arq2, arq3,
sessao1, sessao2 sessao3 sapo satisfao:

$ cd /home/maria/teste
$ pwd
/home/maria/teste
$ touch arq1
$ touch arq2
$ touch arq3
$ touch sessao1 sessao2 sessao3 sapo satisfacao
(Posso criar tudo numa linha de comando s)

Comandos GNU/Linux - 34
Para alterar a data e hora que esse diretrio foi criado, tambm usa-se o comando
touch. Por exemplo:

$ touch aniversario
$ touch -t 200809161940 aniversario
A opo -t para escolher o tempo que vamos alterar
200809161940 tem o seguinte formato AAAAMMDDHHHH
A - ano, M - mes, D - dia, H - hora

Como possvel criar um arquivo oculto no linux?

$ touch .arq4

E como pode visualiz-lo? Ser que o comando ls sozinho consegue listar


arquivos ocultos? necessrio passar algum parmetro?

$ ls -a
.arq4
Ok, se caso mudar de ideia e no for preciso mais deixar o arquivo oculto, use:

$ mv .arq4 arq4 (basta renomear o arquivo)

Para remover o arquivo:

$ rm arq4

Comandos GNU/Linux - 35
Para copiar um diretrio e seu contedo precisa usar o parmetro R com comando
cp:

$ cd /home/maria
$ pwd
/home/maria
$ cp -R teste /tmp
$ cd /tmp
$ ls
teste
$ cd teste
$ ls
arq1 arq2 arq3 sessao1 sessao2 sessao3 sapo satisfacao

O que so metacacteres?
So caracteres que possuem significado especial para o Shell. Os principais
metacaracteres so:

*
?
[] (listas)
[a-z] (listas)

Comandos GNU/Linux - 36

$ cd /home/maria/teste
$ ls
arq1 arq2 arq3 sessao1 sessao2 sessao3 sapo satisfacao
$ ls arq*
arq1 arq2 arq3
$ ls sess*
sessao1 sessao2 sessao3
$ ls *1
arq1 sessao1
Lista:
$ ls sessao[13]
sessao1 sessao3
$ ls sessao[1-3]
sessao1 sessao2 sessao3
[1-3] = [123]

Prtica:

Lembre que os arquivos que temos no diretrio so:


arq1 arq2 arq3 sessao1 sessao2 sessao3 sapo satisfacao
Liste apenas os arquivos que comeam com a letra "s", a segunda letra pode ser de
"a" at "e" e tem que terminar com a letra "o".

$ ls s[a-e]*o