Você está na página 1de 47

DocumentoApostila de Debian Básico

Versão 2.2

Equipe Técnica

Jonsue Trapp Martins André Luiz de Souza Paula David Alves França Paulo César de Oliveira
Robson Alves Pavan

Páginas 76

1. Introdução 8
2. O que é o GNU/Debian 9
2.1. Quando surgiu? 9
2.2. Codinomes 9
2.3. Stable, Testing e Unstable 9
2.3.1. Stable 10
2.3.2. Testing 10
2.3.3. Unstable 10
2.4. Main, Contrib e Non-Free 10
2.5. Custo versus Benefício 1
3. Partições, Sistema de Arquivos e Estrutura de Diretórios12
3.1. Partições 12
3.2. Sistema de Arquivos 12
3.3. Estrutura de Diretórios 12
3.4. Por que Criar Várias Partições ? 13
4. Usuários e Grupos 14
4.1. Usuário 14
4.2. Grupo 14
4.3. Superusuário 14
4.4. Entrando no Sistema 14
4.5. Saindo/Reiniciando do Sistema 15
5. Conceitos Básicos de Utilização 16
5.1. Terminais Virtuais (Consoles) 16
5.2. Background e Foreground 16
5.3. Automação na Console 16
6. Redirecionamentos e Pipe 17
6.1. Utilização do Redirecionador “>” 17
6.2. Utilização do Redirecionador “>>” 17
6.3. Utilização do redirecionador “<” 17
6.4. Utilização do redirecionador “<<” 17
6.5. Uso do “|” (pipe) 17
6.6. Diferença entre Pipe e Redirecionamento 18
7. Comandos Básicos 19
Índice PÁG.: 3

7.1. Comandos para manipulação de diretório 19


7.1.1. ls 19
7.1.2. cd 21
7.1.3. pwd 21
7.1.4. mkdir 21
7.1.5. rmdir 2
7.2. Comandos para manipulação de Arquivos2
7.2.1. cat 2
7.2.2. rm 23
7.2.3. cp 23
7.2.4. mv 24
7.3. Comandos Diversos 25
7.3.1. badblocks 25
7.3.2. clear 26
7.3.3. date 26
7.3.4. df 27
7.3.5. ln 28
7.3.6. du 28
7.3.7. find 29
7.3.8. free 30
7.3.9. grep 31
7.3.10. head 32
7.3.1. nl 32
7.3.12. more 3
7.3.13. less 3
7.3.14. sort 3
7.3.15. tail 34
7.3.16. time 35
7.3.17. touch 35
7.3.18. uptime 36
7.3.19. dmesg 36
7.3.20. echo 36
7.3.21. su 36
7.3.2. uname 36
7.3.23. reboot 37
7.3.24. shutdown 37
7.3.25. mount 38
7.3.26. umount 39
7.4. Comandos para Manipulação de Contas 39
APOSTILA GNU/DEBIAN BÁSICO PÁG.: 4

7.4.1. adduser 39
7.4.2. addgroup 40
7.4.3. passwd 41
7.4.4. newgrp 41
7.4.5. userdel 42
7.4.6. groupdel 42
7.4.7. sg 42
7.4.8. Adicionando o usuário a um grupo extra 43
7.4.9. chfn 43
7.4.10. id 4
7.4.1. logname 45
7.4.12. users 45
7.4.13. groups 45
7.4.14. getent 45
7.5. Comandos de Rede 46
7.5.1. who 46
7.5.2. finger 46
7.5.3. ftp 47
7.5.4. whoami 47
7.5.5. hostname 48
7.5.6. ping 48
7.5.7. nmap 48
7.6. Comandos para Gerenciamento de Processos49
7.6.1. ps 49
7.6.2. top 49
7.6.3. bg 50
7.6.4. fg 50
7.6.5. jobs 50
7.6.6. kill 50
7.6.7. killall 51
8. Permissões de acesso a arquivos e diretórios 52
8.1. Donos, grupos e outros usuários 52
8.2. Tipos de Permissões de acesso 52
8.3. Etapas para acesso a um arquivo/diretório 53
8.3.1. Exemplos práticos de permissões de acesso53
8.4. Permissões de Acesso Especiais 5
8.5. A conta root 56
8.6. Comandos para Manipulação de Permissões 57
8.6.1. chmod 57
APOSTILA GNU/DEBIAN BÁSICO PÁG.: 5

8.6.2. chgrp 58
8.6.3. chown 58
8.7. Modo de Permissão Octal 59
9. Como Instalar pacotes 61
9.1. O que é um Pacote ? 61
9.2. Apt 61
9.2.1. Como encontrar pacotes que contém determinado arquivo 62
9.2.2. Reconfigurar a lista de pacotes 62
9.2.3. Após reconfigurar a lista de pacotes 63
9.2.4. Onde está a tal lista de pacotes para instalação? 63
9.3. Dpkg 63
10. Instalação do Sistema Operacional 65
1. Arquivos Importantes 6
1.1. Rede 6
1.2. Administração de Usuários 6
1.3. Xorg 6
12. Como Obter Ajuda 67
12.1. Páginas de Manual 67
12.2. Info Pages 67
12.3. Help on line 68
12.4. help 68
13. Anexos 69
13.1. Instalação do Sistema Operacional GNU/Debian Desktop Paraná69
13.1.1. Instalação e configuração dos meta-pacotes customizados 72
13.1.2. Removendo pacotes desnecessários e finalizando a instalação 72
13.2. Instalando uma impressora através do CUPS 72
13.3. SSH 75
APOSTILA GNU/DEBIAN BÁSICO PÁG.: 6

Figura 1 - As informações dos pacotes do sistema obtidas com o uso do dpkg 64


Figura 2 - A tela inicial de instalação do GNU/Debian 69
Figura 3 - A página principal de administração do CUPS – Aba “Home” 73
Figura 4 - Exibindo as informações de uma impressora instalada no CUPS - Aba "Printers"75
Índice de Figuras PÁG.: 7

APOSTILA GNU/DEBIAN BÁSICO 1. Introdução

Este documento, foi elaborado especialmente para o curso de Debian básico ministrado pela

Coordenação de Planejamento, Pesquisa e Capacitação - CPPC. O objetivo desta apostila, é


fazer uma explanação básica com relação aos conceitos e ao uso das principais ferramentas
que encontramos numa distribuição GNU/Linux, de maneira especial no GNU/Debian. Esta
apostila foi gerada tendo como base o “Guia Foca GNU/Linux para Iniciantes”, de Gleydson
Mazioli da Silva, que pode ser acessado em
“http://focalinux.cipsga.org.br/guia/iniciante/index.htm#contents”.

A Gerência de Gestão de Ambientes – GGA, por meio da Coordenação de Planejamento,

Pesquisa e Capacitação – CPPC, espera que você possa aproveitar o conteúdo deste material
para ampliar mais o seu conhecimento do Sistema Operacional GNU/Linux, e em especial, da
distribuição Debian.
APOSTILA GNU/DEBIAN BÁSICO 2. O que é o GNU/Debian

“O Debian é um sistema operacional (SO) livre para seu computador. Um sistema operacional
é um conjunto de programas básicos e utilitários que fazem seu computador funcionar. O
Debian usa o kernel Linux, mas grande parte das ferramentas do sistema operacional vêm do
projeto GNU, daí o nome GNU/Linux.

O Debian GNU/Linux é mais que um simples SO: ele vem com mais de 18733 pacotes
contendo softwares pré-compilados e distribuídos em um bom formato, que torna fácil a
instalação deles na sua máquina.”

A última versão estável do Debian é 4.0, codinome “etch”. A última atualização desta versão foi
feita em 8 de Abril de 2007.

(fonte: http://w.debian.org)

2.1. Quando surgiu?

O Debian foi iniciado em agosto de 1993 por Ian Murdock, como uma nova distribuição que
seria feita abertamente, no espírito do Linux e do projeto GNU. O Debian deveria ser feito
cuidadosamente e consciensiosamente e ser mantido e suportado com cuidado similar. Ele
começou como um grupo pequeno de desenvolvedores de Software Livre e cresceu
gradualmente para se tornar uma comunidade grande e bem organizada de desenvolvedores e
usuários.

Debian é pronunciado /de.bi.ən/. e o nome vem do nome de seu criador, Ian Murdock, e sua
esposa, Debra.

2.2. Codinomes

Para saber sobre os nomes que cada uma das versões do Debian recebeu, leia esta
referência: http://w.debian.org/releases/

2.3. Stable, Testing e Unstable

O desenvolvimento da distribuição Debian segue um rígido controle de qualidade. A versão


conhecida como estável (stable) é exaustivamente testada e corrigida. Quando o conjunto de
pacotes atinge esta maturidade, eles são congelados (freeze) na versão em que estão, e uma
nova versão estável é lançada.

O intervalo de tempo entre o lançamento de duas versões estáveis pode levar 1 ou até 2 anos.
O compromisso é com a qualidade, ao contrário de outras distribuições que soltam “releases”
incompletos, devido as pressões de mercado. Isto é motivo de alguma confusão para aqueles
não habituados a utilizar o Debian. Quando uma nova versão de um pacote é lançada, digamos
o GNOME 2.12, ele não é incluído na versão estável, que disponibiliza apenas a série 2.8 .
Somente problemas graves, como um “bug” de segurança, é que permitem a alteração de um
pacote da distribuição estável.

Digamos que a versão estável do Debian esteja utilizando o Apache 1.3.3. Se um “bug” de
segurança for encontrado neste pacote, o time de desenvolvimento do Apache vai lançar a
versão corrigida com o número 1.3.3, por exemplo. O time de desenvolvimento do Debian
também vai corrigir o pacote, mas o número versão dele será alterado para 1.3.3-1, por
exemplo. Alguém não habituado com o Debian pode achar que está usando uma versão
errada. Na estrutura de diretórios do software a nova versão do Debian está nas “árvores” teste
e instável. O time de desenvolvimento coloca seus pacotes na árvore experimental. Em
seguida os pacotes são migrados para a instável e, após algum tempo, eles são migrados para
a árvore teste.

Isto significa que ele já teve um tempo suficiente para testes e não apresentou problemas. É
possível fazer a instalação de um sistema com a árvore teste, mas isso exige conhecimento
para resolver problemas com pacotes “jovens”.

A versão instável exige grande conhecimento e capacidade de resolver problemas de


configuração e instalação.

O Debian tem sempre três versões em manutenção constante: “stable”, “testing” e “unstable”.

A distribuição “stable” contém a última distribuição oficialmente lançada pela

Debian.

Essa é a versão de produção do Debian, ela é a recomendada primariamente. A distribuição


“stable” do Debian GNU/Linux está atualmente na versão 4.0 e seu codinome é etch. Ela foi
lançada em 8 de Abril de 2007.

A distribuição “testing” contém pacotes que não foram aceitos numa versão “stable” ainda, mas
eles já estão na fila para serem aceitos. A principal vantagem de usar essa distribuição é que
ela tem versões mais novas dos programas. A distribuição “testing” atual chama-se lenny.

É na distribuição “unstable” que o desenvolvimento ininterrupto do Debian ocorre.

Geralmente, os usuários dessa distribuição são os próprios desenvolvedores e pessoas que


gostam de emoções fortes. A distribuição “unstable” sempre possuí o codinome sid.

2.4. Main, Contrib e Non-Free


Todos os pacotes incluídos à distribuição oficial do Debian são livres de acordo com a

Definição Debian de Software Livre (http://w.debian.org/intro/free). Isso assegura uso livre e


redistribuição de pacotes com seu código fonte completo. A distribuição oficial do Debian é a
que está contida na seção “main” do repositório do Debian.

Como um serviço para nossos usuários, provemos pacotes em seções separadas que não
podem ser incluídas na distribuição “main” por causa de uma licença restritiva ou problemas
legais.

Os pacotes podem ser classificados quanto ao tipo de Licença de Software que seguem.

No site do Debian podemos encontrar a seguinte explicação:

•Contrib - Pacotes nessa área são livremente licenciados pelo detentor do copyright mas
dependem de outros pacotes que não são livres.

•Non-Free - Pacotes nessa área têm algumas condições na licença que restringem o uso ou
redistribuição do software.

•Non-US/Main - Pacotes nessa área são livres mas não podem ser exportados de um servidor
nos EUA.

•Non-US/Non-Free - Pacotes nessa área têm algumas condições na licença que restringem o
uso ou redistribuição do software. Eles não podem ser exportados dos EUA porque eles são
pacotes de criptografia que não são reconhecidos pelo procedimento de controle de
exportações, que é usado para os pacotes que estão no Main. Ou então eles não podem ser
armazenados em um servidor nos EUA porque eles estão envolvidos com problema de
patentes. Pacotes nessa área não necessariamente custam dinheiro, mas têm algumas
condições onerosas na licença restringindo o uso ou distribuição do software. •Non-US/Main e
Non-US/Non-Free - Esses pacotes não podem ser exportados dos EUA, eles são em sua
maioria pacotes de software de criptografia ou software que está obstruído por problemas com
patentes. A maioria deles é livre mas alguns são não-livres.

Note que os mesmos pacotes podem aparecer em muitas distribuições, mas com números de
versão diferentes.

2.5. Custo versus Benefício

Para evitarmos alguns enganos ou incompreensões, precisamos falar do elevado tempo entre
novas versões do Debian. Quando uma versão estável é liberada, ela não é alterada a menos
que apareça algum bug. Quando isto ocorre, apenas o pacote problemático é corrigido e não
atualizado para a versão mais recente.
Isso torna-se um incômodo principalmente quando se faz a instalação de uma estação de
trabalho. Geralmente um usuário quer a versão mais recente de determinado programa, seja
por melhorias no código, seja por novas características. Se você estiver usando a versão
estável, a única forma de conseguir isso é instalar a versão mais recente. Isso pode exigir
desde a recompilação do próprio programa, até a recompilação dele e de seus pré-requisitos.
Você não vai conseguir isso fazendo o “apt-get install”.

Se a sua instalação for para um servidor, isso pode ser menos problemático. Na maior parte do
tempo você estará suficientemente provido de bons pacotes. Um servidor também precisa de
um administrador experiente e capaz de manter o sistema funcionando. Teoricamente ele seria
capaz de instalar um pacote que não está na distribuição Debian. Em alguns casos, o CD de
instalação pode não conter um “driver” para uma versão nova de controladora SCSI. Isso vai
exigir mais do administrador para que ele consiga fazer a instalação do sistema operacional.
Eventualmente, ele poderá gerar um disquete com os módulos necessários. Em casos como
esse, as soluções começam a deixar de ser triviais. Com a intenção de utilizar versões mais
novas de alguns pacotes, alguém pode ter a idéia de misturar a “árvore” estável com a teste ou
pior, com a instável. Este procedimento pode gerar resultados imprevisíveis, e nem sempre
você poderá encontrar ajuda por estar fazendo algo muito fora dos padrões.

Você deve saber isso antes de instalar um servidor ou uma máquina desktop. Se a versão
estável pode ser “estável como uma rocha”, ela pode ser tão dura quanto se precisar de um
programa novíssimo!

APOSTILA GNU/DEBIAN BÁSICO 3. PARTIÇÕES, SISTEMA DE ARQUIVOS E ESTRUTURA


DE DIRETÓRIOS

3.1. Partições

São divisões existentes no disco rígido que marcam onde começa onde terminam um sistema
de arquivos. Por causa destas divisões, nós podemos usar mais de um Sistema Operacional no
mesmo computador, ou dividir o disco rígido em uma ou mais partes para ser usado por um
único Sistema Operacional.

Após criada e formatada, a partição será identificada como um dispositivo no diretório “/dev” e
deverá ser montada para permitir seu uso no sistema.

No Linux, os dispositivos existentes em seu computador são identificados por um arquivo


referente a este dispositivo no diretório “/dev”. A identificação de discos rígidos no Linux é feita
da seguinte forma:

|| | |
|| | |__Indica o número da partição do HD.
|| |_ Letra que indica o HD (a=primeiro, b=segundo...).
||_ Sigla que indica o tipo do HD (hd=ide, sd=scsi ou sata).
/dev/hda1 |_ Diretório onde são armazenados dispositivos do sistema.

3.2. Sistema de Arquivos

É criado durante a "formatação" da partição do disco. Após a formatação, toda a estrutura para
leitura/gravação de arquivos e diretórios pelo Sistema Operacional estará pronta para ser
usada. Normalmente este passo é feito durante a instalação de sua distribuição Linux.

Cada sistema de arquivos tem uma característica em particular mas seu propósito é o mesmo:
Oferecer ao Sistema Operacional a estrutura necessária para ler/gravar os arquivos/diretórios.

3.3. Estrutura de Diretórios

O Linux acessa as partições existentes nos discos rígidos e disquetes através de diretórios. Os
diretórios que são usados para acessar (montar) partições, são chamados de “Pontos de
Montagem”. No DOS, cada letra de unidade (C:, D:, E:) identifica uma partição de disco. No
Linux, os pontos de montagem fazem parte da grande estrutura do sistema de arquivos raiz.

O sistema GNU/Linux possui a seguinte estrutura básica de diretórios organizados segundo o


FHS (Filesystem Hierarchy Standard):

/ /bin

/boot /cdrom

/dev

/etc

Sistema raiz.

Contém arquivos programas do sistema que são usados com freqüência pelos usuários.

Contém arquivos necessários para inicialização do sistema. Ponto de montagem de unidades


de CD-ROM.

Contém arquivos usados para acessar dispositivos existentes no computador.

Arquivos de configuração de seu computador.

/floppy /home
/lib

/media, /mnt /proc

/root /sbin

/usr

Ponto de montagem de unidades de disquetes. Diretórios contendo os arquivos dos usuários.

Bibliotecas compartilhadas pelos programa do sistema e módulos do kernel.

Pontos de montagem de outros dispositivos e unidades de rede.

Sistema de arquivos do kernel. Este diretório não existe em seu disco rígido, ele é colocado lá
pelo kernel e usado por diversos programas que fazem sua leitura, verificam configurações do
sistema ou modificar o funcionamento de dispositivos do sistema através da alteração em seu
arquivos.

Diretório do usuário root.

Diretório de programas usados pelo superusuário para administração e controle do


funcionamento do sistema.

Diretório para armazenamento de arquivos temporários criados por programas.

Contém maior parte de seus programas. Normalmente acessível somente como leitura.

Contém maior parte dos arquivos que são gravados com freqüência pelos programas do
sistema.

3.4. Por que Criar Várias Partições ?

Vamos citar apenas uma razão, que é justamente a segurança. Caso venha ocorrer algum tipo
de corrupção do sistema de arquivos, somente aquela partição será afetada, e desta forma,
você terá apenas que restaurar (através de backups que tenha feito) ou refazer aquela
partição, não necessitando realizar qualquer tipo de ajustes em outras partes do sistema. Hoje
em dia, basicamente os usuários fazem pelo menos 4 partições:

/boot – partição para os arquivos de inicialização. / - partição para o sistema raiz. swap –
partição para memória virtual. /home – partição para os dados dos usuários.
Muitos usuários avançados, assim como empresas de médio e grande porte, se sentem mais
seguros colocando os diretórios cruciais do sistema em partições separadas.

APOSTILA GNU/DEBIAN BÁSICO 4. Usuários e Grupos

4.1. Usuário

Como o Unix foi concebido para que várias pessoas pudessem acessar a mesma máquina
usando os seus recursos, foi criado o conceito de usuário para diferenciar o que cada pessoa
estivesse fazendo e quais recursos ela pode utilizar.

A identificação do usuário é feita por um nome ou id, que é atribuído ao usuário durante a
criação de sua conta no sistema. E para garantir que um usuários não acessem o trabalho de
outro, ele deve informar uma senha que confirme a veracidade daquele id. Desta forma, o id +
a senha é a chave de entrada para o usuário acessar o sistema.

O Linux possui o conceito de grupo, que serve para agrupar vários usuários que compartilham
das mesmas características, por exemplo, permissão de acesso a arquivos e dispositivos.

4.3. Superusuário

O superusuário é aquele que tem plenos poderes dentro do Linux. É o superusuário que pode
criar novos usuários, alterar direitos, configurar e fazer atualizações no sistema. Somente ele
tem direito a executar essas atividades.

É recomendado utilizar a conta de superusuário somente quando for necessário configurar algo
no sistema e mesmo assim, sendo o mais cauteloso possível para evitar algum erro que
danifique o mesmo. O superusuário é identificado pelo nome de root.

4.4. Entrando no Sistema

Ao iniciar o Linux, um prompt semelhante ao ilustrado abaixo será mostrado: localhost login:

Você deverá informar seu login (nome de usuário) e pressionar Enter. Logo a seguir será
solicitado o seu password (senha).

Password:

Ao digitar a senha, não será apresentado nada, nem sequer os famosos asteriscos "*", pois
desta forma o sistema garante o sigilo absoluto de seu password, pois nem a pessoa que está
ao seu lado, saberá quantas teclas você digitou.
Ao pressionar o Enter, e se seus dados estiverem corretos, você acessará o prompt de
comando:

teste@localhost:~$

Onde: •O teste é o nome do usuário;

•O localhost é o nome da máquina;

•O ~ significa que o usuário está navegando na pasta /home/teste (pasta pessoal do seu
usuário).

Agora você está pronto para utilizar o sistema.

4.5. Saindo/Reiniciando do Sistema

Comando Descrição logout ou exit É utilizado pelo usuário para encerrar as atividades de sua
conta e voltar para a tela de solicitação de login.

reboot ou shutdown -r É utilizado pelo usuário root para reiniciar o sistema. shutdown -h now ou
halt É utilizado pelo usuário root para desligar o sistema imediatamente.

Os comandos de reinicialização e de desligamento, somente podem ser utilizados pelo usuário


root.

Há ainda uma alternativa para que qualquer usuário possa reiniciar o sistema, bastando usar a
combinação das teclas <CTRL> + <ALT> + <DEL>, mas isto pode ser desabilitado no
arquivo /etc/inittab.

APOSTILA GNU/DEBIAN BÁSICO 5. Conceitos Básicos de Utilização

5.1. Terminais Virtuais (Consoles)

Terminal (ou console) é o conjunto de teclado e tela conectados em seu computador. O

GNU/Linux, faz uso de sua característica “multi-usuária” usando os "terminais virtuais". Um


terminal virtual, é uma segunda seção de trabalho completamente independente de outras, que
pode ser acessada no computador local ou remotamente.

No Linux, em modo texto, você pode acessar outros terminais virtuais pressionando a tecla
<ALT> e depois <F1> a <F6>. Cada tecla de função, corresponde a um número de terminal do
1 ao 6 (o sétimo é usado por padrão pelo ambiente gráfico X). O GNU/Linux possui mais de 63
terminais virtuais, mas apenas 6 estão disponíveis inicialmente por motivos de economia de
memória RAM (cada terminal virtual ocupa aproximadamente 350 Kb de memória RAM).

Se estiver usando o modo gráfico, você deve segurar <CTRL> + <ALT> enquanto pressiona
uma tecla de <F1> a <F6>.

5.2. Background e Foreground

O Linux gerencia seus processos (programas executando na memória) utilizando o conceito de


“Background” e “Foreground”. De forma simplificada, “Foreground” significa que os programas
serão executados em 1° plano, ou seja, o programa irá utilizar a console corrente de maneira
interativa, não permitindo que o usuário use esta console para qualquer outra atividade. De
forma contrária, “Background” significa que os programas serão executados em 2° plano, ou
seja, eles serão executados de maneira não-interativa sendo que o console não ficará
“ocupado” e o usuário poderá utilizá-lo para outras finalidades.

5.3. Automação na Console

Por padrão, o Debian utiliza um interpretador de comandos (shell) chamado “Bash”. O

Bash inclui várias facilidades para o usuário, entre eles a auto-complementação e uma
combinação de teclas de funcionalidades. Abordaremos neste tópico alguns recursos básicos
que o usuário deverá possuir conhecimento para melhorar a sua experiência na utilização da
console ou terminais virtuais:

Comandos Resultado CTRL + CTermina a execução de um programa que esteja sendo


executado em 1° plano.

CTRL + ZPara (pausa) a execução de um programa que esteja sendo executado em 1° plano.

CTRL + LLimpa a tela. CTRL + APosiciona o cursor no inicio da linha. CTRL + EPosiciona o
cursor no final da linha. CTRL + DSaí do sistema (logout). CTRL + UApaga as expressões a
partir do ponto onde o cursor está até o inicio da linha. CTRL + YInsere o trecho apagado a
partir da posição do cursor. CTRL + RRealiza uma busca no histórico de comandos
executados.

TABAuto-complementação. Basta digitar parte de um nome de arquivo/diretório ou comando e


pressionar <TAB> para que o Bash complete a expressão para usuário.

APOSTILA GNU/DEBIAN BÁSICO 6. Redirecionamentos e Pipe


Esta seção explica o funcionamento dos recursos de redirecionamento de entrada e saída do
sistema GNU/Linux.

6.1. Utilização do Redirecionador “>”

Redireciona a saída de um programa/comando/script para algum dispositivo ou arquivo em vez


de enviar os dados para saída padrão (tela). Quando é usado com arquivos, este
redirecionamento cria ou substituí o conteúdo do arquivo.

Por exemplo, você pode usar o comando “ls >listagem.txt” para enviar a saída do comando “ls”
para um arquivo chamado “listagem.txt”, caso este arquivo exista, ele será sobrescrito com a
saída de “ls”, caso contrário, será criado. Use o comando “cat” para visualizar o conteúdo do
arquivo “listagem.txt”.

Você também poderá usar o redirecionador para enviar dados a dispositivos/recursos do


sistema. É possível por exemplo, redirecionar a saída de um comando para o segundo console
(“/dev/tty2”) do sistema, usando algo como “ls > /dev/tty2”, o resultado do comando “ls” neste
caso, seria exibido no segundo console (pressione “CTRL” + “ALT” + ”F2” para mudar para o
segundo console, e “CTRL” + “ALT” + ”F1”, para retornar ao primeiro).

6.2. Utilização do Redirecionador “>>”

Redireciona a saída de um programa/comando/script, para algum dispositivo do sistema ou


acrescenta os dados ao final de um arquivo em vez de enviá-los à saída padrão (tela). A
diferença entre este redirecionador e o explicado no tópico anterior, é que caso este seja usado
com arquivos, ele manterá o conteúdo original do arquivo e acrescentará a saída do comando
em questão ao final do arquivo em vez de substituir seu conteúdo. .

Por exemplo, você pode acrescentar a saída do comando “ls /” ao arquivo “listagem.txt”, usado
como exemplo no tópico anterior, usando “ls / >> listagem.txt”.

6.3. Utilização do redirecionador “<”

Redireciona a entrada padrão de um arquivo/dispositivo para um comando. Este redirecionador


atua de forma inversa ao redirecionador “>”.

Você pode por exemplo, usar o comando “cat < teste.txt” para enviar o conteúdo do arquivo
“teste.txt” ao comando “cat” que mostrará seu conteúdo. É claro que o mesmo resultado,
poderia ser obtido com “cat teste.txt”, mas este exemplo serviu apenas para mostrar a
funcionalidade do redirecionador “<”.

6.4. Utilização do redirecionador “<<”


Este redirecionador serve principalmente para marcar o fim de exibição de um bloco. Ele é
especialmente usado, em conjunto com o comando “cat”, mas também tem outras aplicações.
Abaixo um exemplo auto-explicativo: cat << final este arquivo será mostrado até que a palavra
final seja localizada no inicio da linha final

Um pipe, é responsável por enviar a saída de um comando para a entrada do próximo


comando presente numa cadeia de processamento. O último comando da cadeia é quem
imprimirá o resultado do processamento.

Um exemplo simples de utilização de pipes, pode ser obtido através do seguinte exemplo: ls -la
/ | more

Primeiramente, o comando “ls” faz uma listagem longa de arquivos e diretórios contidos no
diretório raiz (“/”) que é enviada diretamente ao comando “more”, que tem a função de efetuar
uma pausa na exibição dos resultados a cada 25 linhas mostradas na tela.

Você pode notar pelo exemplo acima, que ambos tanto “ls” quanto “more” são comandos,
porque estão separados por um "|". Se um deles não existir ou for digitado incorretamente, será
mostrada uma mensagem de erro.

Um resultado diferente seria obtido usando um ">" no lugar do "|"; A saída do comando “ls -la”
seria gravada em um arquivo chamado “more”.

Outro exemplo para um melhor entendimento: find / -name teste | grep /home

Neste exemplo, procuramos em todos os diretórios do sistema por um arquivo/diretório


chamado “teste”, o resultado deste comando, será enviado ao “grep”, para que seja filtrado
exibindo apenas os resultados que contenham a expressão “/home”.

6.6. Diferença entre Pipe e Redirecionamento

A principal diferença entre redirecionamento e pipes, é que o último envolve processamento


entre comandos, ou seja, a saída de um comando é enviado a entrada de outro, já os
redirecionamentos apenas alteram o fluxo natural da saída/entrada de dados no sistema.

Também é importante que o leitor saiba, que podem ser utilizados mais de símbolo de
redirecionamento ou pipe (“<”, “>”, “|”, etc) em uma mesma linha de execução de comandos.

APOSTILA GNU/DEBIAN BÁSICO 7. Comandos Básicos

7.1. Comandos para manipulação de diretório Abaixo comandos úteis para a manipulação de
diretórios.
ls [opções] [caminho/arquivo] [caminho1/arquivo1]
Lista os arquivos de um diretório.

onde:

caminho/arquivo Diretório/arquivo que será listado.

caminho1/arquivo1

Outro Diretório/arquivo que será listado. Podem ser feitas várias listagens de uma só vez.

Opções

-a, --all Lista todos os arquivos (inclusive os ocultos) de um diretório.

-A, --almost-all

Lista todos os arquivos (inclusive os ocultos) de um diretório, exceto o diretório atual e o de


nível anterior.

-B, --ignore-backups Não lista arquivos que terminam com ~ (Backup).

--color=PARAM

Mostra os arquivos em cores diferentes, conforme o tipo de arquivo. PARAM pode ser: never -
Nunca lista em cores (mesma coisa de não usar o parâmetro –-color). always - Sempre lista em
cores conforme o tipo de arquivo. auto - Somente colore a listagem se estiver em um terminal.

-d, --directory Lista os nomes dos diretórios ao invés do conteúdo.

-f Não classifica a listagem.

Insere um caracter após arquivos executáveis ('*'), diretórios ('/'), soquete ('='), link simbólico
('@') e pipe ('|'). Seu uso é útil para identificar de forma fácil tipos de arquivos nas listagens de
diretórios.

-G, --no-group Oculta a coluna de grupo do arquivo.

-h, --human-readable Mostra o tamanho dos arquivos em Kbytes, Mbytes, Gbytes.

Faz o mesmo que -h, mas usa unidades de 1000 ao invés de 1024 para especificar Kbytes,
Mbytes, Gbytes.
Usa o formato longo para listagem de arquivos. Lista as permissões, data de modificação,
donos, grupos etc.

-n Usa a identificação de usuário e grupo numérica ao invés dos nomes.

-L, --dereference Lista o arquivo original e não o link referente ao arquivo.

-o Usa a listagem longa sem os donos dos arquivos (mesma coisa que -lG).

Mesma coisa que -F, mas não inclui o símbolo '*' em arquivos executáveis. Esta opção é típica
de sistemas Linux.

-rwxr-xr-- 1 marcius
8192 nov 4 16:0 teste
gga
Lista diretórios e sub-diretórios recursivamente. Uma listagem feita com o comando ls -la
normalmente é mostrada da seguinte maneira:

Abaixo as explicações de cada parte: -rwxr-xr-- São as permissões de acesso ao arquivo teste.
A primeira letra (da esquerda) identifica o tipo do arquivo, se tiver um d é um diretório, se tiver
um "-" é um arquivo normal. As outras informações são: 1

Se for um diretório, mostra a quantidade de sub-diretórios existentes dentro dele. Caso for um
arquivo, será 1.

marcius Nome do dono do arquivo teste.

gga Nome do grupo que o arquivo teste pertence.

8192 Tamanho do arquivo (em bytes).

nov Mês da criação/última modificação do arquivo.

4 Dia que o arquivo foi criado.

Hora em que o arquivo foi criado/modificado. Se o arquivo foi criado há mais de um ano, em
seu lugar é mostrado o ano da criação do arquivo.

teste Nome do arquivo.

Exemplos do uso do comando ls: •ls - Lista os arquivos do diretório atual.

•ls /bin /sbin - Lista os arquivos do diretório /bin e /sbin


•ls -la /bin - Listagem completa (vertical) dos arquivos do diretório /bin inclusive os ocultos.

Entra em um diretório. Você precisa ter a permissão de execução para entrar no diretório.

cd [diretório] onde: diretório

Diretório que deseja entrar. Exemplos:

c
- sobe um diretório.
d
Usando cd sem parâmetros ou cd ~, você retornará ao seu diretório de usuário (diretório
home). cd / - retornará ao diretório raiz. cd - retornará ao diretório anteriormente acessado.
cd ../[diretório] - sobe um diretório e entra imediatamente no próximo (por exemplo, quando
você está em /usr/sbin, você digita cd ../bin, o comando cd retorna um diretório (/usr) e entra
imediatamente no diretório bin (/usr/bin).

Mostra o nome e caminho do diretório atual.

Você pode usar o comando pwd para verificar em qual diretório se encontra atualmente.

Cria um diretório no sistema. Um diretório é usado para armazenar arquivos de um


determinado tipo. O diretório pode ser entendido como uma pasta onde você guarda seus
papeis (arquivos).

Como uma pessoa organizada, você utilizará uma pasta para guardar cada tipo de documento,
da mesma forma você pode criar um diretório vendas para guardar seus arquivos relacionados
com vendas naquele local.

mkdir [opções] [caminho/diretório] [caminho1/diretório1] onde:

caminho Caminho onde o diretório será criado.

diretório Nome do diretório que será criado.

Opções --verbose

Mostra uma mensagem para cada diretório criado. As mensagens de erro serão mostradas
mesmo que esta opção não seja usada. -p, --parents Cria os diretórios de nível superior
(diretórios “pai”) do diretório que está sendo criado, caso eles não existão.

Para criar um novo diretório, você deve ter permissão de gravação. Por exemplo, para criar um
diretório em /tmp com o nome de teste que será usado para gravar arquivos de teste, você
deve usar o comando mkdir /tmp/teste.
Podem ser criados mais de um diretório com um único comando (mkdir /tmp/teste /tmp/teste1
/tmp/teste2).

Remove um diretório do sistema. Este comando faz exatamente o contrário do mkdir.

O diretório a ser removido deve estar vazio e você deve ter permissão de gravação para
remove-lo.

rmdir [caminho/diretório] [caminho1/diretório1] onde:

caminho Caminho do diretório que será removido.

diretório Nome do diretório que será removido.

É necessário que esteja um nível acima do diretório(s) que será(ão) removido(s). Para remover
diretórios que contenham arquivos, use o comando rm com a opção -r.

7.2. Comandos para manipulação de Arquivos Abaixo, comandos utilizados para manipulação
de arquivos.

Mostra o conteúdo de um arquivo binário ou texto. cat [opções] [diretório/arquivo]


[diretório1/arquivo1] diretório/arquivo Localização do arquivo que deseja visualizar o conteúdo.

Opções -n, --number Mostra o número das linhas enquanto o conteúdo do arquivo é mostrado.

-s, --squeeze-blank

Não mostra mais que uma linha em branco entre um parágrafo e outro. -Lê a entrada padrão.

O comando cat trabalha com arquivos texto. Use o comando zcat para ver diretamente
arquivos compactados com gzip.

Exemplo: cat /usr/doc/copyright/GPL

Apaga arquivos. Também pode ser usado para apagar diretórios e sub-diretórios vazios ou que
contenham arquivos.

rm [opções][caminho][arquivo/diretório] onde:

caminho
Localização do arquivo que deseja apagar. Se omitido, assume que o arquivo esteja no
diretório atual.

arquivo/diretório Arquivo que será apagado.

Opções -i, --interactive Pergunta antes de remover, esta é ativada por padrão.

-v, --verbose Mostra os arquivos na medida que são removidos.

-r, --recursive

Usado para remover arquivos em sub-diretórios. Esta opção também pode ser usada para
remover sub-diretórios.

-f, --force Remove os arquivos sem perguntar.

-- arquivo

Remove arquivos/diretórios que contém caracteres especiais. O separador "--" funciona com
todos os comandos do shell e permite que os caracteres especiais como "*", "?", "-", etc. sejam
interpretados como caracteres comuns.

Use com atenção o comando rm, uma vez que os arquivos e diretórios forem apagados, eles
não poderão ser mais recuperados.

Exemplos: rm teste.txt - Apaga o arquivo teste.txt no diretório atual. rm *.txt - Apaga todos os
arquivos do diretório atual que terminam com .txt. rm *.txt teste.novo - Apaga todos os arquivos
do diretório atual que terminam com .txt e também o arquivo teste.novo. rm -rf /tmp/teste/* -
Apaga todos os arquivos e sub-diretórios do diretório /tmp/teste mas mantém o sub-diretório
/tmp/teste. rm -rf /tmp/teste - Apaga todos os arquivos e sub-diretórios do diretório /tmp/teste,
inclusive /tmp/teste. rm -f -- --arquivo-- - Remove o arquivo de nome --arquivo--.

Copia arquivos. cp [opções] [origem] [destino] onde:

origem

Arquivo que será copiado. Podem ser especificados mais de um arquivo para ser copiado
usando “Coringas”.

destino
O caminho ou nome de arquivo onde será copiado. Se o destino for um diretório, os arquivos
de origem serão copiados para dentro do diretório.

Opções i, --interactive Pergunta antes de substituir um arquivo existente.

-f, --force Não pergunta, substitui todos os arquivos caso já exista.

Copia arquivos dos diretórios e subdiretórios da origem para o destino. É recomendável usar -R
ao invés de -r.

-R, --recursive

Copia arquivos e sub-diretórios (como a opção -r) e também os arquivos especiais FIFO e
dispositivos.

-v, --verbose Mostra os arquivos enquanto estão sendo copiados.

O comando cp copia arquivos da ORIGEM para o DESTINO. Ambos origem e destino terão o
mesmo conteúdo após a cópia.

Exemplos: cp teste.txt teste1.txt - Copia o arquivo teste.txt para teste1.txt. cp teste.txt /tmp -
Copia o arquivo teste.txt para dentro do diretório /tmp. cp * /tmp - Copia todos os arquivos do
diretório atual para /tmp. cp /bin/* . - Copia todos os arquivos do diretório /bin para o diretório
em que nos encontramos no momento. cp -R /bin /tmp - Copia o diretório /bin e todos os
arquivos/sub-diretórios existentes para o diretório /tmp. cp -R /bin/* /tmp - Copia todos os
arquivos do diretório /bin (exceto o diretório /bin) e todos os arquivos/sub-diretórios existentes
dentro dele para /tmp. cp -R /bin /tmp - Copia todos os arquivos e o diretório /bin para /tmp.

Move ou renomeia arquivos e diretórios. O processo é semelhante ao do comando cp mas o


arquivo de origem é apagado após o término da cópia.

mv [opções] [origem] [destino] onde:

origem Arquivo/diretório de origem.

destino Local onde será movido ou novo nome do arquivo/diretório.

Opções -f, --force Substitui o arquivo de destino sem perguntar.

-i, --interactive Pergunta antes de substituir. É o padrão.

-v, --verbose Mostra os arquivos que estão sendo movidos.


O comando mv copia um arquivo da ORIGEM para o DESTINO (semelhante ao cp), mas após
a cópia, o arquivo de ORIGEM é apagado.

Exemplos: mv teste.txt teste1.txt - Muda o nome do arquivo teste.txt para teste1.txt. mv teste.txt
/tmp - Move o arquivo teste.txt para /tmp. Lembre-se que o arquivo de origem é apagado após
ser movido. mv teste.txt teste.new (supondo que teste.new já exista) - Copia o arquivo teste.txt
por cima de teste.new e apaga teste.txt após terminar a cópia.

7.3. Comandos Diversos Comandos de uso diversos no sistema.

Realiza a procura por blocos defeituosos num dispositivo de armazenamento, comumente uma
partição ou um disco rígido. Somente testes de leitura podem ser realizados em partições
montadas (disponíveis para serem acessadas pelos usuários), já os testes que envolvem
leitura/escrita, são obrigatoriamente feitos com as partições e discos desmontados.

badblocks [opções] dispositivo [bloco-final] [bloco-inicial]

Onde: dispositivo Representa o dispositivo que se deseja checar. Pode ser uma partição ou um
disco rígido. Por exemplo, “/dev/hdb” ou “/dev/hda2”.

bloco-final/bloco-inicial Indicam o bloco em que a checagem deve iniciar (bloco-inicial) e no


qual deve terminar (bloco-final). Caso estes parâmetros não sejam fornecidos, a checagem
iniciará pelo primeiro bloco do dispositivo e terminará no ultimo.

opções: -b tamanho

Define o tamanho do bloco a ser utilizado na checagem, através do uso do argumento


“tamanho”. O padrão é 1024.

-c número

Este parâmetro define a quantidade de blocos que serão testados por vez. O padrão é 64.

-i arquivo

Faz a leitura de um arquivo que contém uma listagem de blocos defeituosos previamente
conhecidos. Isto otimiza a execução do comando badblocks que não perderá tempo checando
estas áreas. Todos os blocos contidos no arquivo, serão omitidos da checagem e da saída do
comando.

-o arquivo
Cria um arquivo contendo os blocos defeituosos detectados pela execução do comando
badblocks. Se esta opção não for especificada, badblocks apenas mostra os resultados na
saída padrão.

-p número

Pode-se definir o número de vezes que a checagem do dispositivo será repetida, usando este
parâmetro. O padrão é 0 (zero), ou seja, apenas uma checagem sem repetições.

Realiza o teste de leitura/escrita de modo não-destrutivo, preservando os dados no dispositivo.

Exibe o progresso da execução de badblocks, mostrando os blocos já processados.

Exibe informações sobre a execução de badblocks. Por padrão, badblocks é executado no


modo silencioso, não permitindo que o usuário acompanhe o progresso da checagem.

Realiza o teste de leitura/gravação de modo destrutivo. Não utilize esta opção caso você não
possa destruir os dados no dispositivo de armazenamento. Esta opção é mais rápida que “-n”.

Exemplos: badblocks -v /dev/hda2 Faz a checagem da segunda partição do primeiro disco IDE
exibindo informações sobre o progresso da verificação.

badblocks -n -v /dev/sdb Realiza a verificação no modo leitura/escrita não-destrutivo e exibe


informações sobre o progresso da checagem feita pelo programa, sobre o segundo dispositivo
de armazenamento SCSI da maquina.

badblocks -w -s /dev/hdc Realiza o teste de leitura/escrita de forma destrutiva no primeiro disco


da segunda controladora IDE e exibe os blocos já verificados para o acompanhamento da
verificação.

Limpa a tela e posiciona o cursor no canto superior esquerdo do vídeo. clear

Permite ver/modificar a Data e Hora do Sistema. Você precisa estar como usuário root para
modificar a data e hora.

date MesDiaHoraMinuto[AnoSegundos] onde:

MesDiaHoraMinuto[AnoSegundos]

São respectivamente os números do mês, dia, hora e minutos sem espaços. Opcionalmente
você pode especificar o Ano (com 2 ou 4 dígitos) e os Segundos.
Define o formato da listagem que será usada pelo comando date. Os seguintes formatos são os
mais usados:

%y - Ano (dois dígitos).

%Y - Ano (quatro dígitos).

%p - AM/PM (útil se utilizado com %d).

%r - Formato de 12 horas completo (h:m:s AM/PM).

%T - Formato de 24 horas completo (h:m:s).

%w - Dia da semana (0-6).

Outros formatos podem ser obtidos através da página de manual do date. Para maiores
detalhes, veja a página de manual do comando date. Para ver a data atual digite: date Se
quiser mudar a Data para 25/12 e a hora para 08:15 digite: date 12250815 Para mostrar
somente a data no formato dia/mês/ano: date +%d/%m/%Y

Mostra o espaço livre/ocupado de cada partição. df [opções] onde:

Opções -a Inclui sistemas de arquivos com 0 blocos.

-h, --human-readable Mostra o espaço livre/ocupado em Mb, Kb, Gb ao invés de blocos.

-H Idêntico a -h mas usa 1000 ao invés de 1024 como unidade de cálculo.

-k Lista em Kbytes.

-l Somente lista sistema de arquivos locais.

-m Lista em Mbytes (equivalente a --block-size=1048576).

Exemplos: df df -h df -t vfat

Cria links para arquivos e diretórios no sistema. O link é um mecanismo que faz referência a
outro arquivo ou diretório em outra localização. O link em sistemas GNU/Linux faz referência
reais ao arquivo/diretório podendo ser feita cópia do link (será copiado o arquivo alvo), entrar
no diretório (caso o link faça referência a um diretório), etc.
ln [opções] [origem] [link] onde:

origem Diretório ou arquivo de onde será feito o link.

link Nome do link que será criado.

Opções -s

Cria um link simbólico. Usado para criar ligações com o arquivo/diretório de destino.

-v Mostra o nome de cada arquivo antes de fazer o link.

-d Cria um hard link para diretórios. Somente o root pode usar esta opção.

Existem 2 tipos de links: simbólicos e hardlinks.

O link simbólico cria um arquivo especial no disco (do tipo link) que tem como conteúdo o
caminho para chegar até o arquivo alvo (isto pode ser verificado pelo tamanho do arquivo do
link). Use a opção -s para criar links simbólicos. O hardlink faz referência ao mesmo inodo do
arquivo original, desta forma ele será perfeitamente idêntico, inclusive nas permissões de
acesso, ao arquivo original.

Ao contrário dos links simbólicos, não é possível fazer um hardlink para um diretório ou fazer
referência a arquivos que estejam em partições diferentes.

Observações:

Se for usado o comando rm com um link, somente o link será removido. Se for usado o
comando cp com um link, o arquivo original será copiado ao invés do link. Se for usado o
comando mv com um link, a modificação será feita no link. Se for usado um comando de
visualização (como o cat), o arquivo original será visualizado.

Exemplos: ln -s /dev/ttyS1 /dev/modem - Cria o link /dev/modem para o arquivo /dev/ttyS1. ln -s


/tmp ~/tmp - Cria um link ~/tmp para o diretório /tmp.

7.3.6. du Mostra o espaço ocupado por arquivos e sub-diretórios do diretório atual.

APOSTILA GNU/DEBIAN BÁSICO du [opções] onde:

Opções -a, --all Mostra o espaço ocupado por todos os arquivos.

-b, --bytes Mostra o espaço ocupado em bytes.


-c, --total Faz uma totalização de todo espaço listado.

-D Não conta links simbólicos.

-h, --human

Mostra o espaço ocupado em formato legível por humanos (Kb, Mb) ao invés de usar blocos.

-H Como o anterior mas usa 1000 e não 1024 como unidade de cálculo.

-k Mostra o espaço ocupado em Kbytes.

-m Mostra o espaço ocupado em Mbytes.

-S, --separate-dirs Não calcula o espaço ocupado por sub-diretórios.

Exemplo: du -h du -hc

Procura por arquivos/diretórios no disco. find pode procurar arquivos através de sua data de
modificação, tamanho etc através do uso de opções. O find, ao contrário de outros programas,
usa opções longas através de um "-".

find [diretório] [opções/expressão] onde:

diretório Inicia a procura neste diretório, percorrendo seu sub-diretórios.

Opções/expressão -name [expressão] Procura pelo nome [expressão] nos nomes de arquivos e
diretórios processados.

-iname [expressão] Procura pelo nome [expressão] desconsiderando maiúsculas e minúsculas.

-depth

Processa os sub-diretórios primeiro antes de processar os arquivos do diretório principal.

-maxdepth [num]

Faz a procura até [num] sub-diretórios dentro do diretório que está sendo pesquisado.

-mindepth [num] Não faz nenhuma procura em diretórios menores que [num] níveis.
-mount, -xdev

Não faz a pesquisa em sistemas de arquivos diferentes daquele de onde o comando find foi
executado.

-size [num]

Procura por arquivos que tiverem o tamanho [num]. [num] pode ser antecedido de "+" ou "-"
para especificar um arquivo maior ou menor que [num]. A opção -size pode ser seguida de: b -
Especifica o tamanho em blocos de 512 bytes. É o padrão caso [num] não seja acompanhado
de nenhuma letra. c - Especifica o tamanho em bytes. k - Especifica o tamanho em Kbytes.

-type [tipo]

Procura por arquivos do [tipo] especificado. Os seguintes tipos são aceitos: b – bloco c –
caracter d – diretório p – pipe f - arquivo regular l - link simbólico s – sockete

A maior parte dos argumentos numéricos podem ser precedidos por "+" ou "-". Para detalhes
sobre outras opções e argumentos, consulte a página de manual.

Exemplo: find / -name grep - Procura no diretório raiz e sub-diretórios um arquivo/diretório


chamado grep. find / -name grep -maxdepth 3 - Procura no diretório raiz e sub-diretórios até o
terceiro nível, um arquivo/diretório chamado grep. find . -size +1000k - Procura no diretório
atual e sub-diretórios um arquivo com tamanho maior que 1000 kbytes (1Mbyte).

Mostra detalhes sobre a utilização da memória RAM do sistema. free [opções] onde:

Opções -b Mostra o resultado em bytes.

-k Mostra o resultado em Kbytes.

Mostra o resultado em Mbytes. -o Oculta a linha de buffers.

-t Mostra uma linha contendo o total.

-s [num]

Mostra a utilização da memória a cada [num] segundos. O free é uma interface ao arquivo
/proc/meminfo.

Procura por um texto dentro de um arquivo(s) ou no dispositivo de entrada padrão. grep


[expressão] [arquivo] [opções] onde:
expressão palavra ou frase que será procurada no texto. Se tiver mais de duas palavras você
deve identifica-la com aspas "" caso contrário o grep assumirá que a segunda palavra é o
arquivo! arquivo Arquivo onde será feita a procura.

Opções -A [número] Mostra o [número] de linhas após a linha encontrada pelo grep.

-B [número] Mostra o [número] de linhas antes da linha encontrada pelo grep.

-f [arquivo] Especifica que o texto que será localizado, está no arquivo [arquivo].

-h, --no-filename Não mostra os nomes dos arquivos durante a procura.

-i, --ignore-case Ignora diferença entre maiúsculas e minúsculas no texto procurado e arquivo.

-n, --line-number Mostra o nome de cada linha encontrada pelo grep.

-U, --binary Trata o arquivo que será procurado como binário.

Se não for especificado o nome de um arquivo ou se for usado um hífen "-", grep procurará a
string no dispositivo de entrada padrão. O grep faz sua pesquisa em arquivos texto. Use o
comando zgrep para pesquisar diretamente em arquivos compactados com gzip, os comandos
e opções são as mesmas. Exemplos:

grep "capitulo" texto.txt ps ax|grep inetd grep "capitulo" texto.txt -A 2 -B 2

Mostra as linhas iniciais de um arquivo texto. head [opções] onde:

Opções -c [numero] Mostra o [numero] de bytes do inicio do arquivo.

-n [numero]

Mostra o [numero] de linhas do inicio do arquivo. Caso não for especificado, o head mostra as
10 primeiras linhas.

Exemplos: head teste.txt head -n 20 teste.txt

Mostra o número de linhas junto com o conteúdo de um arquivo. nl [opções] [arquivo] onde:

arquivo É o arquivo ao qual se deseja exibir juntamente com a contagem das linhas.

Opções -b [opc]
Faz a filtragem de saída de acordo com [opc]: a

Numera todas as linhas. t

Não numera linhas vazias. n

Numera linhas vazias. texto Numera somente linhas que contém o [texto].

-v [num] Número inicial (o padrão é 1).

-i [num] Número de linhas adicionadas a cada linha do arquivo (o padrão é 1).

Exemplos: nl -ba /etc/passwd nl -i 2 /etc/passwd

Permite fazer a paginação de arquivos ou da entrada padrão. O comando more pode ser usado
como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela é
ocupada, o more efetua uma pausa e permite que você pressione Enter ou espaço para
continuar avançando no arquivo sendo visualizado. Para sair do more pressione c.

more [arquivo] onde:

arquivo É o arquivo que será paginado.

Para visualizar diretamente arquivos texto compactados pelo gzip .gz use o comando zmore.

Exemplos: more /etc/passwd cat /etc/passwd | more

Permite fazer a paginação de arquivos ou da entrada padrão. O comando less pode ser usado
como comando para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela é
ocupada, o less efetua uma pausa (semelhante ao more) e permite que você pressione Seta
para Cima e Seta para Baixo ou PgUP/PgDown para fazer o rolamento da página. Para sair do
less pressione a tecla <Q>.

less [arquivo] onde:

arquivo É o arquivo que será paginado.

Para visualizar diretamente arquivos texto compactados pelo utilitário gzip (arquivos .gz), use o
comando zless.

Exemplos: less /etc/passwd cat /etc/passwd | less


Organiza as linhas de um arquivo texto ou da entrada padrão. sort [opções] [arquivo] onde:

arquivo

É o nome do arquivo que será organizado. Caso não for especificado, será usado o dispositivo
de entrada padrão (normalmente o teclado ou um "|").

Opções -b Ignora linhas em branco.

-d Somente usa letras, dígitos e espaços durante a organização.

-f Ignora a diferença entre maiúsculas e minúsculas.

-r Inverte o resultado da comparação.

Caso estiver organizando um campo que contém números, os números serão organizados na
ordem aritmética. Por exemplo, se você tiver um arquivo com os números 100 10 50

Usando a opção -n, o arquivo será organizado desta maneira: 10 50 100

Caso esta opção não for usada com o sort, ele organizará como uma listagem alfabética (que
começam de a até z e do 0 até 9) 10 100 50

Verifica se o arquivo já esta organizado. Caso não estiver, retorna a mensagem "disorder on
arquivo".

-o arquivo Grava a saída do comando sort no arquivo.

Abaixo, exemplos de uso do comando sort: sort texto.txt - Organiza o arquivo texto.txt em
ordem crescente. sort texto.txt -r - Organiza o conteúdo do arquivo texto.txt em ordem
decrescente. cat texto.txt|sort - Faz a mesma coisa que o primeiro exemplo, só que neste caso
a saída do comando cat é redirecionado a entrada padrão do comando sort. sort -f texto.txt -
Ignora diferenças entre letras maiúsculas e minúsculas durante a organização.

Mostra as linhas finais de um arquivo texto. tail [opções] onde:

Opções -c [numero] Mostra o [numero] de bytes do final do arquivo.

-n [numero] Mostra o [numero] de linhas do final do arquivo.

Exemplos: tail teste.txt tail -n 20 teste.txt.


Mede o tempo gasto para executar um processo (programa). time [comando] onde:

comando É o comando/programa que deseja medir o tempo gasto para ser concluído.

Exemplo: time ls time find / -name crontab.

Muda a data e hora que um arquivo/diretório foi criado. Também pode ser usado para criar
arquivos vazios. Caso o touch seja usado com arquivos que não existam, por padrão ele criará
estes arquivos.

touch [opções] [arquivos] onde:

arquivos Arquivos que terão sua data/hora modificados.

Opções -t [[S]A]MDhm[.s]

Usa (A) Anos, Mês (M), Dias (D), Horas (h), minutos (m) e (s) segundos para modificação do(s)
arquivos ao invés da data e hora atual.

-a, --time=atime Faz o touch mudar somente a data e hora do acesso ao arquivo.

-c, --no-create Não cria arquivos vazios, caso os arquivos não existam.

-m, --time=mtime Faz o touch mudar somente a data e hora da modificação.

-r [arquivo] Usa as horas no [arquivo] como referência ao invés da hora atual.

Exemplos: touch teste - Cria o arquivo teste caso ele não existir. touch -t 10011230 teste -
Altera a data e hora do arquivo para 01/10 e 12:30. touch -t 120112301999.30 teste - Altera da
data, hora ano, e segundos do arquivo para 01/12/1999 e 12:30:30.

APOSTILA GNU/DEBIAN BÁSICO touch -t 1201120 * - Altera a data e hora do arquivo para
01/12 e 12:0.

Mostra o tempo de execução do sistema desde que o computador foi ligado. uptime

Mostra as mensagens de inicialização do kernel. São mostradas as mensagens da última


inicialização do sistema. Serve para localizar problemas na máquina.

dmesg

Dica: Utilize este comando em conjunto com o comando less, da seguinte forma: dmesg | less
Mostra mensagens. Este comando é útil na construção de scripts para mostrar mensagens na
tela para o usuário acompanhar sua execução.

echo [mensagem]

A opção -n pode ser usada para que não ocorra o salto de linha após a mensagem ser
mostrada.

Permite o usuário mudar sua identidade para outro usuário sem fazer o logout. Útil para
executar um programa ou comando como root sem ter que abandonar a seção atual.

su [usuário] onde:

usuário

É o nome do usuário que deseja usar para acessar o sistema. Se não digitado, é assumido o
usuário root.

Será pedida a senha do superusuário para autenticação. Digite exit quando desejar retornar a
identificação de usuário anterior.

Retorna informações sobre o sistema. uname [opções] onde:

Opções -a Exibe todas as informações.

-r Informações sobre a release (versão) do Kernel.

Reinicia o computador. reboot

Desliga/reinicia o computador imediatamente ou após determinado tempo (programável) de


forma segura. Todos os usuários do sistema são avisados que o computador será desligado.
Este comando somente pode ser executado pelo usuário root ou quando é usada a opção -a
pelos usuários cadastrados no arquivo /etc/shutdown.allow que estejam logados no console
virtual do sistema.

shutdown [opções] [hora] [mensagem] hora

Momento que o computador será desligado. Você pode usar H:M para definir a hora e minuto,
M para definir minutos, +S para definir após quantos segundos, ou now para imediatamente
(equivalente a +0).
O shutdown criará o arquivo /etc/nologin para não permitir que novos usuários façam login no
sistema (com excessão do root). Este arquivo é removido caso a execução do shutdown seja
cancelada (opção -c) ou após o sistema ser reiniciado.

mensagem

Mensagem que será mostrada a todos os usuários alertando sobre o reinício/desligamento do


sistema.

Opções -h Inicia o processo para desligamento do computador.

-r Reinicia o sistema

Cancela a execução do shutdown. Você pode acrescentar uma mensagem avisando aos
usuários sobre o fato.

O shutdown envia uma mensagem a todos os usuários do sistema alertando sobre o


desligamento durante os 15 minutos restantes e assim permite que finalizem suas tarefas.
Após isto, o shutdown muda o nível de execução através do comando init para 0
(desligamento), 1 (modo monousuário), 6 (reinicialização). É recomendado utilizar o símbolo
"&" no final da linha de comando para que o shutdown seja executado em segundo plano.

Quando restarem apenas 5 minutos para o reinicio/desligamento do sistema, o programa login


será desativado, impedindo a entrada de novos usuários no sistema.

O programa shutdown pode ser chamado pelo init pressionando as teclas <CTRL>

+ <ALT> + <DEL>. Alterando-se o arquivo /etc/inittab. Isto permite que somente os usuários
autorizados (ou o root) possam reinicializar o sistema.

Exemplos: shutdown -h now - Desligar o computador imediatamente. shutdown -r now -


Reinicia o computador imediatamente. shutdown 19:0 “A manutenção do servidor será iniciada
às 19:0” - Faz o computador entrar em modo monousuário (init 1) às 19:0 enviando a
mensagem A manutenção do servidor será iniciada às 19:0 a todos os usuários conectados ao
sistema. shutdown -r 15:0 “O sistema será reiniciado às 15:0 horas" - Faz o computador ser
reiniciado (init 6) às 15:0 horas enviando a mensagem O sistema será reiniciado às 15:0 horas
a todos os usuários conectados ao sistema. shutdown -r 20 - Faz o sistema ser reiniciado após
20 minutos. shutdown -c - Cancela a execução do shutdown.

O comando mount, tem como objetivo disponibilizar recursos do sistema, como partições do
disco ou dispositivos removíveis, como por exemplo pendrives, para que seja possível o acesso
a estes dispositivos pelo usuário. Esta atividade também é conhecida como “montar” um
dispositivo.
Para montar um dispositivo, também é necessário informar um “ponto de montagem”. Um
ponto de montagem, é na verdade um diretório abaixo do diretório raiz “/”, que será utilizado
para abrigar os dados do dispositivo que está sendo montado. Em geral, para esta finalidade
utiliza-se algum diretório criado logo abaixo do diretório “/media”.

mount [dispositivo] [ponto de montagem] [opções]

Onde:

dispositivo

Identificação da unidade de disco/partição que deseja acessar (como /dev/hda1 (disco rígido)
ou /dev/fd0 (primeira unidade de disquetes).

ponto de montagem

Diretório de onde a unidade de disco/partição será acessado. O diretório deve estar vazio para
montagem de um sistema de arquivo. Normalmente é usado o diretório “/mnt” para
armazenamento de pontos de montagem temporários.

Opções: -t [tipo]

Tipo do sistema de arquivos usado pelo dispositivo. São aceitos os sistemas de arquivos:

* ext2 - Para partições GNU/Linux usando o Extended File System versão 2 (a mais comum). *
ext3 - Para partições GNU/Linux usando o Extended File System versão 3, com suporte a
journaling. * reiserfs - Para partições reiserfs, com suporte a journaling.

* vfat - Para partições Windows 95 que utilizam nomes extensos de arquivos e diretórios.
Também é utilizado para montar a maioria dos dispositivos removíveis. * msdos - Para
partições DOS normais.

* iso9660 - Para montar unidades de CD-ROM. É o padrão.

* umsdos - Para montar uma partição DOS com recursos de partições EXT2, como permissões
de acesso, links, etc.

Para mais detalhes sobre opções usadas com cada sistema de arquivos, veja a página de
manual mount. -r

Caso for especificada, monta a partição somente para leitura. -w Caso for especificada, monta
a partição como leitura/gravação. É o padrão.
Existem muitas outras opções que podem ser usadas com o comando mount, mas aqui
procurei somente mostrar o básico para "montar" seus discos e partições no GNU/Linux (para
mais opções, veja a página de manual do mount). Caso você digitar mount sem parâmetros,
serão mostrados os sistemas de arquivos atualmente montados no sistema. Esta mesma
listagem pode ser vista em “/etc/mtab”. A remontagem de partição também é muito útil,
especialmente após reparos nos sistema de arquivos do disco rígido.

É necessário permissões de root para montar partições, a não ser que tenha especificado a
opção user no arquivo “/etc/fstab”.

Exemplo de Montagem:

•Montar uma partição Windows (vfat) de /dev/hda1 em /mnt/win somente para leitura: mount
/dev/hda1 /mnt/win -r -t vfat

•Montar a primeira unidade de disquetes /dev/fd0 em /floppy: mount /dev/fd0 /floppy -t vfat

•Montar um pendrive: mount /dev/sda1 /mnt/pen -t vfat

•Remontar a partição raíz como somente leitura: mount -o remount,rw /

•Remontar a partição raíz como leitura/gravação (a opção -n é usada porque o mount não
conseguirá atualizar o arquivo “/etc/mtab” devido ao sistema de arquivos “/” estar montado
como somente leitura atualmente: mount -n -o remount,rw /

O comando umount, faz a operação inversa do comando mount, ou seja, ele é utilizado para
“desmontar” recursos disponibilizados pelo comando mount. Você deve ter permissões de root
para desmontar um recurso.

umount [dispositivo/ponto de montagem]

Onde:

dispositivo/ponto de montagem Você pode tanto usar umount /dev/hda1 como umount
/media/dados para desmontar um sistema de arquivos em “/dev/hda1” (dispositivo) montado
em “/mnt/dados” (ponto de montagem).

Se o dispositivo estiver sendo utilizado, você não poderá desmontá-lo até que encerre todas as
aplicações que estejam fazendo uso, mesmo que seja só exibindo o conteúdo, daquele
dispositivo.

7.4. Comandos para Manipulação de Contas


Esta seção tem como objetivo, apresentar os comandos para manipulação de constas do
sistema Linux. Mesmo em ambientes onde a autenticação é realizada via um serviço de rede
específico (LDAP, NIS, etc), muitas vezes, é necessário criar usuários locais para utilização de
algum tipo de serviço que é executado localmente na maquina do usuário.

Adiciona um usuário ou grupo no sistema. Por padrão, quando um novo usuário é adicionado, é
criado um grupo com o mesmo nome do usuário. Opcionalmente o adduser também pode ser
usado para adicionar um usuário a um grupo. Será criado um diretório pessoal com o nome do
usuário (a não ser que o novo usuário criado seja um usuário do sistema) e este receberá uma
identificação. A identificação do usuário (UID) escolhida será a primeira disponível no sistema
especificada de acordo com a faixa de UIDS de usuários permitidas no arquivo de configuração
/etc/adduser.conf. Este é o arquivo que contém os padrões para a criação de novos usuários
no sistema.

adduser [opções] [usuário/grupo] onde:

usuário/grupo Nome do novo usuário que será adicionado ao sistema.

Opções: -disable-passwd

Não executa o programa passwd para escolher a senha e somente permite o uso da conta
após o usuário escolher uma senha.

--force-badname

Desativa a checagem de senhas ruins durante a adição do novo usuário. Por padrão o adduser
checa se a senha pode ser facilmente adivinhada.

--group

Cria um novo grupo ao invés de um novo usuário. A criação de grupos também pode ser feita
pelo comando addgroup.

-uid [num]

Cria um novo usuário com a identificação [num] ao invés de procurar o próximo UID disponível.

-gid [num]

Faz com que o usuário seja parte do grupo [gid] ao invés de pertencer a um novo grupo que
será criado com seu nome. Isto é útil caso deseje permitir que grupos de usuários possam ter
acesso a arquivos comuns.
Caso estiver criando um novo grupo com adduser, a identificação do novo grupo será [num].

--home [dir]

Usa o diretório [dir] para a criação do diretório home do usuário ao invés de usar o especificado
no arquivo de configuração /etc/adduser.conf.

--ingroup [nome]

Quando adicionar um novo usuário no sistema, coloca o usuário no grupo [nome] ao invés de
criar um novo grupo.

--quiet Não mostra mensagens durante a operação.

--system Cria um usuário de sistema ao invés de um usuário normal.

Os dados do usuário são colocados no arquivo /etc/passwd após sua criação e os dados do
grupo são colocados no arquivo /etc/group.

OBS: Caso esteja usando senhas ocultas (shadow passwords), as senhas dos usuários serão
colocadas no arquivo /etc/shadow e as senhas dos grupos no arquivo /etc/gshadow. Isto
aumenta mais a segurança do sistema porque somente o usuário root pode ter acesso a estes
arquivos, ao contrário do arquivo /etc/passwd que possui os dados de usuários e devem ser
lidos por todos.

7.4.2. addgroup Adiciona um novo grupo de usuários no sistema. As opções usadas são
análogas ao comando adduser. addgroup [usuário/grupo] [opções]

Muda a senha do usuário ou grupo. Um usuário somente pode alterar a senha de sua conta,
mas o superusuário (root) pode alterar a senha de qualquer conta de usuário, inclusive a data
de validade da conta etc. Os donos de grupos também podem alterar a senha do grupo com
este comando.

passwd [usuário/grupo] [opções] onde:

usuário Nome do usuário/grupo que terá sua senha alterada.

Opções: -g

Se especificada, a senha do grupo será alterada. Somente o root ou o administrador do grupo


pode alterar sua senha. A opção -r pode ser usada com esta para remover a senha do grupo. A
opção -R pode ser usada para restringir o acesso do grupo para outros usuários.
Procure sempre combinar letras maiúsculas, minúsculas, e números ao escolher suas senhas.
Não é recomendado escolher palavras normais como sua senha pois podem ser vulneráveis a
ataques de dicionários cracker. Outra recomendação é utilizar senhas ocultas em seu sistema
(shadow password).

Você deve ser o dono da conta para poder modificar a senhas. O usuário root pode
modificar/apagar a senha de qualquer usuário.

Executa o comando chfn para que o usuário possa alterar as informações como nome,
telefone, etc do usuário em questão.

Exemplos: passwd root

Altera temporariamente a identificação do grupo primário do usuário. Para retornar a


identificação do grupo anterior, digite exit e tecle <Enter> ou rode o comando novamente sem
parâmetros.

newgrp - [grupo] onde:

grupo É o grupo que se deseja tornar o grupo primário do usuário, pode ser utilizado o nome ou
número do grupo que será utilizado.

Se usado, inicia um novo ambiente após o uso do comando newgrp (semelhante a um novo
login no sistema), caso contrário, o ambiente atual do usuário é mantido.

Só podemos alterar o grupo primário do usuário, utilizando os grupos aos quais o usuário já faz
parte, caso contrário, será requisitada uma senha do grupo que se deseja acessar. Caso a
senha do grupo esteja incorreta ou não exista senha definida, a execução do comando é
negada. A listagem dos grupos a que o usuário pertence atualmente, pode ser exibida usando
o comando id (veja a seguir).

Apaga um usuário do sistema. Quando é usado, este comando apaga todos os dados da conta
especificado dos arquivos de contas do sistema.

userdel [-r] [usuário] onde:

-r Apaga também o diretório pessoal do usuário.

OBS: Note que uma conta de usuário não poderá ser removida, caso o usuário esteja utilizando
o sistema, pois os programas podem precisar ter acesso aos dados dele (como UID, GID)
presentes no /etc/passwd.
Apaga um grupo do sistema. Quando é usado, este comando apaga todos os dados do grupo
especificado dos arquivos de contas do sistema.

groupdel [grupo] onde:

grupo É o grupo que se deseja remover.

Tenha certeza que não existem arquivos/diretórios criados com o grupo apagado através do
comando find.

OBS: Você não pode remover o grupo primário de um usuário. Remova o usuário primeiro.

Executa um comando com outra identificação de grupo. A identificação do grupo de usuário é


modificada somente durante a execução do comando. Para alterar a identificação de grupo
durante sua seção, use o comando newgrp.

sg [-] [grupo] [comando] onde:

Se usado, inicia um novo ambiente durante o uso do comando (semelhante a um novo login e
execução do comando), caso contrário, o ambiente atual do usuário é mantido.

grupo Nome do grupo em que o comando deverá ser executado.

comando Comando que será executado. O comando será executado pelo bash.

Quando este comando é usado, deve-se informar um grupo do qual o usuário já faça parte,
caso contrário, é requisitada a senha do grupo que deseja utilizar. Caso a senha do grupo
esteja incorreta ou não exista senha definida, a execução do comando é negada.

Exemplo: sg root ls /root

7.4.8. Adicionando o usuário a um grupo extra

Para adicionar um usuário em um novo grupo e assim permitir que ele acesse os
arquivos/diretórios que pertencem àquele grupo, você deve estar como root e editar o
arquivo /etc/group com o comando “vigr” ou “vi /etc/group”. Este arquivo possui o seguinte
formato:

NomedoGrupo:senha:GID:usuários onde:

NomedoGrupo É o nome daquele grupo de usuários.


senha

Senha para ter acesso ao grupo. Caso esteja utilizando senhas ocultas para grupos, as senhas
estarão em /etc/gshadow.

GID Identificação numérica do grupo de usuário.

usuários

Lista de usuários que também fazem parte daquele grupo. Caso exista mais de um nome de
usuário, eles devem estar separados por vírgula.

Deste modo para acrescentar o usuário "marcius" ao grupo “audio” para ter acesso aos
dispositivos de som do Linux, acrescente o nome no final da linha: audio:x:100:marcius

Pronto, basta digitar logout e entrar novamente com seu nome e senha, você estará fazendo
parte do grupo “audio” (confira com os comandos groups ou id).

Outros nomes de usuários podem ser acrescentados ao grupo “audio” bastando separar os
nomes com vírgula. Você também pode usar o comando adduser da seguinte forma para
adicionar automaticamente um usuário a um grupo:

adduser marcius audio

Isto adicionaria o usuário "marcius" ao grupo “audio” da mesma forma que fazendo-se a edição
manualmente.

Muda os dados exibidos com o comando finger. chfn [usuário] [opções] onde:

usuário Nome do usuário.

Opções: -f [nome] Muda o nome completo do usuário.

-r [nome] Muda o número da sala do usuário.

-w [tel] Muda o telefone de trabalho do usuário.

-h [tel] Muda o telefone residencial do usuário.

-o [outros] Muda outros dados do usuário.


Caso o nome que acompanha as opções (como o nome completo) contenha espaços, use ""
para identifica-lo.

Exemplo: chfn -f "Nome do Usuário root" root

Mostra a identificação atual do usuário, grupo primário e outros grupos que este pertence.

id [opções] [usuário] onde:

usuário

É o usuário que desejamos ver a identificação, grupos primários e complementares.

Opções: -g, --group Mostra somente a identificação do grupo primário.

-G, --groups Mostra a identificação de outros grupos que pertence.

-n, --name Mostra o nome do usuário e grupo ao invés da identificação numérica.

-u, --user Mostra somente a identificação do usuário (user ID).

-r, --real

Mostra a identificação real de usuário e grupo, ao invés da efetiva. Esta opção deve ser usada
junto com uma das opções: -u, -g, ou -G.

Caso não sejam especificadas opções, id mostrará todos os dados do usuário.

Exemplo: id id –user id -r -u.

Mostra seu login (nome de usuário). logname

Mostra os nomes dos usuários que estão usando atualmente o sistema. Os nomes de usuários
são mostrados através de espaços sem detalhes adicionais. Para maiores detalhes sobre os
usuários, veja os comandos id e who.

users

Os nomes de usuários atualmente conectados ao sistema são obtidos do arquivo


/var/log/wtmp.

Mostra os grupos que o usuário pertence. groups [usuário] onde:


usuário É o usuário ao qual, queremos exibir os grupos a que ele pertence.

Exemplo groups groups root

Apresenta uma lista de informações de acordo com o parâmetro “base”, sobre usuários,
grupos, computadores, redes, serviços e protocolos do sistema, juntamente com suas
informações complementares. A utilização deste comando é feita da seguinte forma:

getent [base] onde:

base Significa a base a qual o comando irá consultar. Este parâmetro pode ser configurado
com os valores “passwd” (informações sobre usuários), “group” (informações sobre grupos),
“networks” (informações sobre a rede), “hosts” (informações sobre resolução de nomes local),
“services” (informações sobre serviços) e “protocols” (informações sobre protocolos de rede).

7.5. Comandos de Rede Este capítulo traz alguns comandos úteis para uso em rede e
ambientes multiusuário.

Mostra quem está atualmente conectado no computador. Este comando lista os nomes de
usuários que estão conectados em seu computador, o terminal e data da conexão.

who [opções]

Opções -H, --heading Mostra o cabeçalho das colunas.

-i, -u, --idle Mostra o tempo que o usuário está parado em Horas:Minutos.

-m, i am

Mostra o nome do computador e usuário associado ao nome. É equivalente a digitar who i am


ou who am i.

-q, --count Mostra o total de usuários conectados aos terminais.

-T, -w, --mesg Mostra se o usuário pode receber mensagens via talk (conversação).

+ O usuário recebe mensagens via talk - O usuário não recebe mensagens via talk. ? Não foi
possível determinar o dispositivo de terminal onde o usuário está conectado.

Mostra detalhes sobre os usuários de um sistema. Algumas versões do finger possuem bugs e
podem significar um risco para a segurança do sistema. É recomendado desativar este serviço
na máquina local.
finger [opções] [usuario] [usuario@host] onde:

usuário

Nome do usuário que deseja obter detalhes do sistema. Se não for digitado o nome de usuário,
o sistema mostra detalhes de todos os usuários conectados no momento.

usuario@host Nome do usuário e endereço do computador que deseja obter detalhes.

Opções -l

Mostra os detalhes de todos os usuários conectados no momento. Entre os detalhes, estão


incluídos o nome do interpretador de comandos (shell) do usuário, diretório home, nome do
usuário, endereço, etc.

Não exibe o conteúdo dos arquivos .plan e .project

Se for usado sem parâmetros, mostra os dados de todos os usuários conectados atualmente
ao seu sistema.

Exemplo: finger finger root.

Permite a transferência de arquivos do computador remoto/local e vice versa. O

FTP (File Transfer Protocol) é o sistema de transmissão de arquivos mais usado na Internet. É
requerida a autenticação do usuário para que seja permitida a conexão. Muitos servidores ftp
disponibilizam acesso anônimo aos usuários, com acesso restrito.

Uma vez conectado a um servidor ftp, você pode usar a maioria dos comandos do GNU/Linux
para operá-lo.

ftp [ip/dns]

Abaixo alguns dos comandos mais usados no ftp:

ls Lista arquivos do diretório atual.

cd [diretório] Entra em um diretório.

get [arquivo]
Copia um arquivo do servidor ftp para o computador local. O arquivo é gravado, por padrão, no
diretório onde o programa ftp foi executado.

hash [on/off]

Por padrão esta opção está desligada. Quando ligada, faz com que o caracter # seja impresso
na tela indicando o progresso do download.

mget [arquivos]

Semelhante ao get, mas pode copiar diversos arquivos e permite o uso de coringas.

send [arquivo]

Envia um arquivo para o diretório atual do servidor FTP (você precisa de uma conta com
acesso a gravação para fazer isto).

prompt [on/off]

Ativa ou desativa a pergunta para a cópia de arquivo. Se estiver como off assume sim para
qualquer pergunta.

Exemplo: ftp ftp.br.debian.org.

Mostra o nome que usou para se conectar ao sistema. É útil quando você usa várias contas e
não sabe com qual nome entrou no sistema.

whoami

Mostra ou muda o nome de seu computador na rede. É necessário também, mudar alguns
arquivos de configuração para trocar efetivamente o nome do computador, além de executar o
hostname.

hostname

O comando ping envia requisições ICMP para maquinas remotas. Útil para descobrir se uma
determinada maquina da rede responde as requisições de rede (via ICMP) feitas a ela. Para
que uma maquina possa responder a uma requisição feito por ping, ela deverá ter o protocolo
IP configurado corretamente.

ping [opções] [ip/dns] onde:


ip/dns

Endereço IP ou nome (DNS) do computador remoto que desejamos enviar requisições ping.

Opções -c Envia um determinado número de requisições.

Permite especificar o tamanho do pacote em bytes, que ping enviará ao computador remoto. O
padrão é 56.

Permite verificar os estados das portas utilizadas pelo protocolo TCP/IP em um determinado
computador remoto. Cada porta pode representar um serviço de rede fornecido pela maquina
remota. Os estados que as portas podem assumir são :

Open: Neste caso a porta esta aberta, permitindo conexão com o computador remoto através
daquela porta.

Filtered: A porta está filtrada, provavelmente por um Firewall. Closed: A porta está fechada e o
serviço inacessível.

nmap [opções] [ip/dns] onde:

ip/dns

Endereço IP ou nome (DNS) do computador remoto que desejamos verificar o estado das
portas.

Opções PÁG.: 48

Não realiza ping antes de realizar a verificação, necessário para alguns computadores com
implementações de segurança mais austeras.

-p [intervalo]

Portas a serem verificadas. Pode-se fornecer apenas uma porta ou um intervalo no padrão “1-
1024” ou “80-8080” para se verificar.

-O Tenta descobrir o sistema operacional do computador remoto.


7.6. Comandos para Gerenciamento de Processos Esta seção descreve as ferramentas Linux
para gerenciamento de processos.

Lista os processos do sistema. Este comando é muito útil para verificar o PID (número de
identificação do processo) de um processo.

ps [opções] onde:

Opções -A

Lista todos os processos existentes.

-U [usuário] Lista os processos de um determinado usuário.

-C [comando] Permite pesquisar um processo pelo nome do executável.

Exemplos: ps -A ps -U marcius

Lista os processos do sistema em tempo real. Informações sobre a carga do sistema, como uso
de CPU e memória, também são providas por este comando. Voce pode pressionar a tecla
<Q> para encerrar a execução do top.

top [opções]

Opções -u [usuário] Lista os processos de um determinado usuário.

Exemplos: top top -u marcius

Faz com que um programa seja executado em background (2° plano). Você também pode usar
o operador “&” ao final de um comando para executá-lo em 2° plano.

bg [id/comando] onde:

id/comando

É o identificador de um processo que está parado (veja o comando jobs) ou o nome de um


comando que deverá ser executado em 2° plano.

Exemplos: bg updatedb bg 1 updatedb &


Faz com que um programa seja executado em foreground (1° plano). fg [id/comando] onde:

id/comando

É o identificador de um processo que está parado (veja o comando jobs) ou o nome de um


comando que deverá ser executado em 1° plano.

Exemplos: fg updatedb fg 1

Exibe o status dos processos que estão parados ou executando em background (2° plano).

jobs

O comando jobs exibirá uma lista com identificadores (a esquerda entre chaves) que poderão
ser utilizados com os comandos fg e bg.

Permite enviar um sinal a um comando/programa. Caso seja usado sem parâmetros, o kill
enviará um sinal de término ao processo sendo executado.

kill [opções] [sinal] [número]

Onde:

número PÁG.: 5

Você também pode gostar