Buscar

Manual Linux System Nível - 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 241 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 241 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 241 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 1 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 2 
 
mailto:contato@mcury.com.br
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 3 
 
Características do Linux System Administrator 
 
O curso de Linux System Administrador prepara o aluno para os exames 117-101 e 117-102, que 
fazem parte do programa de certificação LPIC-1, oferecido pelo Linux Professional Institute (LPI). O conteúdo 
do curso é sincronizado com os objetivos listados por tópicos no site www.lpi.org e seu conteúdo pode ser 
encontrado em nosso site: www.mcury.com.br. 
 
O foco do curso se estende às tarefas administrativas de sistema, como abaixo: 
 
 Montar o melhor Layout de particionamento em um servidor; 
 Instalar distribuições Linux; 
 Entender e manter a integridade dos sistemas de arquivos e diretórios do sistema; 
 Instalar, consultar e remover programas em diferentes plataformas Linux; 
 Administrar contas de usuários e grupos; 
 Criar, personalizar e fazer uso de scripts ou programas úteis para o administrador; 
 Manipular serviços de sistema e seus níveis de execução; 
 Criar a melhor estratégia de armazenamento de arquivos para serviços, usuários e grupos; 
 Criar estratégias de backups; 
 Entender e usar a documentação disponível no sistema e online; 
 Configurar, compilar e instalar o Kernel Linux na distribuição, assim como os seus módulos; 
 Entender a linguagem SQL; 
 Administrar serviços de interface gráfica; 
 Configurar interfaces de rede, roteamento e DNS em clientes; 
 Entender e usar um Agente Transmissor de E-mails; 
 Criar filtros de pacotes de rede no Firewall. 
 
O objetivo deste material didático é auxiliar o aprendizado do aluno sobre a matéria ministrada pelo 
instrutor em sala de aula. Quaisquer dúvidas podem ser tiradas com o mesmo em sala de aula. 
 
 
 
Sejam bem-vindos a M.Cury e ao GNU/Linux!!! 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
http://www.lpi.org/
http://www.mcury.com.br/
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 4 
 
Índice: 
 
Tópico Página 
 
1- CONCEITOS 05 
2- PROGRAMAS E COMANDOS BÁSICOS 12 
3- DISCOS E PERMISSÕES 23 
4- GERENCIAMENTO DE PACOTES 27 
5- INSTALAÇÃO DO SISTEMA OPERACIONAL 37 
6- O SHELL 41 
7- DOCUMENTAÇÃO NO LINUX 46 
8- COMANDOS DE CONTEÚDO 50 
9- EXPRESSÕES REGULARES 64 
10- USUÁRIOS E GRUPOS 71 
11- PERMISSÕES 85 
12- SISTEMA DE ARQUIVOS 89 
13- LINKS 103 
14- COMANDOS DE BUSCA 104 
15- RAID 107 
16- BACKUP E COMPACTAÇÃO 113 
17- AGENDAMENTO DE TAREFAS 121 
18- COTAS DE ARMAZENAMENTO 126 
19- GERENCIAMENTO DE PROCESSOS E INICIALIZAÇÃO 132 
20- KERNEL 144 
21- GERENCIADORES DE BOOT 155 
22- COMPILAÇÃO DE PACOTES E BIBLIOTECAS 162 
23- SHELL SCRIPT 166 
24- REDES EM LINUX 184 
25- CLIENTES DE SERVIDORES LINUX 197 
26- SERVIDOR DE LOGS 203 
27- SUPERSERVIDORES 207 
28- TCP WRAPPERS 209 
29- SSH 210 
30- SINCRONIZAÇÃO DE DATA E HORA 214 
31- SERVIDOR X 217 
32- SERVIÇO DE IMPRESSÃO 224 
33- LINGUAGEM SQL 227 
34- MTA 230 
35- FIREWALL IPTABLES 234 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 5 
 
1 - CONCEITOS 
 
 
Antes de começar a administrar sistemas operacionais Linux, é preciso ter alguns conceitos bem 
fundamentados: 
 
1.1 – O projeto GNU 
 
 Este projeto surgiu em 1984 (criado por Richard Stallman) e, 
desde este momento, teve como objetivo a criação de softwares 
livres baseados em sistemas operacionais Unix. O nome GNU vem de 
“GNU is Not Unix”, e não somente do nome do animal Gnu, como 
muitos pensam. Este projeto é o responsável por desenvolver alguns 
softwares muito conhecidos pelo público que utilizam sistemas open-
source, como GIMP e GNOME, por exemplo. 
 É importante ressaltar que Linux também não é GNU, mas 
que os sistemas operacionais Linux utilizados hoje em dia podem 
tranquilamente ser chamados de GNU/Linux. Este fato se explica 
porque o que se aplica do projeto GNU em sistemas operacionais 
GNU/Linux é apenas a estrutura de arquivos e diretórios, o núcleo 
aplicado foi desenvolvido por Linus Torvalds (que não tem nada a ver com o projeto) e, desde então, vem sendo 
aplicado em conjunto com sistemas operacionais GNU. 
 
1.2 - A GPL 
 
A FSF (Free Software Foundation) criou como parte do projeto GNU, a GPL (General Public License, ou 
Licença Pública Geral), para que houvesse um padrão de licenciamento para os softwares livres a serem 
desenvolvidos a partir do fim da década de 80. O desenvolvedor da GPL foi Richard Stallman. 
Ela é baseada em quatro liberdades: 
 
Execução do software (liberdade nº 0); 
Estudo do software (liberdade nº 1); 
Distribuição do software (liberdade nº 2); 
Aperfeiçoamento do software (liberdade nº 3). 
 
Como integrantes da lista de softwares baseados em GPL (os chamados “open-source”) estão sistemas 
operacionais como FreeBSD, OpenSolaris e IBM-AIX (que são baseados em Unix), Debian, Red Hat, Slackware e 
Suse, que funcionam sobre Kernel Linux. 
 
1.3 – Open Source x Free 
 
Ser open-source não significa ser grátis. Empresas como a Red Hat e a Novell cobram pelo suporte de 
seus produtos Red Hat Enterprise e Suse Linux Enterprise, respectivamente. 
O motivo de se poder cobrar pelo suporte de produtos é que, sobre isso, não se opõe a GPL, já que o 
Kernel continua sendo Linux (cujo código fonte pode ser facilmente encontrado em www.kernel.org para 
download) e as outras liberdades continuam garantidas ao usuário. 
Existem sim alguns exemplos de “distribuições” que, além de ser open-source, são também “free” e 
são excelentes opções para servidores e (ou) desktops. Exemplos bem claros disso são as distribuições Debian, 
Ubuntu, CentOS e Fedora. 
 
Para maiores detalhes sobre a GPL, pode-se consultar a URL www.gnu.org/licenses. 
 
http://www.kernel.org/
http://www.gnu.org/licenses
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 6 
 
1.4 - O Linux e as Distribuições 
 
Criado pelo até então universitário Linux Torvalds em Helsinki 
(Finlândia), o Linux surgiu de um estudo de uma versão reduzida de kernel Unix 
(o Minix) em um projeto de faculdade. 
A primeira versão do Kernel foi lançada em 1991 e, a partir daí, este 
kernel Linux começou a ser utilizado por diversas distribuições open-source. 
As distribuições mais significativas são: 
Debian, Red Hat, Suse, Slackware, Gentoo, Arch Linux, Mandriva, 
Ubuntu, CentOS e Fedora. 
Algumas “distribuições” se originaram de outras, pois é bem mais 
prático e coerente desenvolver uma grande solução em cima de outra que já 
funcione muito bem nos mesmos padrões desejados. 
Exemplos: 
 
Ubuntu e Kubuntu são baseadas em Debian. 
 
 
O Ubuntu (que tem como diferença para o Kubuntu apenas o fato de utilizar GNOME enquanto o 
KUBUNTU usa KDE como interface gráfica) tem se destacado muito no cenário Desktop (usuário final) por sua 
fácil usabilidade, efeitos de interface gráfica, suporte nativo a sistemas de arquivos NTFS e FAT16/32, drivers 
para inúmeras impressoras e scanners, etc. Por este motivo, vem sendo adotado como principal distribuição 
Linux para Desktops. Sua versão Server também tem sido largamente utilizada por empresas e estudiosos na 
área de TI. 
 O Debian já é um sistema operacional muito mais focado em aplicações para servidores e é preferido 
pela maioria dos estudantesde especialistas em Linux pelo fato de ele ser 100% free e de ter o modo de 
instalação CORE, que não carrega nenhum tipo de aplicação além do próprio sistema básico, o que quer dizer 
que o sistema fica totalmente “cru” para que o próprio administrador escolha, efetivamente, que tipo de papel 
ele vai desempenhar como servidor de rede. 
 
Mandriva*, Fedora e CentOS são baseados no Red Hat. 
 
 
Assim como o Ubuntu, o Fedora tem se destacado em aplicações que dizem respeito ao usuário final e 
é uma excelente distribuição para este fim. 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 7 
 
O CentOS se destaca pala sua função de servidor Red Hat 100% free, pois a Red Hat cobra suporte ao 
seu sistema operacional Red Hat Enterprise e a versão free deste sistema operacional não existe mais. 
Quando se diz que uma distribuição é baseada na outra, não quer dizer que seja a mesma coisa, mas 
sim que a construção de uma se baseou em um projeto já pronto da outra. 
Algumas diferenças entre sistemas operacionais baseados em Debian e em Red Hat são bem evidentes, 
como a instalação e o gerenciamento de pacotes instalados, a estrutura de diretórios e os arquivos de 
configuração. 
Podemos afirmar, então, que o Linux se resume ao kernel que é instalado em sistemas operacionais 
open-source que assim o desejarem. 
Outra consideração importante é que, por se tratar de um sistema que o usa o mesmo modelo POSIX 
do Unix, não haverá muitas barreiras para o administrador Linux experimentar sistemas operacionais como 
FreeBSD, Solaris, SunOS, etc. Alguns comandos e diretórios são simplesmente os mesmos. 
Algumas distribuições são protegidas pelas leis de Copyright, caso de Suse Enterprise e Red Hat 
Enterprise. 
 
*O Mandriva originou da fusão das empresas Mandrake e Conectiva. 
 
 
 
1.5 – O Kernel Linux 
 
O papel do kernel para uma distribuição é fundamental, pois é ele que provê o suporte a recursos de 
software e hardware necessários para o funcionamento do mesmo. O exemplo clássico disto é que, em alguns 
servidores, os administradores têm o costume de reconfigurar, recompilar e reinstalar o kernel para tirar mais 
proveito de recursos de um processador específico ou até habilitar o modo PAE para que um sistema 
operacional de 32 bits possa operar com mais de 4 GB de memória RAM. 
Os comandos do Linux dependem que exista algum 
programa que os interprete, assim como o este 
interpretador (Shell) precisa que algum Kernel interaja 
entre ele e o Hardware existente. Um grande exemplo disso 
é que se o kernel não der suporte a placas de rede Wireless, 
não adiantará nada o administrador tentar usar o comando 
iwconfig, pois não haverá suporte ao hardware de rede sem 
fio para manipulá-lo 
Um kernel pode ser classificado de 2 formas: 
Monolítico: carrega todos os recursos de que 
precisa na própria imagem de boot do kernel. 
Modular: carrega grande parte dos recursos de 
kernel em módulo que podem ou não ser carregados após o 
boot do sistema. A maioria dos sistemas operacionais 
prefere trabalhar com kernel modular. 
Estas definições podem ser feitas quando o 
administrador configura e compila o kernel. 
 
Versões do kernel 
A nomenclatura de uma versão de kernel segue o padrão abaixo: 
<versão maior>.<versão menor>.<compilação/patch>.<versão extra> 
 
Por definição, um kernel era considerado instável (ainda em desenvolvimento) quando a sua versão 
menor fosse ímpar, mas, desde 2004, com o lançamento da versão 2.6, isto não é mais aplicado. O que 
acontece agora é que, quando for preciso alterar parâmetros de segurança e suporte a dispositivos e 
tecnologias , as alterações serão preferencialmente feitas no terceiro campo e, quando houver a necessidade 
de um conjunto massivo de alterações, a segunda versão será afetada (de forma estável). 
 
 
HARDWARE 
KERNEL 
SHELL 
COMANDOS 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 8 
 
Exemplo de versão do kernel: 
2.6.32-2-PAE 
 
Neste caso acima, temos um kernel de revisão 32, que recebeu a versão extra de 2-PAE do 
administrador porque ele inseriu durante a configuração do mesmo o suporte a PAE e decidiu declarar isso no 
nome do seu kernel. 
 
 
 
1.6- Terminais do Linux 
 
O Linux trabalha com a quantidade padrão de 63 terminais disponíveis para uso. O grande problema é 
encontrar combinações possíveis de teclas de função para isso tudo. 
Cada um desses terminais funciona de forma independente, facilitando assim a execução de múltiplas 
tarefas. Imagine que em um dos terminais pode-se iniciar um servidor DNS e em outro monitorar o log 
pertinente ao mesmo. 
Convencionalmente, se utilizam os terminais abaixo: 
 
Terminal Uso Teclas de atalho 
/dev/tty1 Modo de comandos ALT+F1 
/dev/tty2 Modo de comandos ALT+F2 
/dev/tty3 Modo de comandos ALT+F3 
/dev/tty4 Modo de comandos ALT+F4 
/dev/tty5 Modo de comandos ALT+F5 
/dev/tty6 Modo de comandos ALT+F6 
/dev/tty7 Interface Gráfica ALT+F7 
 
Estes terminais são utilizados por interpretadores de comandos, como BASH e SH, no uso dos 
comandos administrativos e de usuários. 
Para logins remotos e emulações de terminais em modo gráfico, são utilizados os terminais 
/dev/pts/<num>. 
 
Exemplos: 
/dev/pts/0 – um terminal emulado por xterm. 
/dev/pts/1 – um terminal utilizado por shell seguro (SSH). 
 
/etc/securetty: é o arquivo onde se encontram todos os terminais suportados pela distribuição. Ele 
pode ser usado para restringir ou permitir o uso de terminais no sistema. 
A tendência clara de um usuário final é “fugir” dos terminais do Linux, até porque sua usabilidade não 
atende às aplicações das quais ele faz uso, portanto, é importante que sejam utilizados gerenciadores de 
desktop em sistemas Linux que forem para este fim. Exemplos de gerenciadores de desktop são KDE e GNOME. 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 9 
 
Exemplo de terminal: 
 
 
 
 
1.6 – Interfaces gráficas 
 
 O uso de interface gráfica, como já foi dito anteriormente, é mais indicado e praticado para usuários de 
desktop, ainda que muitas aplicações gráficas para servidor sejam utilizadas para gerenciar serviços de rede e 
hardware, por exemplo. 
 Como é um assunto a ser falado posteriormente com mais detalhes neste mesmo material, vamos dar 
um apanhado geral das principais interfaces gráficas disponíveis para Linux. 
 Alguns sistemas operacionais disponibilizam a instalação de mais de uma interface gráfica, enquanto 
outros são “fechados” a este tipo de opção (caso do Ubuntu, que usa o Gnome e tem no Kubuntu a sua “versão 
com KDE”). 
 
 
 
 GNOME 
 Por ser um gerenciador de janelas com muitos efeitos visuais e menus 
organizados e de fácil entendimento, este desktop-manager é preferido pelos usuários 
de desktop Linux. 
 Ele gerencia diversas áreas de trabalho com grande facilidade, propiciando o 
envio de múltiplas janelas de uma área de trabalho para outra (recurso muito útil para 
designers, por exemplo). 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 10 
 
 
 
 Exemplo de área de trabalho do Gnome no Ubuntu 
 
 
 
 Efeito de cubos do GNOME com múltiplas áreas de trabalho 
 
 
 
KDE 
 O KDE é o desktop manager preferido de alguns administradores de servidores 
(quando eles precisam utilizar interface gráfica) por causa da sua leveza. 
 A estrutura de menus do KDE é bem diferente em relação à do Gnome, se 
assemelhando um pouco com a estrutura de menus do Windows (grosso modo). 
 Ele não conta com alguns recursos especiais do Ubuntu, mas também é uma ótima 
opção, já que o que mais o usuário ou administrador do Linux tem é opção!! 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTOM.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 11 
 
 
 
 Menu do KDE no Kubuntu 
 
 
Qual distribuição, versão do kernel e desktop manager utilizarem é uma questão a ser analisada 
cuidadosamente pelo usuário/administrador, pois não é em toda distribuição que se pode utilizar um servidor 
de correio eletrônico, por exemplo, e também uma “Distribuição do tipo Servidor” não vai satisfazer o usuário 
de programas multimídia. 
 É importante lembrar que ter uma interface gráfica instalada pode significar o maior uso de memória 
RAM (em alguns casos, chegando a fazer uso de SWAP), o suporte obrigatório a recursos e resoluções de vídeo 
suportadas pelos drivers dos fabricantes de vídeo, dispositivos de áudio instalados, etc. Justamente por tudo 
isso é que o administrador Linux não instala interface gráfica no servidor ou, se for necessário, opta por instalar 
a interface mais leve possível e apenas a utiliza em caso de última necessidade. 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 12 
 
2 - PROGRAMAS E COMANDOS BÁSICOS 
 
Os comandos GNU/Linux são totalmente SENSITIVE CASE. Isso significa que se uma opção de um 
comando ou um comando for minúscula, ela não funcionará se for trocada por maiúscula. 
Alguns comandos têm opções em modo curto e modo longo. Algo do tipo: -a que também pode ser 
usado como --all. 
 
# ls 
 Lista conteúdo de diretórios. 
 
Sintaxe: 
# ls <opções> <diretório> 
 
Opções: 
-l : modo longo. Lista detalhes sobre os objetos, como o dono, o grupo, as permissões, data de última 
alteração e tamanho (a unidade padrão é o byte). 
-a ou --all : lista todos os objetos contidos no diretório, inclusive os ocultos(iniciando com .). 
-i ou –inode : lista o número inode de todos os objetos (índice que o sistema de arquivos usa para 
identificar o arquivo ou diretório). 
-c : lista em ordem alfabética. 
-h ou --human-readable: lista o conteúdo no modo “mais humano”. A unidade de tamanho de cada 
objeto é a mais compreensível possível. 
-C : lista o conteúdo em colunas. 
-t : classifica o conteúdo pela data de última modificação (ctime). 
-S : classifica os arquivos pelo tamanho. 
-R: lista o conteúdo recursivamente, subdiretórios e arquivos. 
-r: classifica o conteúdo em ordem alfabética reversa. 
 
Exemplos: 
 
Listando todo o conteúdo do diretório /root/LPI, inclusive arquivos ocultos, em modo longo e “mais 
humano”: 
# ls –lha /root/LPI 
 
Listando por ordem alfabética reversa e de modo recursivo, todo o conteúdo de /etc: 
# ls –lrR /etc 
 
Listando em modo longo os arquivos e diretórios de /var/www e o número inode de cada um: 
# ls –li /var/www 
 
 
Detalhes de um arquivo: 
 
Ao listar um diretório específico com 'ls -l', foram verificados alguns itens interessantes: 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 13 
 
 
 
 
Acontece que a primeira coluna representa o tipo do arquivo e as permissões aplicadas a ele. Dessa 
primeira coluna, vamos destacar por hora o tipo (primeiro campo). 
Os arquivos estão divididos em alguns tipos: 
_ : é um arquivo regular. 
d : é um diretório. 
l : é um link simbólico. 
b: é um arquivo de bloco (um disco ou uma partição). 
c: é um arquivo de caracteres (um terminal, por exemplo). 
p: é um pipe. 
s: é um socket. 
 
As outras colunas são: 
 <arquivos contidos> <dono> <grupo> <tamanho> <data de última modificação> 
 
# file 
Mostra qual o tipo de arquivo em questão. 
 
Sintaxe: 
# file <objeto> 
 
# touch 
Cria arquivos vazios e/ou troca data de modificação de arquivos. 
 
Sintaxe: 
# touch <opções> <arquivo> 
 
Opções: 
-d : especifica data. 
-m : troca data de última modificação. 
-r : utiliza data de última modificação de outro arquivo como referência. 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 14 
 
 
Exemplos: 
# touch -m -d 20100512 arq1 : troca a data de última modificação para 12/05/2010. 
# touch arq2 : cria um arquivo vazio chamado 'arq2'. 
 
# cd 
Altera o diretório atual. 
 
Sintaxes: 
# cd <diretório_destino> 
# cd .. - retorna um nível na hierarquia (pai). 
# cd ../.. - retorna 2 níveis na hierarquia. 
# cd ~ - muda para o diretório pessoal do usuário em seção. É o mesmo que cd sem argumentos. 
# cd ~user1 – muda para o diretório pessoal do usuário user1. 
# cd ../<dir1> – muda para o diretório 'dir1', que está um nível hierárquico acima. 
 
# mkdir 
Cria diretórios. 
 
Sintaxe: 
$ mkdir <opções> <diretórios> 
 
Opções: 
-v : “verbose”. Exibe detalhes do que foi feito. 
-m <perm>: cria o diretório já com as permissões determinadas. 
-p : cria subdiretórios e diretórios de uma vez só. Não há a necessidade de existir o diretório pai 
para que seja criado o subdiretório. 
 
Exemplos: 
 
Criando os diretórios linux/debian/ubuntu de uma só vez e exibindo a saída do comando: 
# mkdir -pv linux/debian/ubuntu 
 
Criando o diretório suse com permissão 733 (permissões de arquivos e diretórios serão detalhadas 
mais à frente). 
# mkdir -mv 733 suse 
 
Criando diretórios dir1, dir2, dir3 e dir4 em um só comando, exibindo também a saída do comando: 
# mkdir -v dir{1,2,3,4} 
 
Criando diretórios dir10, dir11, dir12, dir13, dir14, dir15 em um só comando, em modo “verbose”: 
# mkdir -v dir{10..15} 
 
# rmdir 
Exclui diretórios vazios. 
 
Sintaxe: 
# rmdir <diretório> 
 
# rm 
Exclui arquivos e diretórios. 
 
Sintaxe: 
# rm <opções> <arquivo/diretório> 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 15 
 
Opções: 
-v : verbose. 
-i : modo interativo. Espera confirmação do usuário para excluir. 
-r : modo recursivo. Exclui diretório e seu conteúdo. 
 
# mv 
Move ou renomeia arquivos e diretórios. 
 
Sintaxe: 
# mv <opções> <arquivo/diretório> <dir_destino/nome_destino> 
 
Opções: 
-i : modo interativo. Pergunta antes de sobrescrever um arquivo existente com o mesmo nome. 
-v : modo verbose. 
-n : não sobrescreve um arquivo de destino com o mesmo nome. 
-f : modo forçado. 
 
# cp 
Cria cópias de arquivos ou diretórios. 
 
Sintaxe: 
# cp <opções> <origem> <destino> 
 
Opções: 
-R : modo recursivo. Copia diretório e seu conteúdo. 
-v : modo verbose. 
-i : modo interativo. Pergunta antes de sobrescrever destino. 
-u : modo “update”. Apenas copia para o destino arquivos que o mesmo não tem ou que, a pesar de 
ter o mesmo nome, são diferentes em seus conteúdos. 
-f : modo forçado de cópia. 
-p : preserva os atributos originais do arquivo. 
-d : preserva ligação simbólica. 
 
 Exemplos: 
 Copia todos os arquivos de /etc/network para /tmp mantendo seus atributos em modo verbose: 
 
 # cp -vp /etc/network/* /tmp 
 
 Apenas copia o arquivo /etc/passwd se houver alguma modificação do original em relação ao arquivo 
de destino com o mesmo nome: 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 16 
 
# cp -vu /etc/passwd /tmp 
 
 # du 
 “Disk usage” - exibe o tamanho em disco ocupado por diretórios. 
 
 Sintaxe: 
 # du <opções> <diretório> 
 
 Opções: 
 -k : em KB. 
 -m : em MB. 
 -h : modo mais “humano”. Exibe o resultado no múltiplo de byte mais compreensível. 
 -s : modo simples. Só exibe o tamanho ocupado pelo diretório, não o de seu conteúdo. 
 
 Exemplos: 
 
 Exibindo o tamanho ocupado por todos os subdiretórios de /etc/network e por ele próprio em modo 
mais “humano”: 
 # du -h /etc/network 
 
 
 
 Exibindo apenas o tamanho total do diretório /etc em modo mais humano: 
 
 
 
# df 
 Exibe informações sobre armazenamento de volumes montados. 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 17 
 
 
 Sintaxe: 
 # df <opções> <volume> 
 
 Opções: 
 -k : em KB. 
 -m : em MB. 
 -h : modo mais “humano”. Exibe o resultadono múltiplo de byte mais compreensível. 
 -i : ao invés de exibir informações sobre blocos, exibe informações sobre inodes. 
 -T: Exibe o tipo de sistema de arquivos utilizado por cada partição montada. 
 
 Exemplo: 
 
 Exibindo o espaço ocupado pela partição /dev/sda5, que está montada: 
 # df -h /dev/sda5 
 
 
Mostrando informações sobre a reserva de inodes da partição montada /dev/sda5: 
 # df –hi /dev/sda5 
 
 
 # cal 
 Exibe o calendário no terminal. 
 
 Opções: 
 -j : exibe calendário Juliano (dias corridos do ano). 
 -3 : exibe calendário do mês anterior, do atual e do posterior. 
 -m <num> : exibe calendário do mês específico. 
 
 Exemplo: 
 
 Exibindo o calendário dos dias corridos até hoje desde o início do ano: 
 # cal -j 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 18 
 
 
 
 
 # date 
 Exibe ou modifica a data e hora do sistema. 
 
 Opções: 
 --utc : exibe data e hora no padrão UTC(Universal Time Clock). 
 -r <arquivo>: exibe a data e hora de última modificação de um arquivo. 
 -R : exibe data e hora no formato RFC2822. 
 +<var> : utiliza variáveis do comando para exibir em formato específico. 
 
 Variáveis do date: 
 %d : dia. 
 %m : mês. 
 %y : ano com 2 dígitos. 
 %Y : ano com 4 dígitos. 
 %H : hora. 
 %M : minuto. 
 %S : segundo. 
 %e : dia do mês. 
 %b : mês por extenso. 
 
 Sintaxes: 
 $ date <opções> 
 $ date +<variáveis> 
 # date MMDDhhmmAAAA (mês,dia,hora,minuto e ano) – modificação da data. 
 
 Exemplos: 
 
 Modifica a data para 27/02/2010 e hora para 08:31. 
 # date 022708312010 
 
 3 Formas diferentes de representação de data e hora: 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 19 
 
 
 
 
 
 
 # free 
 Exibe informações sobre uso de memórias RAM e Swap. 
 
 Sintaxe: 
 # free <opções> 
 
 Opções: 
 -k : em KB. 
 -m : em MB. 
 -g : em GB. 
 -t : exibe RAM + Swap. 
 
 Exemplos: 
 
 Exibindo o tamanho total de memória ocupado em MB: 
 # free -m 
 
 Exibindo em tempo real (executando o comando de 1 em 1 segundo) o uso de RAM + Swap: 
 # watch -n1 free -mt 
 
 
 
 *Obs: O comando watch tem a função de repetir a cada ‘x’ segundos um comando específico, o padrão 
é o intervalo de repetição de 2 segundos. 
 
2.1 – Comandos de desligamento 
 
 # halt e # poweoff 
 Desligam o sistema. 
 
 # shutdown 
 Desliga, reinicia ou simula desligamento. 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 20 
 
 Sintaxe: 
 # shutdown <opções> 
 
 Opções: 
 -h - desliga o sistema. 
 -r - reinicia o sistema. 
 -c - cancela qualquer shutdown. 
 -k - simula o desligamento do sistema enviando mensagens de aviso para todos os terminais. 
 -f - pula verificação de disco no próximo boot. 
 -F - força verificação de disco no próximo boot. 
 
 Exemplos: 
 
 Desliga o sistema. 
 # shutdown -h now 
 
 Agenda desligamento do sistema para 23:30. 
 # shutdown -h 23:30 
 
 
 Simula desligamento imediato enviando mensagens para os terminais ativos: 
 # shutdown -k now 
 
 
 
2.2 – Editor vim 
 
 Editor de texto sucessor do VI, que possui compatibilidade com qualquer sistema Linux. 
 
 # vim <arquivo> – edita arquivo. 
 
 Opções internas do editor: 
 
 <insert> – modo de inserção de texto. 
 <insert>2x – modo 'replace'. Sobrescreve conteúdo posterior. 
 <esc> – entra em modo de comandos. 
 v – entra em modo 'visual'. Seleção de texto. 
 
 Comandos: 
 yy – copia linha inteira. 
 y – copia conteúdo selecionado. 
 p – cola. 
 x – recorta conteúdo selecionado. 
 dd – exclui linha inteira. 
 d – exclui conteúdo selecionado. 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 21 
 
 :set number – exibe linhas numeradas. 
 :set nonumber – desliga numeração. 
 :%s /<texto>/<texto> – substitui texto. 
 /<texto> – busca por texto. A tecla n continua a busca. 
 :<num> – vai para a linha <num>. 
 :split <arquivo> ou :sp <arquivo> – abre outro arquivo no editor. 
 CTRL+ALT+W – troca de documentos em modo 'split'. 
 :!<comando_do_shell> – executa um comando do shell dentro do vim. 
 :.!<comando_do_shell> – além de executar o comando do shell dentro do vim, copia sua saída padrão 
para o arquivo. 
 :w – salva arquivo. 
 :q – sai sem salvar. 
 :wq ou :x – sai salvando. 
 :w <caminho>/<nome> – salva como... 
 :<comando>! - força o uso do comando. 
 ALT+U – desfaz alteração. 
 CTRL+R – refaz alteração 
. 
 O editor VIM é, com certeza, uma ótima ferramenta para um administrador de sistema e rede Linux, 
uma vez que muitos serviços de sistema dependem única e exclusivamente de um arquivo de configuração, 
sem contar a programação em Shell Script, que fica muito mais interessante com os recursos do VIM. O arquivo 
de configuração de recursos do VIM é o /etc/vim/vimrc no Debian e /etc/vimrc em Red Hat. Para alguns 
recursos especiais oferecidos, como sintaxe de algumas linguagens de programação, organização automática do 
script e a salva da última posição do cursor do teclado após fechar o arquivo, é preciso instalar o pacote ‘vim-
scripts’. 
 
 
 Exemplo de arquivo /etc/vim/vimrc 
 
 
 Outro recurso importantíssimo do VIM é a manutenção de um arquivo de backup para cada 
documento que está sendo redigido, protegendo o seu conteúdo contra qualquer desligamento involuntário ou 
contra qualquer outro tipo de acidente que impossibilite o administrador de salvar o arquivo antes. Neste caso, 
é mantido um arquivo com o seguinte nome: .<nome_original>.swp, que é o chamado arquivo de swap, este 
conteúdo que está dentro dele só pode ser restaurado com o seguinte comando: 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 22 
 
 
# vim -r <nome_original> 
 
 Logo após, o documento tem que ser salvo com a opção w e caso tudo esteja correto pode-se remover 
de swap, pois, se isto não for feito, toda vez que for abrir o arquivo o editor irá te avisar de que existe um 
arquivo de swap e irá te perguntar o que você deseja fazer em função disso. 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 23 
 
3 - DISCOS E PARTIÇÕES 
 
3.1 - Discos 
 
 A nomenclatura de discos no Linux é bem particular. Ela consiste em, ao identificar o volume físico, 
criar um arquivo de bloco dentro de /dev correspondente a ele. Exemplo: /dev/sda (1º disco SATA). 
 O caso mais particular de discos é o dos IDEs. Qualquer placa-mãe de qualquer computador pode 
abrigar apenas 4 discos IDEs. Para este caso, fica assim a nomenclatura: 
 
 /dev/hda – Primary Master. 
 /dev/hdb – Primay Slave. 
 /dev/hdc – Secondary Master. 
 /dev/hdd – Secondary Slave. 
 
 Esta nomenclatura acima engloba também CDs/DVDs IDEs. Para este caso, existirá um link simbólico de 
um desses endereços para /dev/cdrom, facilitando assim a montagem por parte do usuário. 
 
 No caso de discos SATA, SAS, SCSI e discos externos em geral, já fica diferente: 
 
 /dev/sda – 1º disco. 
 /dev/sdb – 2º disco. 
 /dev/sdc – 3º disco. 
 /dev/sdd – 4º disco, e assim por diante. 
 
 Para um drive de CD/DVD SATA, é criado o arquivo de bloco correspondente /dev/sr(0,1,2,3..), com link 
para /dev/cdrom, da mesmo forma. 
 Os disquetes são reconhecidos por /dev/fd0 e /dev/fd1. 
 Drives de fita SCSI são reconhecidos como /dev/ft0(1,2,3..). 
 
 Para fazer a consulta de quais discos estão disponíveis para uso e quais os seus tipos, deve-se ler o 
arquivo /proc/partitions. Este arquivo é onde o Kernel vai consultar e escrever as tabelas de partições e discos 
que podem ser utilizados pelo sistema. Nele surgirão algumas informações importantes como o major number 
dos discos, que é o número de identificação do tipo dos mesmos. O exemplo abaixo mostra a interpretação de 
um arquivo desse: 
 
 # cat /proc/partitionsmajor minor #blocks name 
 8 0 156290904 sda 
 8 1 7164958 sda1 
 8 16 78184008 sdb 
 8 17 1959898 sdb1 
 
 Pelo que o arquivo mostrou acima, temos dois discos prontos para uso (sda e sdb) e os dois são SATA. 
O que indica que ele é SATA é o major number 8. 
 
 Os major numbers são assim classificados: 
 
 3 – disco IDE (ide-0). 
 7 – dispositivo de Loop(não ligado a disco físico). 
 8 – disco SATA, SAS, SCSI e discos externos. 
 9 – RAID via software. 
 22 – Disco IDE (ide-1). 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 24 
 
3.2 - Partições 
 
 Quanto à nomenclatura de partições, é preciso ter muita atenção pois o Linux as trata de maneira bem 
conceitual, a começar pelo limite de partições: 63 no total. 
 
Os minor numbers definem o tipo de cada partição: 
 
 De 1 a 4: simbolizam partições primárias ou estendidas. 
 De 5 em diante: simbolizam partições lógicas. 
 
 Se forem ocupados todos os minor numbers de 1 a 4, o restante do espaço em disco (se houver) fica 
inutilizável, por isso, é importante saber que, para que se possa utilizar mais de 4 partições em um disco, uma 
partição estendida deve ser criada. 
 
 A função da partição estendida é apenas abrigar as partições lógicas, ou seja: ela nunca vai ser 
montada em diretório algum do sistema. 
 
 Vamos conferir outra tabela de partições: 
 
 # cat /proc/partitions 
 
 
 
 No caso acima, vamos analisar a tabela de Particionamento de /dev/sda: 
 
 /dev/sda1 é uma partição primária. 
 /dev/sda2 é uma partição estendida, que foi criada com o único objetivo de serem criadas partições 
lógicas dentro dela. 
 /dev/sda5 é uma partição lógica. 
 /dev/sda6 é uma partição lógica. 
 /dev/sda7 é uma partição lógica. 
 
3.3 – Esquemas de Particionamento 
 
 Como já havia sido comentado em FHS, é muito importante que se pense bem no layout de 
Particionamento antes de fazer uma nova instalação em um servidor qualquer. É importante que alguns 
diretórios fiquem em partições separadas do sistema raiz, são elas: 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 25 
 
 /tmp – é o único diretório que tem permissão de escrita para qualquer usuário comum, sendo assim, 
qualquer usuário pode acabar com os blocos disponíveis da partição do sistema raiz, deixando muitos serviços 
sem funcionar mais, 
 /home – por ser o diretório onde, por padrão, irão ficar os arquivos pessoais de cada usuário, é preciso 
analisar a necessidade e o tipo de tecnologia de armazenamento que vai ser usado para a partição que será 
montada neste diretório. O recomendável para um servidor, que possui muito volume de arquivos nesse 
diretório, é que seja utilizado o sistema LVM. 
 /var – é importante deixar este diretório em outra partição, pois nele podem estar arquivos de sites de 
um servidor web, as caixas de entrada dos usuários em um servidor de e-mail, bancos de dados do MySQL-
Server, logs do sistema que têm apenas o programa logrotate para garantir sua rotatividade. 
 /usr/local – boa parte dos programas que são aqui instalados tem suas bibliotecas e arquivos 
executáveis copiados para este diretório, por isso é importante isolá-lo do sistema raiz. 
 Partição Swap – para a realidade atual, criar uma partição Swap está se tornando cada vez mais 
desnecessário. 
 Ela funciona como memória de auxílio à memória principal (RAM), mas com o crescente uso de 
memórias RAM de capacidades altíssimas de armazenamento temporário ela tornou-se cada vez mais 
desnecessária. 
 Costumava-se destinar o dobro do espaço de RAM para a criação de uma partição Swap, hoje fica a 
critério de o administrador criá-la. 2 GB estaria de bom tamanho, se necessário. 
 
3.4 - O FHS 
 
 O Filesystem Hierarchy Standard (Padrão Hierárquico de Sistema de Arquivos) é mantido pela Free 
Standards Group, que é composta por empresas como HP, IBM e Dell. 
 
 O projeto inicial foi aproveitado, porém personalizado pela maioria das distribuições, a maioria delas 
aproveita o formato original do FHS em 80%. 
 
 O FHS consiste na padronização da estrutura de diretórios do sistema, afim de que as diferenças de 
diretórios entre uns sistemas operacionais open-source e outro sejam mínimas. 
 
 A estrutura padrão de diretórios para sistemas Linux é: 
 
 / - é o sistemas raiz, o nível mais alto da hierarquia de diretórios. 
 /bin – diretório onde são armazenados programas binários de interesse de todos os usuários. 
 /boot – diretório onde estão localizados arquivos de interesse do boot do sistema, como a imagem do 
kernel e os arquivos de configuração do boot loader GRUB/GRUB2. 
 /dev – diretório onde estão os arquivos especiais que, para o Linux, podem ser discos, partições, 
memória RAM, mouse, teclado, terminais do sistema, etc. 
 /etc – é o diretório onde são armazenados arquivos de configuração e scripts de serviços em geral, 
como DHCP, FTP, LDAP e Proxy, por exemplo. É extremamente importante ter um backup completo deste 
diretório. 
 /home – diretório onde, por padrão, os usuários têm seus diretórios pessoais. 
 /lib – diretório onde se encontram bibliotecas de sistema e módulos já instalados do kernel. 
 /media – diretório onde geralmente são montadas as mídias removíveis. 
 /media/cdrom – diretório pronto para montagem de CD/DVD. 
 /media/floppy - diretório pronto para montagem de Floppy Disk. 
 /mnt – diretório pronto para servir como ponto de montagem para discos adicionais. 
 /opt – alguns programas não oficiais da distribuição utilizam este diretório para armazenar arquivos de 
instalação. 
 /proc – é um sistema de arquivos virtual, do kernel Linux, que possui arquivos e diretórios de status de 
recursos de sistema. 
 /root – é o diretório pessoal do usuário root (opcional). 
 /sbin – diretório onde são armazenados programas de interesse apenas do superusuário (comandos 
administrativos). 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 26 
 
 /srv – diretório de dados de serviços providos pelo sistema. 
 /usr – diretório de hierarquia secundária. 
 /usr/src – diretório da localização esperada do código-fonte do kernel antes da 
 compilação. 
 /usr/local – diretório de instalação de programas que não são oficiais da distribuição. 
 /usr/share/man – diretório de manuais do sistema. 
 /usr/share/doc – diretório de documentação de sistema. 
 /var – diretório de dados variáveis. 
 /var/log – diretório de logs de eventos diversos. 
 /var/mail – diretório padrão de recebimento de e-mails de todos os usuários. 
 /var/cache – diretório utilizado como cache de programas como o apt, por exemplo. 
 /tmp – diretório de arquivos temporários. É extremamente recomendável que este esteja em outra 
partição, pois ele é o único diretório da hierarquia padrão que tem permissão de gravação para todos os 
usuários do sistema. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 27 
 
4 - GERENCIAMENTO DE PACOTES 
 
 Programas no Linux são instaláveis através de pacotes, que geralmente contém os binários, as 
bibliotecas e arquivos de documentação que serão copiados para o sistema com a instalação. 
 
4.1 – Pacotes .deb (DEBIAN) 
 
 As distribuições que são baseadas em Debian e ainda o próprio Debian aceitam pacotes de extensão 
.deb como arquivos de pacotes instaláveis, além de pacotes .tar.gz ou .tar.bz2. 
 
 # dpkg 
 Instala e manipula arquivos .deb. Ele também faz operações de consultas em pacotes já instalados. 
 
 Sintaxe: 
 # dpkg <opções> <pacote> 
 
 Opções: 
 -i : instala pacote através de arquivo .deb. 
 -x : extrai conteúdo de um pacote. 
 -r : remove os arquivos binários de um pacote instalado. 
 -P : “purge” - remove os binários e todos os arquivos relativos ao pacote.-l : consulta pacotes instalados. 
 -c : exibe o conteúdo de um arquivo de pacote .deb. 
 -L : pesquisa arquivos que pertencem a um pacote já instalado. 
 -S : exibe quais arquivos foram copiados para o sistema após a instalação do pacote. 
 -s : exibe o status do pacote já instalado e informações reduzidas sobre o mesmo. 
 -p : exibe informações detalhadas sobre pacote já instalado. 
 
 Exemplos: 
 
 Instala o pacote 'ldap-utils' através de um arquivo de pacote .deb. 
 
 # dpkg -i ldap-utils_2.4.21-0ubuntu5.2_i386.deb 
 
 Expurga o pacote slapd: 
 
 # dpkg -P slapd 
 
 Remove o pacote samba sem remover seus arquivos: 
 
 # dpkg -r samba 
 
 Mostra o conteúdo do arquivo de pacote ldap-utils_2.4.21-0ubuntu5.2_i386.deb: 
 
 # dpkg -c ldap-utils_2.4.21-0ubuntu5.2_i386.deb 
 
 Mostra detalhes sobre o pacote samba, que já está instalado: 
 
 # dpkg -p samba 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 28 
 
 
 
 
A instalação de um programa no Debian pode ser feita através de um pacote de extensão .deb ou dos 
chamados repositórios, que armazenam os pacotes e suas dependências. Um repositório pode ser uma mídia 
de CD/DVD, um servidor HTTP ou um FTP. Cada distribuição costuma ter alguns repositórios oficiais espalhados 
pelo mundo, e este é o caso do Debian. 
 
 Repositórios 
 
 O arquivo de configuração de repositórios para pacotes .deb é /etc/apt/sources.list, contém a lista de 
servidores ou mídias onde podem ser encontrados os pacotes para a distribuição. Geralmente, opta-se por 
trabalhar com repositórios em rede (LAN ou WAN), pois a dinâmica de atualização dos pacotes funciona muito 
mais. 
 O uso de repositórios poupa o administrador do trabalho de procurar arquivos .deb por sites de 
download da internet ou por mídias externas. 
 Repositórios de internet são mais comuns de serem utilizados e o repositório br.debian.org é o 
repositório oficial do Debian no Brasil. Algumas universidades pelo Brasil (como Unicamp e PUC, por exemplo) 
também disponibilizam seus “mirrors” para download de pacotes .deb. 
 
 Exemplo de arquivo de repositório do Debian: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 29 
 
 
 
 
Cada linha dessas é a configuração de apontamento para um repositório diferente, sendo, por 
exemplo, a primeira de pacotes principais da distribuição 'stable'. 
 Ao invés de 'stable', o tipo da distribuição poderia muito bem se chamar 'squeeze'. Isso porque 
Squeeze é a versão estável do Debian. 
 
 Versões de Distribuições Debian: 
 
 oldstable : versão anterior estável; 
 stable : versão atual estável; 
 testing : próxima versão já em fase de testes; 
 unstable : os repositórios instáveis não são recomendáveis pois ainda estão em fase de discussão e 
desenvolvimento. 
 
 Repositórios Debian: 
 
 main : pacotes open-source; 
 contrib : pacotes open-source que dependem da contribuição de terceiros; 
 non-free: pacotes não-livres; 
 multimedia : pacotes de aplicações multimídia; 
 backports : pacotes ainda fora do repositório estável provavelmente por serem muito atuais. 
 É interessante que a instalação de um programa seja feita através de repositório, porque neste caso é 
instalado o pacote e todas as suas dependências ao mesmo tempo. 
 
APT (Advanced Packaging Tool) 
 
 Gerenciador de arquivos e dependências de pacotes através de repositórios do Debian, este 
gerenciador consulta os dados de /etc/apt/sources.list. 
 
 Comandos APT: 
 # apt-get update 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 30 
 
 Atualiza a base de dados de pacotes contida no diretório /var/lib/dpkg com os dados do repositório. 
 Este comando não tem a função de atualizar nenhum pacote já instalado. 
 
 Sintaxe: 
 
 # apt-get update 
 
 # apt-get install 
 
 Instala um pacote e suas dependências a partir de repositórios que estão listados dentro de 
/etc/apt/sources.list. 
 
 
 Sintaxe: 
 
 # apt-get install <opções> <pacote(s)> 
 
 Opções: 
 -s : simula a instalação do pacote. 
 -d : apenas faz o download dos pacotes dentro do diretório /var/cache/apt/archives/. 
 -y : assume como “Yes” todas as respostas de instalação. 
 -f : corrige uma instalação inacabada. Utilizada com “install ou remove”. 
 --reinstall : reinstala um pacote. 
 
 # apt-get remove 
 
 Remove pacote instalado. 
 
 Sintaxe: 
 
 # apt-get remove <pacote> 
 
 Para remover um pacote e seus arquivos de configurações: 
 
 # apt-get remove <pacote> --purge 
 
 Exemplo: 
 
 Expurgando o pacote bind9: 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 31 
 
 # apt-get remove --purge bind9 -y 
 
 # apt-get upgrade 
 
 Atualiza a versão de todos os pacotes que estão instalados. 
 
 Sintaxe: 
 
 # apt-get upgrade 
 
 # apt-get dist-upgrade 
 
 Atualiza toda a distribuição mediante mudança de versão em /etc/apt/sources.list. 
 
 Sintaxe: 
 
 # apt-get dist-upgrade 
 
 # apt-cache pkgnames 
 
 Exibe a lista de nomes de pacotes disponíveis nos repositórios para instalação. 
 
 Sintaxe: 
 
 # apt-cache pkgnames 
 
# apt-cache search 
 
 Busca descrição sobre programas disponíveis no repositório por assunto. 
 
 Sintaxe: 
 
 # apt-cache search <Nome> 
 
 Exemplo: 
 
 Procurar com algum pacote que tenha a ver com DNS no repositório: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 32 
 
 
 
 
# apt-cache search dns 
 
 
 No caso acima, ele buscou na lista de repositórios do Ubuntu todos os pacotes que tenham a ver com 
DNS. 
 
 # apt-cdrom add 
 
 Adiciona uma mídia de CD como um repositório em /etc/apt/sources.list. 
 
 Sintaxe: 
 
 # apt-cdrom add 
 
 # aptitude 
 
 É uma interface mais amigável para o apt. É possível visualizar a lista de pacotes disponíveis para 
instalação de uma forma muito organizada. 
 
 Sintaxe: 
 
 # aptitude <opção> 
 
 As opções do aptitude são as mesmas do apt-get. 
 
 Exemplos: 
 
 Instala o pacote samba através de um repositório: 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 33 
 
 # aptitude install samba 
 
 Atualiza a base de dados do apt: 
 
 # aptitude update 
 
 Remove o pacote samba: 
 
 # aptitude remove samba 
 
 
4.2 – Pacotes .rpm (RED HAT) 
 
 Distribuições baseadas em Red Hat e o próprio Red Hat aceitam a instalação de pacotes .rpm e .tar.gz. 
 A questão das dependências é a mesma: um pacote sozinho pode não ter todas as dependências 
necessárias para a sua instalação e, para resolvê-las, é muito importante instalar os pacotes por repositórios. 
 
 # rpm 
 Chamado de Red Hat Package Manager, o comando rpm instala e consulta arquivos .rpm. 
 
 Sintaxe: 
 # rpm <opções> <pacote> 
 
 Opções do modo de instalação: 
 
 -i : instala um pacote através de arquivo de pacote. 
 -U : faz upgrade em um programa já instalado através de um arquivo. 
 -v : modo verbose de instalação. 
 -vv: modo verbose com mais detalhes. 
 -h : modo hash. Exibe barra de rolagem ao instalar. 
 -e : remove um programa instalado. 
 --nodeps : ignora dependências não satisfeitas do pacote na instalação. Esta opção não é 
recomendável, pois há grandes chances de o programa não funcionar. 
 
 Opções do modo de consulta: 
 
 Para o modo de consulta, a opção q deve estar sempre presente antes de qualquer outra. 
 -qa: consulta todos os programas instalados. 
 -ql: consulta por arquivos pertencentes a programas instalados. 
 -qf : descobre a qual pacote pertence um determinado arquivo. 
 -qi : exibe informações detalhadas sobre um programa instalado. 
 -qd ou –-configfiles : mostra todos os arquivos de configuração do programa instalado. 
 -qd ou –-docfiles: mostra todos os arquivos de documentação do programa instalado. 
 -qpl : exibe os arquivos e diretórios contidos em um arquivo de pacote. 
 -qpd: exibe os arquivos de documentação contidos dentro de um arquivo de pacote. 
 -qpc: exibe os arquivos de configuração de um arquivo de pacote. 
 
 Exemplos: 
 
 Remove o pacote samba.i386 instalado: 
 
 # rpm –e samba.i386 
 
Instala o pacote samba_3.0.2_i386.rpm em modo “hash” e verbose: 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 34 
 
 # rpm –ivh samba_3.0.2_i386.rpm 
 
Consultando detalhes sobre o pacote samba.i386 já instalado: 
 
 # rpm –qi samba.i386 
 
 
 Consultando os arquivos de configuração do pacote samba.i386 já instalado: 
 
 # rpm –qc samba.i386 
 
Consulta arquivos de documentação do arquivo do pacote de instalação do Adobe Flash Player: 
 
 # rpm –qpd samba_3.0.2_i386.rpm 
 
 
 
YUM (Yellow dog Updater Modifier) 
 
 # yum update 
 
 Atualiza a base de dados do yum, assim como todos os pacotes instalados até o momento. 
 
 Sintaxe: 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 35 
 
 # yum update 
 Download das atualizações dos pacotes pelo YUM 
 
 # yum install 
 
 Instala pacotes e suas dependências. 
 
Sintaxe: 
 
 # yum install <opções> <pacotes> 
 
 Opções: 
 
 -y : assume como “yes” todas as respostas de instalação. 
 
 # yum upgrade 
 
 Atualiza pacotes instalados para a versão mais nova existente no repositório. 
 
 Sintaxe: 
 
 # yum upgrade <pacote1> <pacote2> ... 
 
 # yum list 
 
 Lista os nomes dos pacotes disponíveis no repositório para instalação. 
 
 Sintaxe: 
 
 # yum list 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 36 
 
 # yum Search 
 
 Busca descrição sobre pacotes pelo assunto. 
 
 Sintaxe: 
 
 # yum search <pacote> 
 
 # yum info 
 
 Exibe detalhes sobre pacotes já instalados. Exibe a mesma saída do comando ‘rpm –qi <pacote>’. 
 
 Sintaxe: 
 
 # yum info <pacote> 
 
 Exemplo: 
 
 Exibindo informações detalhadas sobre o pacote samba.i386: 
 
 
 
# yum info samba.i386 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 37 
 
5 - INSTALAÇÃO DO SISTEMA OPERACIONAL 
 
 A instalação de um sistema operacional Linux em um servidor, principalmente, deve seguir à risca os 
esquemas de Particionamento citados acima. Alguns diretórios, se mantidos juntos com a partição do sistema 
raiz ( / ) podem causar inconvenientes de estouro de reserva de inodes ou de blocos, parando por completo o 
servidor. Imagine só se um usuário qualquer resolver criar um número exagerado de arquivos vazios (que 
ocupam inodes) em /tmp e acabar com a reserva de inodes, não sobrando mais espaço no sistema raiz para a 
criação de um arquivo sequer?!?! 
 
 Seria um verdadeiro desastre criar um servidor PDC de clientes Windows se o diretório /home, que 
carrega os perfis móveis de cada usuário, estivesse na mesma partição do sistema raiz. Bastaria, neste caso, que 
um usuário sem cotas configuradas fosse ocupando espaço com arquivos fúteis à vontade para que o espaço 
em disco no servidor se reduzisse à zero, de repente e causasse a paralisação dos serviços ativos. 
 Outros pontos importantes a se analisar são: flexibilidade, redundância e desempenho de discos, para 
saber se utilizar arranjos LVM ou RAID em discos seria necessário. 
 
 A escolha da versão do sistema operacional ideal para a necessidade também é muito importante, 
assim como a arquitetura do mesmo, para que ele possa tirar o máximo de proveito dos recursos de Hardware 
do sistema. Faz toda a diferença de desempenho para um servidor com 2 processadores Intel Xeon operar com 
o sistema operacional com arquitetura ia64 (arquitetura de processadores Intel 64-bits) ao invés de trabalhar 
com um sistema operacional de arquitetura de 32 bits (i386). 
 
 Caso seja Slackware, Red Hat, Debian, Ubuntu, Suse ou CentOS vai depender da preferência do 
administrador ou da empresa. 
 
5.1 – Particionando o disco 
 
 Um bom esquema de Particionamento para um servidor de arquivos Samba de usuários em uma rede 
com um HD de 500GB seria: 
 
 / - 10 GB 
 /usr/local – 10GB 
 /var – 10GB 
 /tmp – 2GB 
 /boot – 200MB 
 swap – 2GB (se necessário) 
 /home – 465,8GB (aproximadamente) – Utilizar LVM 
 
 Para um servidor web com o Apache, o diretório /var é quem precisaria de mais espaço em disco: 
 
 / - 10 GB 
 /usr/local – 10GB 
 /var – 475,8GB(aproximadamente) – Utilizar LVM 
 /tmp – 2GB 
 /boot – 200MB 
 swap – 2GB (se necessário) 
 
 
Pensando que, geralmente, um servidor web também conta com servidor FTP e que as contas de 
usuário são mapeadas para o diretório /var/WWW (diretório de publicação de arquivos do servidor), não seria 
preciso isolar o /home. 
 
 O uso de uma partição para uso como swap, ainda mais em servidores com quantidade grande de 
espaço em RAM, torna-se cada vez mais dispensável ao longo do tempo. Pode ter certeza que se o servidor 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 38 
 
precisar usar swap é porque alguém não planejou corretamente o hardware para o tipo de servidor que iria ser 
utilizado. 
 
5.2 – Configuração pós-instalação 
 
 Passado todo o processo de planejamento e instalação do servidor, o processo de configuração é o 
próximo passo. 
 
 É hora de configurar a rede, repositórios, configurar o login de usuários, decidir se vai ou não usar 
interface gráfica, etc.. 
 
 A primeira providência, já que se trata de um servidor, é configurar a interface de rede. Para isso, é 
preciso que o administrador conheça primeiro os conceitos de IPV4/6 necessários, e isto é realmente um pré-
requisito para que o administrador possa ter sucesso na administração dos servidores. 
 O arquivo de configuração de rede no Debian é /etc/network/interfaces. É preciso editá-lo e reiniciar o 
serviço de rede após isso para que as alterações façam efeito. 
 
 Editando o arquivo: 
 
 # vim /etc/network/interfaces 
 
 
 
 A interface lo se refere à interface de loopback e não deve ser desativada, pois alguns serviços 
dependem dela para funcionar, enquanto a interface eth0(zero) é a primeira interface de rede reconhecida pelo 
sistema (mais detalhes sobre configuração de redes será dados mais à frente). 
 
 Reiniciando o serviço de rede: 
 
 # invoke-rc.d networking restart 
 
 Conferindo a conectividade: 
 
 # ifconfig 
 # ping 10.1.1.254 
 
 Conferindo rotas: 
 
 # route -n 
 
 Configurando DNS: 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 39 
 
 # vim /etc/resolv.conf 
 
 nameserver <ip do servidor> 
 
 Repositórios de pacotes: 
 
 A configuração de repositórios, como foi visto no capítulo anterior, é feita no arquivo 
/etc/apt/sources.list. 
 
 
 
 
# vim /etc/apt/sources.list 
 
 Neste caso, o sistema está fazendo uso de um repositório da rede interna. Para os casos de novas 
instalações, são utilizados repositórios de internet e, neste caso, é importante já na hora da instalação de 
Debian o administrador optar por utilizar um espelho de rede (mirror) da internet que seja oficial da 
distribuição, pois desta forma ele pode garantir que os pacotes que serão instalados estarão nas versões 
corretas de seu sistema. Havendo a necessidade, o administrador pode configurar depois um mirror na rede 
LAN. No caso das outras distribuições, em geral não vai ser preciso nenhuma escolha por espelho de rede na 
hora da instalação, pois isto já vai ser automático na instalação. 
 
Vejamos um exemplo de configuração onde se busca repositórios na internet (Ubuntu): 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUXSYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 40 
 
 
 
Visão do arquivo /etc/apt/sources.list 
 
 Agora é importante atualizar a base de dados do APT: 
 
 # apt-get update 
 
 Pronto! Agora é só escolher quais tipos de serviços serão utilizados. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 41 
 
6 - O SHELL 
 
 Conceitualmente, o Shell é o interpretador dos comandos que serão enviados ao sistema, afim de que 
sejam executadas as tarefas necessárias para o seu funcionamento. O Linux é capaz de trabalhar com uma 
variedade enorme de shells, estando todos os suportados em /etc/shells: 
 
 De todos os Shells disponíveis para uso no Linux, os mais importantes, sem dúvida, são sh e bash 
(Bourne Again Shell). O sh (Bourne Shell) inclusive é o shell padrão do comando useradd. Ele é usado por muitas 
distribuições baseadas em Unix, como FreeBSD e OpenBSD, por exemplo. Já o bash é o shell padrão do Linux 
em todas as distribuições. 
 
6.1 – Scripts do Shell 
 
 Alguns scripts de bash são comumente encontrados em um S.O Linux: 
 
 /etc/rc.local 
 
 Este script é executado antes do logon do usuário após o boot do sistema pela imagem do kernel. 
 
 /etc/profile 
 
 É o primeiro script a ser executado após o logon dos usuários. Ele é global, ou seja: todos os usuários 
que fazem login sofrem os efeitos deste script. Geralmente nele estão duas variáveis de bash importantíssimas: 
 
 PATH - define em quais diretórios o bash vai procurar os comandos digitados pelos usuários. 
 PS1 – define qual vai ser o rótulo de prompt dos usuários. 
 
 Exemplo: 
 
 PS1='\u@\h:\w\$' ficaria para o usuário user1 no host 'MCURY' e no diretório home dele assim: 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 42 
 
user1@MCURY:~$ 
 
 
 O arquivo acima explica o porquê de quando o usuário comum digita um comando exclusivo de root 
retorna para ele o erro: “-<comando> : command not found” . Basta verificar que a variável PATH do root (o 
que tem UID=0) contém os diretórios onde estão os comandos de administração do sistema (os ../sbin) e o 
PATH do usuário comum não. 
 
Hierarquia de scripts de usuário: 
 
 Há uma ordem de execução de scripts após o login de cada usuário. 
 
 Na falta de algum destes scripts abaixo, o posterior é executado. A ordem oficial é está abaixo: 
 
 ~/.bash_profile 
 ~/.bash_login 
 ~/.profile 
 
No Debian, o ~/.profile é o primeiro script de usuário a ser executado e aponta para outro script 
chamado ~/.bashrc, que acaba sendo o último script de usuário a ser executado. Em shell Bash, se 
~/.bash_profile e ~/.bash_login existirem, o ~/.profile não é executado. 
Exemplo de arquivo /etc/profile 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 43 
 
 O ~/.bashrc tem uma característica muito especial em relação a outros scripts de login: ele pode ser 
executado em sessões que não requerem login. 
 
 Por padrão, este script vem com alguns campos comentados, mas que são de grande importância para 
ajudar a tornar o shell um ambiente de trabalho mais amistoso. 
 
 O script /etc/bash_completion facilita e muito a vida do usuário, pois completa automaticamente um 
comando se for digitada parte dele seguida da tecla TAB. este script deve ser ativado em algum script de login. 
 
 Os aliases para os comandos rm, cp e mv evitam que muitos arquivos sejam sobrescritos sem que o 
usuário seja avisado antes que isso aconteça (cada alias recebe um comando com a opção interativa '-i'). Como 
no Linux a falta de um arquivo pode significar o colapso de um sistema inteiro, dependendo de qual arquivo 
seja esses aliases são providenciais. 
 
 ~/.bash_logout 
 
 Script executado no logoff do usuário. 
 
 ~/.bash_history 
 
 Arquivo que contém o histórico de comandos digitados pelo usuário. 
 
 # history 
 
 Exibe histórico de comandos digitados pelo usuário. 
 
 Limpando o histórico: 
 
 # history -c 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 44 
 
 # fc 
 
 Comando que usa o editor de textos padrão do sistema para manipular o arquivo de histórico. 
 
 
Para que o editor padrão seja modificado, basta usar a linha de comando abaixo: 
 # update-alternatives –config editor 
 
 fc usando editor nano para editar histórico de comandos recentes 
 
Impedindo login de usuários comuns 
 
 Por motivo de manutenção no sistema, por exemplo, é necessário que às vezes apenas o root tenha o 
direito de abrir uma sessão. Para que isso seja possível, é preciso que seja criado o arquivo /etc/nologin. A 
criação do arquivo, mesmo que vazio, já é o suficiente para que ninguém, além do root, possa abrir uma sessão, 
mas o arquivo pode conter um texto qualquer que será exibido para o usuário, geralmente indicando o motivo 
de não poder iniciar a sessão. 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 45 
 
 Os usuários comuns só vão poder abrir alguma sessão após este arquivo ser removido. 
 
 Mensagens para o usuário: 
 
 Alguns arquivos contêm mensagens para os usuários no terminal em momentos diferentes: 
 
 /etc/issue 
 
 Mensagens na tela de pré-login (local). 
 
 /etc/issue.net 
 
 Mensagens na tela de pré-login (remoto). 
 
 /etc/motd 
 
 Mensagens após o login do usuário. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 46 
 
7 - DOCUMENTAÇÃO NO LINUX 
 
 A difusão e aprendizado de sistemas operacionais open-source passa também pela documentação 
sempre bem organizada que estes sistemas têm. Um exemplo bem prático é que um Administrador de Redes 
que entende profundamente sobre protocolos, portas e serviços, mas que não é usuário de Linux teria uma 
dificuldade muito maior em criar regras no firewall Iptables se ele não pudesse consultar uma página de manual 
local para ajudá-lo. 
 O responsável por manter essa documentação toda funcionando é o LDP (Linux Documentation 
Project), cujo site é www.tldp.org. Ele possui links para as seções abaixo: 
 
 Wiki - detalhamento de alguns assuntos pesquisados; 
 HOWTOs - guias passo a passo de tarefas; 
 FAQs - respostas para dúvidas eventuais; 
 Manpages – páginas de manuais de comandos. 
 
 Os diretórios que contém documentação local são: 
 
 /usr/share/doc – diretório de documentação local oficial do LDP, e fornece documentação adicional de 
programas instalados; 
 /usr/share/man – diretório de páginas de manuais de comandos, arquivos e programas. 
 
7.1 - Tipos de arquivos de documentação 
 
 Dentro dos diretórios /usr/share/doc e /usr/share/man existem arquivos de documentação de diversos 
tipos: 
 README : instruções de uso relevantes ao usuário; 
 Copyright : informações de autoria e direitos sobre programa; 
 Changelog : log de modificação do programa; 
 Manpages : manuais lidos pelo comando man; 
 FAQs : perguntas e respostas frequentes sobre o assunto. 
 
7.2 – Seções de manuais 
 
 Um arquivo de configuração, um programa e um comando de root podem, coincidentemente, ter o 
mesmo nome. Isso seria a causa de uma confusão muito grande caso os mantenedores do projeto não tivessem 
pensado em separar os manuais por seções. Elas são identificadas numericamente e possui cada uma, um 
diretório dentro de /usr/share/man, como../man8, que é o diretório de manuais de seção 8. Mas por que seção 
8?!?! Basta olhar a tabela abaixo: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
http://www.tldp.org/
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATORPÁGINA 47 
 
 
Seção Descrição 
1 Programas de uso comum de todos os usuários do sistema 
2 Chamadas de sistema 
3 Chamadas de bibliotecas 
4 Arquivos especiais contidos em /dev 
5 Arquivos de configuração 
6 Games 
7 Miscelânea 
8 Comandos de administração, de interesse do administrador (root). 
 
7.3 – Comandos de documentação 
 
# <comando> --help 
 
Exibe informações reduzidas sobre opções de comando, geralmente. 
 
Exemplo: 
 
Ajuda sobre opções do comando shutdown: 
 
# shutdown --help 
 
# apropos 
 
Busca, por tópico, a descrição de cada comando ou arquivo encontrado. 
 
# whatis 
 
Busca, por nome exato, a descrição de cada comando ou arquivo encontrado. 
 
# man 
 
Exibe informações sobre manuais contidos em /usr/share/man. 
 
Sintaxe: 
 
# man <opções> <assunto> 
 
Opções: 
 
-w : busca o caminho do arquivo de manual ao invés de exibir algum tipo de ajuda sobre o tema. 
-k : busca resumo sobre um tópico específico. 
-f : busca resumo sobre um comando ou arquivo exato. 
-P : modifica o programa de paginação do man. 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 48 
 
Obs.: 
 
# man -k corresponde a # apropos. 
# man -f corresponde a # whatis. 
 
Exemplos: 
 
Buscar manual do comando iptables: 
 
# man iptables 
 
 
Buscar definição sobre comandos relacionados ao assunto iptables: 
 
# man -k iptables 
 
Ou 
 
# apropos iptables 
 
Buscar definição sobre comando iptables em específico: 
 
# man -f iptables 
 
Ou 
 
# whatis iptables 
 
Buscar por manual de um comando na seção 5, para o caso de haver algum outro objeto de busca 
chamado interfaces: 
 
# man 5 interfaces 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 49 
 
 
 
# info 
 
Programa de leitura de manuais preferido pelo projeto GNU. Sua exibição dos manuais é mais 
organizada. 
 
# mandb 
 
Atualiza a base de dados de manuais do sistema. 
 
Se alguma modificação for feita em /etc/manpath.config, este comando precisa ser executado. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 50 
 
8 - COMANDOS DE CONTEÚDO 
 
 # less 
 
 Pagina o conteúdo de arquivos ou saídas de texto. Ele é muito versátil, pois permite o deslocamento 
para cima, para baixo, para a direita e para a esquerda quando estiver paginando um documento. Existe 
também o recurso de procurar por um texto com / no meio da paginação. 
 
 Sintaxe: 
 
 # less <arquivo> 
 
Exemplo: 
 
# less /etc/shadow 
 
 Paginando arquivo /etc/shadow: 
 
 
 
 # more 
 
 Também pagina um documento de texto ou saída em modo texto, só que de forma básica, permitindo 
apenas a paginação para baixo e pressionando a tecla ENTER. 
 
 Sintaxe: 
 
 # more <arquivo> 
 
 # zless 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 51 
 
 Usa o less para paginação de conteúdo em modo texto de arquivos compactados com o agente de 
compactação GZIP. 
 
 Sintaxe: 
 
 # zless <arquivo>.gz 
 
 # zmore 
 
 Usa o more para paginação de conteúdo em modo texto de arquivos compactados com o agente 
compactador GZIP. 
 
 Sintaxe: 
 
 # zmore <arquivo> 
 
 # head 
 
 Visualiza as primeiras linhas de um arquivo. Padrão: 10 primeiras linhas. 
 
 Sintaxe: 
 
 # head <opção> <arquivo> 
 
 Opções: 
 
 -c : mostra os primeiros bytes de um arquivo. 
 
 -n : especifica o número de linhas. 
 
 Exemplos: 
 
 Mostrar os primeiros 128 bytes do arquivo /etc/passwd: 
 
 # head -c 128 /etc/passwd 
 
 Mostrar as 5 primeiras linhas de /etc/passwd: 
 
 # head -n 5 /etc/passwd 
 
 Ou 
 
 # head -5 /etc/passwd 
 
 
 # tail 
 
 Lê as últimas linhas de um arquivo, Padrão: 10 últimas linhas. 
 
 Sintaxe: 
 
 # tail <opções> <arquivo> 
 
 Opções: 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 52 
 
 -n : especifica o número de linhas. 
 
 -f : monitora as últimas linhas de um arquivo enquanto o mesmo é escrito. Muito útil para leitura de 
arquivos de log. 
 
 Exemplos: 
 
 Exibir as últimas 5 linhas do arquivo /var/log/messages. 
 
 # tail -n 5 /var/log/messages 
 
 Ou 
 
 # tail -5 /var/log/messages 
 
 Monitorar as mudanças que estão sendo feitas no arquivo /var/log/auth.log. 
 
 # tail -f /var/log/auth.log 
 
 
# pr 
 
 Prepara um arquivo para ser impresso, mas não o imprime. 
 
 Sintaxe: 
 
 # pr <arquivo> 
 
 # nl 
 
 Exibe conteúdo de um arquivo com as linhas numeradas. 
 
 Sintaxe: 
 
 # nl <arquivo> 
 
 # wc 
 
 Conta linhas, caracteres e palavras de um arquivo. 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 53 
 
 Sintaxe: 
 
 # wc <opções> <arquivo> 
 
 Opções: 
 
 -l : número de linhas do arquivo. 
 
 -w : palavras contidas no arquivo. 
 
 -c : quantidade de caracteres. 
 
 Exemplo: 
 
 Contando linhas, palavras e caracteres de /etc/passwd: 
 
 # wc /etc/passwd 
 
 
 # od 
 
 Exibe arquivo em formatos diferentes. 
 
 Sintaxe: 
 
 # od <opções> <arquivo> 
 
 Opções: 
 
 -o : modelo octal. 
 
 -d : decimal. 
 
 -x : hexadecimal. 
 
 # grep 
 
 Busca textos dentro de documentos. 
 
Sintaxe: 
 
 # grep <opções> <texto> <arquivos> 
 
 Opções: 
 
 -i : modo insensitivo. Não diferencia maiúsculas de minúsculas quando faz a busca. 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 54 
 
 -v : exceção. Apenas não filtra o texto selecionado. 
 
 -w : busca por palavra específica. 
 
 -E : habilita o comando a trabalhar com as expressões regulares avançadas (REGEXP). 
 
 -n : exibe o número das linhas onde estavam os registros encontrados. 
 
 -H : mostra o nome do arquivo ao lado de cada registro achado. 
 
 Exemplos: 
 
 Buscar dentro do arquivo /etc/passwd a linha contendo 0: 
 
 # grep 0 /etc/passwd 
 
 
 
 
Buscar dentro do arquivo /etc/passwd linhas que contenham apenas 0 como valor absoluto: 
 
 # grep -w 0 /etc/passwd 
 
 
 Buscar apenas as linhas do arquivo /etc/passwd que não tenham /bin/bash e nem 0 como valor 
absoluto (ou seja: usuários que não usam o Shell bash e que não sejam ‘root’): 
 
 # grep -vw ‘/bin/bash*.0’ /etc/passwd 
 
 Onde *. significam E TAMBÉM. 
 
 Buscar dentro dos arquivos /etc/passwd, /etc/shadow e /etc/group e /etc/gshadow registros do 
usuário ‘root’ mostrando o nome do arquivo no início das linhas do resultado: 
 
# grep -H root /etc/passwd /etc/shadow /etc/group /etc/gshadow 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 55 
 
 
 
 
 
 # cut 
 
 Exibe apenas os campos desejados de um arquivo. 
 
 Sintaxe: 
 
 # cut <opções> <arquivo> 
 
 Opções: 
 
 -c : exibe todos os caracteres na coluna informada. 
 
 -d caractere: os campos são separados pelo delimitador informado. 
 
 -f : “campos”. Campos do arquivo, levando em conta o delimitador. 
 
 Exemplos: 
 
 Exibir a coluna 1 do arquivo /etc/shadow: 
 
 # cut -c 1 /etc/shadow 
 
 Exibir as colunas 1,2 e 4 do arquivo /etc/passwd: 
 
 # cut -c 1,2,4 /etc/passwd 
 
 Exibir da coluna 1 até a 5 do arquivo /etc/group: 
 
 # cut -c 1-5 /etc/group 
 
 Entendendo o ‘ : ‘ como delimitador, exibir os campos 1,3 e 6 do arquivo /etc/passwd: 
 
 # cut -d : -f 1,3,6 /etc/passwd 
 
Com o mesmo delimitador, agora exibindo do campo 1 até o 5 do arquivo /etc/shadow: 
 
 # cut -d : -f 1-5 /etc/shadow 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 56 
 
 
 
 # shred 
 
 Destrói o conteúdo de um arquivo. 
 
 #Sintaxe: 
 
 # shred <arquivo> 
 
 # split 
 
 Comando utilizado dividir um arquivo em pedaços. 
 
 Opções: 
 
 -b : quebra porquantidade de bytes. 
 
 -l : quebra por quantidade de linhas. 
 
 Sintaxe: 
 
 # split <opção> <arquivo> <primeiro nome do arquivo de destino> 
 
 Exemplos: 
 
 Criando arquivos com 128 bytes de /etc/passwd cada um. Neste caso, serão criados os arquivos arqaa, 
arqab, arqac, etc: 
 
 # split -b 128 /etc/passwd arq 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 57 
 
 Criando arquivos com 4 linhas do arquivo /etc/profile cada um, esclarecendo que o último arquivo 
pode ficar com menos linhas se for o caso de a quantidade de linhas do arquivo não for múltipla de 4, neste 
caso: 
 # split -l 4 /etc/passwd arq 
 
 # uniq 
 
 Exibe as linhas únicas de um arquivo. 
 
 Sintaxe: 
 
 # uniq <arquivo> 
 
 # cat 
 
 Lê o conteúdo de um arquivo ou reconstrói o mesmo, se for o caso de ele estar em pedaços criados 
pelo comando split. 
 
 Sintaxe: 
 
 # cat <opção> <arquivo> 
 
 Opções: 
 
 -A : Exibe todos os caracteres não imprimíveis. 
 
 -b : lê o arquivo com as linhas não vazias numeradas. 
 
 -n : lê o arquivo com todas as linhas numeradas. 
 
 Exemplos: 
 
 Ler o conteúdo do arquivo /etc/motd: 
 
 # cat /etc/motd 
 
 Ler o conteúdo do arquivo /etc/profile com as linhas não-vazias numeradas: 
 
 # cat -b /etc/profile 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 58 
 
 
 
 Ler o conteúdo do arquivo /etc/profile com todas as linhas numeradas: 
 
 # cat -n /etc/profile 
 
 Reconstruir as cópias fragmentadas do arquivo /etc/passwd com nomes de arqaa, arqab e arqac: 
 
 # cat arqaa arqab arqac > passwd 
 
 # tac 
 
 Tem a mesma sintaxe do cat mas lê o arquivo da última linha para a primeira. 
 
 # sort 
 
 Ordena o conteúdo do arquivo. 
 
 Sintaxe: 
 
 # sort <opções> <arquivo> 
 
 Opções: 
 
 -d : ordem alfanumérica. 
 
 -n : ordem numérica. 
 
 -t : usa um delimitador. 
 
 -k : usa um campo como referência. 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 59 
 
 -r : ordem reversa. 
 
 -R : ordem randômica (aleatória). 
 
 Exemplos: 
 
 Classificar o conteúdo do arquivo /etc/passwd em ordem alfabética: 
 
 # sort -d /etc/passwd 
 
 Classificar o conteúdo do arquivo /etc/shadow em ordem alfabética inversa: 
 
# sort -dr /etc/passwd 
 
 
 Usando ‘ : ’ como separador, classificar o arquivo /etc/passwd em ordem numérica, tendo como 
referência o campo 3 do arquivo: 
 
 # sort -n -t : -k 3 /etc/passwd 
 
 # sed 
 
 Substitui texto e números de um arquivo. 
 
 Sintaxe: 
 
 # sed s/<texto_original>/<texto_substituto>/g <arquivo> 
 
 Exemplo: 
 
 Substituindo o termo ‘root’ do arquivo /etc/passwd pelo termo ‘administrador’: 
 
 # sed s/root/administrador/g /etc/passwd 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 60 
 
 
 
 
 # <comando> | tr 
 
 Comando que só pode ser utilizado em combinação com outro de leitura de arquivo através do “pipe”, 
o tr substitui caracteres em sequência. 
 
 Sintaxe: 
 
 # <comando> | tr <opção> <caracteres> 
 
 Algumas variáveis são utilizadas pelo comando: 
 
 \\ - backslash. 
 
 \b - backspace. 
 
 \\t - tabulação horizontal. 
 
 \n - nova linha (pula uma linha). 
 
 \v - tabulação vertical. 
 
 Exemplos: 
 
 Remover ‘ : ’ do arquivo /etc/passwd: 
 
 # cat /etc/passwd | tr -d : 
 
 Trocar ‘ : ‘ e ‘ , ‘ por tabulação no arquivo /etc/passwd: 
 
 # cat /etc/passwd | tr : \\t 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 61 
 
 
 
 
 Trocar letras maiúsculas do arquivo /etc/shadow por minúsculas e depois trocando ‘ : ‘ por tabulação : 
 
 # cat /etc/shadow | tr [a-z] [A-Z] | tr : \\t 
 
 
 
 # fmt 
 
 Formata um texto. 
 
 Sintaxe: 
 
 # fmt <opção> <arquivo> 
 
 Opções: 
 
 -w : limita a largura de cada linha. 
 
 -u : uniformiza os espaços dentro do arquivo. 
 
file://t
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 62 
 
 # join 
 
 Une linhas de 2 arquivos utilizando colunas em comum. 
 
 Sintaxe: 
 
 # join <arquivo1> <arquivo2> 
 
 # expand 
 
 Troca tabulação por espaço simples 
 
 Sintaxe: 
 
 # expand <opção> <arquivo> 
 
 Exemplo: 
 
 Convertendo linhas que tenham 2 tabulações para espaço simples do arquivo /etc/syslog.conf: 
 
 # expand -t 2 /etc/syslog.conf 
 
 # diff 
 
 Mostra as linhas diferentes de dois arquivos. 
 
 Sintaxe: 
 
 # diff <arquivo1> <arquivo2> 
 
 Exemplo: 
 
 Exibindo as linhas diferentes do arquivo arq1.txt e arq2.txt: 
 
 # diff arq1.txt arq2.txt 
 
 
 
Os arquivos originais são: 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 63 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 64 
 
9 - EXPRESSÕES REGULARES 
 
 Sempre que houver a necessidade de procurar padrões de textos em documentos utilizaremos as 
expressões regulares, ou regex, portanto regex nada mais é do que um método formal para buscar padrões de 
textos. 
 
9.1 – Metacaracteres 
 
 Composição de símbolos, caracteres com funções especiais que, agrupados entre si e com caracteres 
literais, formam uma sequência, uma expressão. 
 
Meta Significado 
* Zero, um ou mais 
? Zero ou um 
^ Início da linha 
$ Fim da linha 
[ ... ] [^... ] Lista de caracteres permitidos, e lista de caracteres proibidos. 
{n ,m } Vai de n até m 
\ Escapamento de caracteres especiais (espaço, parênteses, chaves, etc..) 
| Ou 
( ... ) Delimita um grupo 
. Qualquer caracter na posição 
 
 Exemplos: 
 
 Exibindo de /etc/passwd apenas os usuários que usem Shells BASH ou que tenham login negado: 
 
 # grep -E ‘(bash|false)’ /etc/passwd 
 
 Exibindo de /etc/shadow apenas os usuário que comecem com a,d,r,s : 
 
 # grep -E ^[adrs] /etc/shadow 
 
Exibindo de /etc/passwd apenas os usuários que usem BASH ou SH e comecem com letras que não 
sejam b a f e também os que não comecem com h: 
 
 # grep -E ‘(bash|sh)’.*^[^b-fh] /etc/passwd 
 
 Detalhe: ^ utilizado dentro de [ ] significa exceção! 
 
 Exibindo do /etc/passwd apenas os usuário que usem Shells BASH ou SH e também comecem com 
letras no intervalo de f a l : 
 
 # grep -E ^[f-l].*’(bash|sh)’ /etc/passwd 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 65 
 
 
 
 
 O grep é utilizado com E por que algumas expressões regulares fazem parte do grupo de REGEXP 
(expressões regulares avançadas), como é o caso do { }. 
 O comando grep -E é o mesmo que egrep. 
 Para exibir as linhas que tenham exatamente 5 caracteres de um arquivo chamado Linux.txt, as 
seguintes expressões poderiam ser utilizadas: 
 
 # grep ^....$ Linux.txt 
 
 Ou 
 # egrep ‘^.{5}$’ Linux.txt 
 
 Onde o {5} iria ser o responsável por dizer que . repete 5 vezes e o motivo de o “ponto” estar entre ^e 
$ é dizer para a expressão regular que “entre início e fim existem 5 posições”. 
 
 Exibindo as linhas que tenham pelo menos 70 caracteres: 
 
 # egrep ‘^.{70,}$’ /etc/passwd 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MANUAL DE TREINAMENTO LINUX SYSTEM ADMINISTRATOR 
MANUAL DE TREINAMENTO M.CURY 
LINUX SYSTEM ADMINISTRATOR PÁGINA 66 
 
9.2 - “Pipes”, redirecionamentos e execução de comandos em sequência 
 
 Como já se pode notar pelos capítulos anteriores, o | tem uma função importantíssima dentro de uma 
expressão regular, pois ele concatena a saída de um comando com a de outro posterior, como a seguir: 
 
 O comando cut -d : -f 1-5 /etc/passwd

Continue navegando