Conteúdo

  1. Usando essa página
  2. Iniciando o Interpretador de Comandos
    1. Abrindo um Terminal
    2. Abrindo uma seção shell
  3. Os Comandos do Linux
    1. Documentação
    2. Data e Hora
    3. Informações do Sistema (Hardware e Processos)
    4. Arquivos e Diretórios
    5. Sistema de Arquivos
    6. Usuários e Grupos
    7. Utilitários de Texto
    8. Monitoramento de Acesso
    9. Rede
    10. Módulos carregáveis do Kernel
    11. Shell (Bash) e Utilitários de Terminal
  4. Opções
  5. Dicas e Truques
    1. Teclas de controle e atalhos
    2. Teclas de emergência do GNU/Linux
    3. Otimizando o desempenho do history com navegação contextual
    4. Usando "grep" com resultados coloridos
  6. Obtendo ajuda
    1. Nosso maior aliado
    2. Outras fontes de consulta
  7. Informações adicionais
  8. Créditos

"Muito embora o Linux possua diversas e ótimas interfaces gráfica (GUI's - Graphical User Interfaces) bastante amigáveis, dentre as quais destacamos o Gnome e KDE, como de resto todos os sistemas operacionais Unix, ainda requerem por vezes que façamos uso da linha de comando. O ambiente tradicional do Unix é o CLI (Command Line Interface), onde você digita os comandos para dizer ao computador o que ele deve fazer. Esse modo é extremamente poderoso e rápido, porém implica que você saiba para que serve cada comando e seus diversos parâmetros.”

Usando essa página

ATENÇÃO: Lembre-se o Linux diferencia maiúsculas de minúsculas. Portanto, comando e COMANDO são coisas totalmente diferentes.

Iniciando o Interpretador de Comandos

Abrindo um Terminal

No Gnome vá ao menu Aplicações > Acessórios > Terminal ou pressione simultaneamente as teclas Alt+F2, e na caixa de texto digite "gnome-terminal" e tecle “Enter”.

Abrindo uma seção shell

Tecle simultaneamente Crtl+Alt+F1(...F6) que uma console modo texto será exibido solicitando um login, onde você deverá entrar com seu usuário e senha para ter acesso ao prompt de comando.

Os Comandos do Linux

Como já descrito anteriormente, não temos a pretensão de ser um guia completo de comandos, mais uma fonte de referência que irá abranger os principais comandos separados por categorias de acordo com as tarefas que executam.

Um comando do Linux é uma palavra especial que representa uma ou mais ações. Um interpretador de comandos também é conhecido como shell ou modo texto. Ele é o programa responsável por interpretar essas instruções enviadas pelo usuário e seus programas para o kernel. No Linux, você poderá ter vários interpretadores de comandos (ao contrário do que acontece no Windows que só tem o command.com).

O interpretador de comandos é que executa comandos lidos do teclado ou de um arquivo executável. É a principal ligação entre o usuário. Entre os programas interpretadores de comandos podemos destacar o bash, csh e sh entre outros.

Entre eles o mais usado é o Bash (Bourne Again Shell), criado por S.R. Bourne. Os comandos podem ser enviados de duas maneiras para o interpretador:

Esse sistema é muito útil quando temos que digitar por várias vezes seguidas um mesmo comando ou para compilar algum programa complexo.

Uma característica interessante do bash é que ele possui a função de auto-completar os nomes de comandos que foram digitados via entrada padrão. Isso é feito pressionando-se a tecla TAB; o comando é completado e acrescentando um espaço.

Isso funciona sem problemas para comandos internos; caso o comando não seja encontrado, o bash emite um beep. Por exemplo, na sua pasta raiz tente digitar cd pro (aperte TAB)+as( aperte TAB)+os( aperte TAB)+d(aperte TAB) e veja como foi fácil digitar um caminho para entrar no local: /proc/asound/oss/devices.

Outro recurso muito interessante do bash, é que você pode repetir um comando executado sem ter que digitá-lo novamente. Isso é possível utilizando o caractere "!" na frente do comando que você deseja repetir. O bash vai buscar aquele comando no histórico e se lá tiver algo parecido o comando será executado. Veja o exemplo abaixo com esta seqüência de comandos:

tail -f /var/log/squid/access.log
cd /etc/
ls -hl
!tail

O comando "!tail" irá informar ao shell (bash) para executar o último comando tail executado, no caso, "tail -f /var/log/squid/access.log", e você passara a ver novamente os LOG's do Squid em tempo real.

Para execução de muitos comandos é necessário ter privilégios de administrador, então como no Ubuntu o usuário root por questões de segurança se encontra desabilitado, será necessário o uso do "sudo". Assim sendo sempre que um comando necessitar deste privilégio, o mesmo estará precedido do sudo.

Adicione também o comando sudo na frente de todos os comandos, caso esteja trabalhando em um diretório ou em arquivos que não lhe pertencem (arquivos do sistema, por exemplo). Veja RootSudo para maiores informações sobre o sudo.

Documentação

Data e Hora

Informações do Sistema (Hardware e Processos)

user@computer:~$ lsb_release -a
LSB Version:    n/a
Distributor ID: Ubuntu
Description:    Ubuntu (The Edgy Eft Release)
Release:        6.10
Codename:       edgy

Arquivos e Diretórios

Leitura (r)

Escrita (w)

Execução (x)

Octal

0

0

0

0

0

0

1

1

0

1

0

2

0

1

1

3

1

0

0

4

1

0

1

5

1

1

0

6

1

1

1

7

0  (zero) permissão negada
1   permissão de execução
2   permissão de gravação
3   permissão de gravação e execução
4   permissão de leitura
5   permissão de leitura e execução
6   permissão de leitura e gravação
7   soma de todas as permissões

Sistema de Arquivos

Usuários e Grupos

Utilitários de Texto

Monitoramento de Acesso

Rede

Módulos carregáveis do Kernel

Shell (Bash) e Utilitários de Terminal

Opções

O comportamento padrão para um comando pode ser modificado por adicionar uma --opção para o comando. O comando ls, por exemplo, tem uma opção -s , de forma que "ls -s" incluirá o tamanho dos arquivos na listagem realizada. Há também uma opção -h para que esses dados estejam em um formato "legível para humanos".

As opções podem ser agrupadas, sendo possível, por exemplo usar "ls -sh", que funcionará exatamente da mesma forma que "ls -s -h". Muitas opções têm uma versão longa, prefixadas por dois traços em vez de um, assim "ls --size --human-readable" é o mesmo comando dado anteriormente.

Dicas e Truques

Teclas de controle e atalhos

Teclas

Ação

Ctrl + f

Move o cursor uma palavra para frente

Ctrl + b

Move o cursor uma palavra para trás

Ctrl + a

Para ir ao início da linha de comando

Ctrl + e

Para ir ao final da linha de comando

Ctrl + t

Inverte o caractere sob o cursor com o anterior

Ctrl + u

Limpa a linha de comando corrente

Ctrl + y

Re-insere o último trecho de comando apagado

Ctrl + r

Faz uma busca incremental no histórico de comandos utilizados

Ctrl + c

Termina a execução do comando corrente

Ctrl + d

Encerra entrada de dados pelo teclado fazendo logout

Ctrl + m

Equivalente a tecla Enter

Ctrl + l

Limpa a tela, equivalente ao comando clear

Ctrl + s

Inibe a exibição de informações na tela de saída

Ctrl + q

Ativa a exibição de informações na tela de saída, inibida pelo Ctrl + s

Ctrl + z

Põe o processo corrente em background (segundo plano)

NOTA: Para maiores detalhes, veja aqui nossa página exclusiva sobre atalhos de teclado no bash.

Teclas de emergência do GNU/Linux

Quem é que já não se deparou com um travamento causado por mal-funcionamento de hardware no Linux? Este tópico ensina a usar as teclas de emergência do kernel.

NOTA: As teclas de emergência do kernel são comandos de baixo nível pouco conhecidos que podem desempenhar uma função primordial na vida de usuários Linux.

Desligando o computador

A primeira combinação de emergência é usada para sincronizar os discos e desligar o computador instantaneamente evitando problemas nos sistemas de arquivos. Ela é ideal para quem precisa desligar o computador rapidamente sem danificar seus sistemas de arquivos, ou quando a máquina trava e por qualquer motivo não permite um desligamento natural através do init.

Mantendo ALT pressionado, tecle Print Screen e depois O.

Reiniciando o computador

Assim como o Ctrl+Alt+Del do MS-DOS o kernel do Linux também possui uma chamada de emergência que permite reiniciar a máquina, com a vantagem de sincronizar os discos evitando danos no sistema de arquivos. Veja como fazer:

Mantendo ALT pressionado, tecle Print Screen e depois B.

Sincronizando os discos

Se você acha que a força vai cair e precisa trabalhar até a ultima hora mas tem medo de danificar seu sistema de arquivo, poderá sincronizar seus discos de tempos em tempos.

Para sincronizar discos em caso de emergência:

Mantendo ALT pressionado, tecle Print Screen e depois S.

Segurança

Se por algum motivo algo está ameaçando a segurança do seu sistema, como a execução acidental de um script malicioso como root ou de programa desconhecido, poderá colocar os discos como somente leitura e evitar danos mais sérios.

Mantendo ALT pressionado, tecle Print Screen e depois U.

Otimizando o desempenho do history com navegação contextual

Como sabemos o ambiente shell do GNU/Linux, no caso o bash, mantém no arquivo .bash_history uma lista com o histórico dos últimos comandos digitados. Com isso e o uso das teclas direcionais UP e DOWN nos permitem "navegar" por esta lista, de modo a retornar com um comando já utilizado e que esteja em nosso histórico armazenado.

Porém por padrão esta navegação será por toda gama de comando já utilizados, o que por vezes faz com que percamos até mais tempo necessário do que se digitarmos novamente o comando.

Com uma dica simples veremos então como fazer com que esta navegação seja otimizada de forma a permitir uma filtragem no histórico de comandos bastando inserir alguns caracteres do mesmo antes de usarmos as setas de navegação.

Agora as setas farão uma procura por contexto. Se você não digitar nada, o efeito será o mesmo que antes, mas se você digitar um caractere e pressionar a seta, ele só irá mostrar os comandos que comecem com aquele caractere. Portanto com este ajuste, se você digitar "ls" e pressionar a seta ele vai navegar apenas nos comandos que começam com "ls".

Para que isso funcione desta forma primeiramente iremos criar no diretório $HOME do usuário desejado o arquivo oculto de nome .inputrc com o seguinte conteúdo abaixo:

“\e[A”: history-search-backward
“\e[B”: history-search-forward

Agora basta fechar a seção atual e abrir uma nova para que a navegação no histórico dos comandos passe a funcionar desta forma mais otimizada.

Notas:

export HISTFILESIZE=XXXX
export HISTSIZE=XXXX

Onde, XXXX deve ser substituído pela quantidade desejada.

Usando "grep" com resultados coloridos

Quem costuma usar o grep para fazer filtragens, pode se beneficiar desta pequena e simples dica, fazendo a saída dos resultados ficarem coloridas em destaque.

grep --color=auto

Vamos a um exemplo pratico para entender melhor:

ps aux |grep --color=auto tty

Nota:

Quem gostar do resultado e desejar deixar como padrão, basta editar seu arquivo ~/.bashrc criando um alias para o comando grep conforme abaixo demonstrado.

1. Abra o arquivo em seu editor de texto favorito.

vim ~/.bashrc

2. Adicione a linha baixo no mesmo, e salve o arquivo.

alias grep='grep --color=auto'

3. Agora, basta executar o comando abaixo que este recurso será padrão para este seu usuário.

source ~/.bashrc

Obtendo ajuda

Nosso maior aliado

/!\ Os comandos --help e man podem ser consideradas as duas ferramentas mais importantes em uma linha de comando.

Praticamente todos os comando entendem a opção -h (ou --help), a qual produzirá uma descrição breve e útil do comando e suas opções, e então volta para o terminal. Tente "man -h" ou "man --help" para ver isso em ação.

Todo comando e quase toda aplicação em Linux terá um arquivo man (manual), e encontrá-lo será muito simples. Basta digitar ”man comando” para surgir um manual extenso para o comando especificado. Por exemplo, "man mv" mostrará o manual de mv (Move).

Mova para cima ou para baixo no arquivo man utilizando as teclas Page UP e Page Down ou as setas no teclado, e retorne para a linha de comando teclando q.

"man man" mostrará a entrada do manual para o comando man, e este é um bom lugar para começar!

"man intro" é especialmente útil, pois mostrará a "Introdução para comandos do usuário" que é uma introdução breve e bem escrita sobre a linha de comando.

Além disso, há as páginas de info, que geralmente serão mais detalhados, se aprofundando mais do que as páginas man. Tente "info info" para uma introdução às páginas info.

Procurando por arquivos "man"

Se você não está certo de qual comando ou aplicação você precisa usar, você pode tentar procurando os manuais (arquivos "man").

Outras fontes de consulta

Para maiores informações e detalhes sobre os comandos aqui apresentados, além da consulta as páginas de manuais do seu sistema recomendamos uma visita aos sites abaixo, que também serviram de poderosa fonte de pesquisa para desenvolvimento desta página.

Informações adicionais

Créditos

Wikifier: arlei

Atualizado em: 12/08/2007

Mantenedor: arlei

Time de Documentação do Ubuntu Brasil


CategoryDocumentacao

ComandosBasicos (last edited 2007-11-21 20:17:20 by arlei)