segunda-feira, 7 de setembro de 2009

Comandos do Linux

Sempre tive o linux e o Windows instalado no meu note, porém nunca usava o Linux até ter um problema com a partição que continha o Windows.

Por conta da preguiça de reinstalar o windows, e devido a estudar para um concurso no qual vai cair o referido assunto, resolvi que ia começar a aprender um pouco mais sobre o maldito sistema operacional. Que fique bem claro que não tenho nada contra o Linux. Não usava esse sistema operacional por falta de costume.

Aqui eu vou listar os comandos que vão permitir a um usuário "se virar" com o sistema.

Interpretador de comandos

Também conhecido como shell. É o programa responsável em interpretar as instruções enviadas pelo usuário e seus programas ao sistema operacional (o kernel). Ele que executa comandos lidos do dispositivo de entrada padrão (teclado) ou de um arquivo executável.

O Linux possui diversos tipos de interpretadores de comandos, entre eles posso destacar o bash, ash, csh, tcsh, sh, etc. Entre eles o mais usado é o bash.

O interpretador de comandos do DOS é o command.com.


Entendendo os diretórios

No linux, não existe o conceito de unidades que temos no Windows (Ex. C:.D:, etc.). Existe na verdade um diretório raiz ("/") no qual constam uma série de outros subdiretórios sobre os quais explanamos abaixo:

/bin - Armazena os executáveis de alguns comandos básicos do sistema (su, tar,cat, rm, pwd, etc)

/usr - É onde fica o grosso dos programas instalados. O subdiretório /usr/bin é o diretório mais populado (cerca de 2000 programas), ou seja, se você não souber aonde encontrar um programa, use esse subdiretório como ponto de partida para a procura.

/usr/lib -  contem as bibliotecas (parecidas com as dlls do Windows) utilizadas pelos programas. Existem dois tipos de bibliotecas: As utilizadas por um programa apenas (extensão .a) e as que são compartilhadas por vários programas (extensão .so).

/dev - contem os devices (links para os dispositivos do sistema CD, HD, Floppydisks, etc)

/etc - concentra os arquivos de configuração do sistema (é como se fosse o registry do Windows).

/mnt - é o subdiretório que serve de ponto de montagem para os dispositivos.

/home - é a pasta meus documentos do linux. Esse subdiretório é criado para cada usuário do sistema, visto que o linux é multiusuário. Para usuários que não seja o root, o linux só permite a escrita em arquivos que estão dentro desse subdiretório.

Utilizando o terminal (o modo console do Linux)

O teminal no linux é equivalente ao modo console do Windows (executar > cmd), mas antes de explanarmos sobre o uso do terminal é importante listarmos fazermos algumas ponderações.

O Linux é Case Sensitive ou seja, ele diferencia letras maiúsculas e minúsculas nos arquivos.

O arquivo "historia" é completamente diferente de "Historia". Esta regra também é válido para os comandos e diretórios. Prefira, sempre que possível, usar letras minúsculas para identificar seus arquivos, pois quase todos os comandos do sistema estão em minúsculas.

Um arquivo oculto no Linux é identificado por um “.” no início do nome (por exemplo,.bashrc). Arquivos ocultos não aparecem em listagens normais de diretórios. Para listar esses arquivos use o comando ls -a.

Existem duas formas de se chamar o terminal:
  • CTRL + ALT + F1 - abre um terminal puro
  • ALT + Fn - alterna entre terminais
Quando abrimos um terminal, o prompt se apresenta com um $ a partir do qual podemos digitar os comandos.

O aviso de comando do usuário root é identificado por uma # (tralha), e o aviso de comando de usuários é identificado pelo símbolo $. Isto é padrão em sistemas UNIX. Para alternar entre esses usuários digite o comando su ou sudo su.

O comando gimp imagem.jpg abre o programa gimp que é um editor de imagens com o arquivo imagem.jpg carregado.

Digitar comandos é um saco, porém o linux possui um recurso do tipo auto-completar. Para fazer uso deste recurso devemos digitar parte do nome do comando e pressionar a tecla TAB.

Alguns atalhos úteis

Você pode retornar comandos já digitados pressionando as teclas Seta para cima / Seta para baixo.

A tela pode ser rolada para baixo ou para cima segurando a tecla SHIFT e pressionando PGUP ou PGDOWN. Isto é útil para ver textos que rolaram rapidamente para cima.

Abaixo algumas dicas sobre a edição da linha de comandos (não é necessário se preocupar em decora-los):

  • Pressione a tecla Back Space (<--) para apagar um caracter à esquerda do cursor.
  • Pressione a tecla Del para apagar o caracter acima do cursor.
  • Pressione CTRL+A para mover o cursor para o inicio da linha de comandos.
  • Pressione CTRL+E para mover o cursor para o fim da linha de comandos.
  • Pressione CTRL+U para apagar o que estiver à esquerda do cursor. O conteúdo apagado
  • é copiado para uso com CTRL+y.
  • Pressione CTRL+K para apagar o que estiver à direita do cursor. O conteúdo apagado é
  • copiado para uso com CTRL+y.
  • Pressione CTRL+L para limpar a tela

Extensão dos  arquivos

A extensão serve para identificar o tipo do arquivo. A extensão são as letras após um “.” no nome de um arquivo, explicando melhor:

  •  relatório.txt - O .txt indica que o conteúdo é um arquivo texto. script.sh - Arquivo de Script (interpretado por /bin/sh).
  • system.log - Registro de algum programa no sistema.
  • arquivo.gz - Arquivo compactado pelo utilitário gzip.
  • index.html - Página de Internet (formato Hypertexto). 
A extensão de um arquivo também ajuda a saber o que precisamos fazer para abri-lo. Por exemplo, o arquivo relatório.txt é um texto simples e podemos ver seu conteúdo através de um editor de textos kedit, já o arquivo index.html contém uma página de Internet e precisaremos de um navegador para poder visualiza-lo (como o lynx, Firefox ou o Konqueror).

A extensão (na maioria dos casos) não é requerida pelo Linux, mas é conveniente o seu uso para determinarmos facilmente o tipo de arquivo e que programa precisaremos usar para abri-lo.

Navegando entre os diretórios


Quando se utiliza um sistema operacional, essencialmente navega-se entre os diretórios e subdiretórios, edita-se arquivos e abre-se programas. Abaixo vamos falar sobre os comandos que nos permite realizar essas atividades.

  • pwd - para saber em que diretório o usuário se encontra;
  • cd (change diretory) - utilizado para navegar entre diretórios;
  • ls ou dir - permite listar os arquivos que constam em um diretório;
  • cp - permite copiar arquivos de um diretório para outro;
  • mv - move arquivos de um diretório para outro; o mv também é utilizado para renomear arquivos (na verdade o Linux move) um arquivo para outro.
  • rm - serve para remover um arquivo;
  • mkdir - permite criar um diretório;
  • rmdir - remove diretórios;
  • locate - busca em base de dados por um arquivo ou diretório (updatedb é utilizado para atualizar a base);
  • find - também utilizado para buscar arquivos ou diretórios. Só que desta vez no sistema de arquivos;
Todos esses comandos podem ser executados em sequência utilizando-se o ";" entre os comandos.

Outra observação importante a ser feita é que os comandos podem vir seguido s de argumentose/ou parâmetros  que mudam o comportamento dos mesmos.

O comando CAT permite visualizar o conteúdo de um arquivo: cat nome_arquivo 

Utiliza-se o pipe "|"  para combinar comandos. Exemplo: (comando1|comando2 > arquivo.txt  ) neste caso o resultado dos comandos 1 e 2 estão sendo redirecionados para um arquivo.

O Comando grep permite filtrar a saída de um comando. Por exemplo: O Linux mantem um histórico dos últimos 500 comandos digitados. Caso você queira visualizar apenas os comandos cp digitados nesta lista, basta digitar history | grep cp para mostrar todas as entradas onde foi usado o comando cp.

Criando links  (atalhos do windows)

Existem dois tipos de atalho no Linux: os hard links e o links simbólicos.

A diferença entre eles é que se o arquivo muda de lugar o link simbólico fica quebrado. Já o hard link não, este continua funcionando. Os dois links são criados através do comando ln:

  • hard link - ln /home diretorioHome
  • link simbólico - ln -s  /home diretorioHome (note que a diferença tá no argumento -s)
Você pode ainda criar links que podem ser evocados a partir de qualquer diretório. Basta que esse seja criado no diretório /usr/bin. No windows fazemos isso editando a variável PATH.

Reiniciando e desligando o micro

Existem comandos para desligar ou reiniciar o micro, mas por uma questão de segurança é necessário estar logado como root para que esses comandos funcionem. Para isso use o comando su ou sudo (a diferença entre os dois é que o primeiro pede senha e o segundo não).
  • reboot - reinicia o micro;
  • halt - desliga o micro;
  • shutdown -h now - permite um desligamento programado idêntico a um timer.


Os comandos mencionados aqui estão relacionados a manipulação de arquivos e diretórios. Em outro post falarei sobre outros comandos.

Até lá!

Nenhum comentário: