Linhas de Comandos e Aplicativos

Propaganda
Linux
Comandos e Utilitários Linux
1
Introdução
Quem não gosta de uma interface gráfica, fácil e intuitiva, bonita, colorida e bem mais agradável do
que o bruto modo texto?. Mas para quem usa sistemas operacionais, é bem interessante se ambientar no
modo texto do sistema, pois nem sempre em todas as situações, poderemos contar com a interface
“barbada” do mouse e das janelas do sistema.
Alguns sistemas operacionais ambientam-se graficamente desde a sua instalação, mas não são
todos os sistemas, e um profissional bem preparado, deve ter familiaridade com todas as plataformas
independentemente se forem em modo texto ou em modo gráfico.
Nos sistemas Linux, a interface gráfica nasceu a bem pouco tempo, antes disso, quando do seu
nascimento e desenvolvimento, era modo texto puro e linhas de comando com códigos pouco amistosos,
onde uma simples tarefa a ser executada pelo sistema operacional, era executada apenas por seu
desenvolvedor, que usava linhas de códigos nativos, muitas vezes longos e complicados, e nada atrativos
ao usuário final, como faz a Microsoft em seu sistema operacional.
A própria estória do Linux, em seu berço, e seus idealizadores e principais colaboradores, mestres
na arte da programação, conheciam em minúcias as linhas de código, nas mais variadas linguagens de
programação, e isso se refletiu em um sistema operacional mais robusto, mais confiável, com recursos
jamais igualados pelos outros sistemas, mas com a desvantagem de ser fora do alcance de um usuário
leigo em linhas de código e linguagens de programação.
Com o passar do tempo, e com o aumento da popularidade e do número de colaboradores
implementando seu código-fonte, o sistema Linux se ramificou, em muitos braços, em muitas correntes, e
algumas dessas correntes adotaram a interface gráfica como forma de auxilio e atrativo ao usuário,
tornando mais fácil e ao alcance de um usuário menos acostumado às linhas de comando, a operar com o
sistema operacional Linux.
Shell
É o programa que permite ao usuário interagir com o sistema operacional, através de comandos
digitados via teclado. Como parâmetro, no DOS (Disk
Operating System) o Shell era o utilitário “command.com”,
que permitia executar alguns comandos de gerenciamento
do sistema, como por exemplo o dir, o cd, o md, etc...
No Linux, o Shell mais usado é chamado de “Bash”.
Ele oferece vários recursos que tem por finalidade facilitar ao
usuário o gerenciamento do sistema e mesmo de uma rede.
O Bash, nada mais é do que um interpretador de
comandos, um tradutor, entre o sistema operacional e o
usuário.
O shell script é uma linguagem de programação
interpretada, usada em vários sistemas operacionais. Na
linha de comando do Shell, podemos utilizar diversos
comandos, um após outro, ou mesmo combiná-los em uma
mesma linha. Se colocarmos diversas linhas de comandos
em um arquivo texto simples, teremos em mãos um Shell
Script, ou um script em shell, já que Script é uma descrição
geral de qualquer programa escrito em linguagem
interpretada, ou seja, não compilada. Outros exemplos de
linguagens para scripts são o php, perl, python, javascript e
muitos outros. Podemos então ter um script em php, um
script perl e assim em diante.
Ilustração 1: Bash em execução.
2
Comandos para a localização de arquivos
São comandos, em shell, ou seja, linha de comando, que utilizamos para localizar e gerenciar os
arquivos no diretório.
Abaixo seguem alguns comandos mais usados e seus respectivos exemplos, bem como a correta
sintaxe de referido comando. Vale lembrar que todos os comandos são executados na linha de comando do
linux (console):
1. cat
Mostra o conteúdo de um arquivo ou binário.
Exemplo: cat /usr/doc/copyright/GPL
2. tac
Mostra o conteudo de um arquivo ou binário, como o Cat, mas na ordem inversa.
Exemplo: tac /usr/doc/copyright/GPL
3. rm
Apaga arquivos. Também pode ser utilizado para apagar diretórios e sub-diretórios vazios ou que
contenham arquivos.
rm teste.txt - Apaga o arquivo teste.txt no diretório atual
4. find
Procura por arquivos ou diretórios no disco.
Exemplo: find / -name grep -maxdepth 3 - Procura no diretório raíz e sub-diretórios até o
3o. nível, um arquivo/diretório chamado grep.
5. grep
Procura por um texto dentro de um arquivo ou no dispositivo de entrada padrão.
Exemplo: grep "capitulo" texto.txt, ps ax|grep inetd, grep "capitulo"
texto.txt -A 2 -B 2
6. sort
Organiza as linhas de um arquivo de texto ou do dispositivo padrão.
sort texto.txt - Organiza o arquivo texto.txt em ordem crescente.
7. tail
Mostra as linhas finais de um arquivo.
Exermplo: tail teste.txt, tail -n 20 teste.txt
8. cp
Usado para copiar os arquivos.
Exemplo: cp teste.txt teste1.txt
9. mv
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 .
Exemplo: mv teste.txt teste1.txt
10. clear
Limpa a tela e posiciona o cursor no canto superior esquerdo da tela.
Exemplo: clear
11. df
Mostra o espaço livre e ocupado de cada partição.
Exemplo: df [partição]
12. free
Mostra a quantidade livre de memória RAM.
Exemplo: free [opções]
13. ls
Lista os arquivos de um diretório.
Exemplo: ls [opções]
3
14. who
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.
Exemplo: who [opções]
15. telnet
Permite acesso a um computador remoto. É mostrada uma tela de acesso correspondente ao
computador local onde deve ser feita a autenticação do usuário para entrar no sistema. Muito útil,
mas deve ser tomado cuidados ao disponibilizar este serviço para evitar riscos de segurança.
Exemplo: telnet [opções] [ip/dns] [porta]
16. ftp
Permite a transferência de arquivos do computador remoto/local e vice versa. O “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.
Exemplo: ftp ftp.prontomicro.com.br
17. talk
Inicia conversa com outro usuário em uma rede local ou Internet. Talk é um programa de
conversação em tempo real onde uma pessoa vê o que a outra escreve.
Exemplo: talk [usuario@host]
18. passwd
Muda a senha de usuario ou grupo. Muito util quando não sabemos a senha de root.
Exemplo: passwd root
Comandos para manipulação de texto
1. Vi
Programa criado por Bill Joy, em 1976. O nome é uma forma abreviada de Visual. Em 1991 foi
criado o editor VIM. Uma derivação melhorada do Vi.
Para chamar o editor usa a seguinte sintaxe : Vi [arquivo].
4
Comandos mais usados no Vi
Comandos mais usados
Inserção de caracteres
* i - insere texto antes do caractere atual.
* I - insere texto no início da linha atual.
* a - insere texto após o caractere atual.
* A - insere texto no final da linha atual.
* o - abre uma linha abaixo da atual e insere texto nela.
* O - abre uma linha acima da atual e insere texto nela.
Observação: Para sair do modo de inserção de caracteres, pressione <ESC>.
Exclusão de caracteres
* <DEL> - exclui a letra anterior ao cursor (depende da configuração).
* x - exclui a letra sob o cursor.
* nx - exclui as próximas n letras.
* dw - exclui o restante da palavra atual (a partir do cursor).
* ndw - exclui as n próximas palavras.
* dd - exclui a linha atual.
* ndd - exclui n linhas a partir da atual.
* u - desfazer. Restaura o que foi apagado por último ou apaga o que foi inserido por último.
Substituição de caracteres
* s - apaga a letra atual e entra no modo de inserção.
* S - apaga o conteúdo da linha atual e entra no modo de inserção.
* r - substitui a letra atual (não entra no modo de inserção).
* R - entra no modo de substituição (sai com <ESC>).
* ~ - inverte a caixa da letra atual (troca maiúscula por minúscula e vice-versa).
* . - repete a última alteração.
Movimentação de cursor
Em algumas dessas situações as setas também funcionam.
* j - uma linha para baixo
* k - uma linha para cima
* h - um caracter para a esquerda
* l - um caracter para a direita
5
* b - volta para o início da palavra.
* w - avança para a próxima palavra.
* 0 - início da linha
* $ - fim da linha
* nG - vai para a linha n (0G ou G vai para a última linha).
* % - usado com parênteses, colchetes e chaves para achar o par correspondente.
* +n - vai n linhas para baixo.
* -n - vai n linhas para cima.
Busca de palavras
* /palavra - procura palavra a partir da posição atual.
* ?palavra - procura palavra no sentido contrário (na direção do começo do arquivo).
* n - procura próxima ocorrência da última palavra procurada (na mesma direção em que foi
buscada).
•
# - destaca todas as ocorrências iguais à palavra onde o cursor está posicionado.
Operações com buffers
* yy ou Y - copia a linha inteira.
* nyy ou nY - copia n linhas.
* ndd - apaga n linhas (a partir da atual). Elas poderão ser recolocadas com os comandos p e P.
* p - coloca após a linha atual a última linha copiada ou apagada.
* P - coloca antes da linha atual a última linha copiada ou apagada.
Operações de bloco
* :'a,'b[operação] - realiza a operação no bloco contido entre as marcas a e b.
* :d - exclui a linha atual (útil como operação de blocos).
* :s/string1/string2/ - substitui string1 por string2.
* mx - marca a posição atual como x (pode ser usada qualquer letra do alfabeto).
•
`x - vai para a posição previamente marcada como x.
Para ler ou escrever o arquivo (ou parte dele) usam-se os comandos:
* :r arquivo - inserir o conteúdo do arquivo na posição atual do arquivo que está sendo editado.
* :w - salva alterações.
* :w abc - grava arquivo com o nome abc.
* :q - sai se o arquivo não foi modificado.
* :q! - sai descartando quaisquer alterações não gravadas.
6
* :wq - sai, salvando o arquivo editado.
•
ZZ - sai, salvando o arquivo editado.
Imagem exemplo do editor VIM:
Ilustração 3: Exemplo do editor VIM para o console do Linux-Unix.
2. Less
O comando less do sistema operacional Unix serve para mostrar arquivos texto.
Possui a capacidade de exibir o arquivo de maneira paginada, com opção de rolagem para trás e
para frente. Como não necessita ler todo o arquivo de entrada antes de exibi-lo, consegue maior
desempenho comparado a outros visualizadores e editores quando manipulam arquivos grandes.
O uso mais simples é executar a ferramenta com o nome do arquivo ou o caminho e nome dele
como argumento.
Enquanto less visualiza o arquivo é possível fazer buscas dentro do mesmo através de alguns
comandos.
Se a saída de less é redirecionada para um arquivo ou encadeamento, ele passa a executar de
maneira análoga ao cat.
3. Emacs
Este editor de textos tem algumas características um pouco diferentes daquelas dos editores que
conhecemos, mas adota uma filosofia muito utilizada no Linux. Ele trabalha com uma janela onde é
digitado o texto e outra onde são digitados comandos específicos para o editor de textos.
Para iniciar o editor digite na linha de comando:
Exemplo: emacs [arquivo]
4. Joe
Para os saudosistas do Wordperfect, esse editor implementa uma aparência semelhante ao seu
predecessor. Tendo uma linha de status que fica no topo da janela, com as informações de status
do arquivo, nome do arquivo, linha, coluna, hora e as teclas para se obter a ajuda, é um editor muito
leve e prático. Seu sistema consiste basicamente em iniciar o editor e começar a digitar. Tem uma
"janela" de ajuda que pode ficar visível durante todo o tempo ou oculta, bastando para isso
7
pressionar Ctrl-H, alternando-se o modo de exibição da "janela".
5. Mcedit
De modo semelhante ao joe, este editor de textos também possui uma linha de status no topo da
tela, mas, além disso, tem uma linha com as teclas de atalho de seus comandos principais no
rodapé da tela. Grande parte de suas funções são acessadas via menu, que aparece ao se
pressionar a tecla F9. Observe no topo da tela a linha de status: ela muda para um menu que abre
as opções do editor, pelas quais você pode navegar facilmente com as setas de direção.
A grande atração deste editor é que as teclas de atalho principais estão associadas às teclas “Fn”,
onde n varia de 1 até 12. Para iniciar o editor digite na linha de comando: mcedit.
6. Diákonos
Existem vários editores de texto para Linux, mas alguns são mais apropriados para edição de
arquivos de configuração porque podem funcionar fora do ambiente gráfico, em linha de comando.
Geralmente são usados o Pico, o Nano, Vi, Vim ou o Emacs.
Ocorre que o Pico e o Nano são muito simplistas e o Vi, Vim e o Emacs, são complicados para o
iniciante.
O editor Diakonos é um caso especial, é um editor elaborado na Grécia, em linha de comando e
semi-gráfico, como o Nano. Ocorre que ele é mais bonito, muito mais customizável que o Nano,
inclusive as telas, e é tão intuitivo que se comporta como se fosse um editor gráfico!
Suas teclas de atalho são gerais, tipo CTRL+C, CTRL+V etc, o que torna seu uso muito prático.
Existem versões .DEB para Ubuntu e Debian, versões .RPM para Mandriva e Fedora, versões para
Slackware, e tem inclusive Ebuilds para Gentoo e distros baseadas no Gentoo.
7. Nano
Muitas vezes você precisará editar um texto qualquer no Linux via terminal e o Nano poderá ser a
solução adequada caso não queira abrir o OpenOffice Writer para isso!
Ele é o "irmão gêmeo" do Pico, editor embutido no cliente de email Pine. A vantagem é que você
não precisa instalar um software que não vai usar só para ter a funcionalidade de um editor de
textos amigável. Com muitos Kb a menos, o Nano tem as mesmas funções.
Se a sua distro for baseada em RPM, pegue-o em rpm.pbone.net. Se for Slackware, em
linuxpackages.net. Caso seja Debian-like, a instalação será via APT.
Ilustração 4: Editor Nano para Linux
No rodapé do editor há os comandos necessários e para aprender a usá-lo. Uns 15 minutos de
dedicação serão suficientes!
Onde:
* ^C: Ctrl + C
* ^X: Ctrl + X
Portanto, se você é um usuário que não quer perder muito tempo com este assunto, o Nano cairá
como uma luva!!!
8
Comando APT-GET
No princípio era o .tar.gz. Usuários tinham que compilar cada programa que quisessem usar em
seus sistemas GNU/Linux. Quando o Debian nasceu, uma nova forma de gerenciamento de pacotes tornouse necessário. Para este sistema, foi dado o nome dpkg. Este famoso 'pacote' foi o primeiro a chegar nos
sistemas GNU/Linux, enquanto antes a Red Hat decidiu criar seu próprio sistema 'RPM'.
Um novo dilema rapidamente tomou conta das mentes dos criadores do GNU/Linux. Eles
precisavam de um método rápido, prático e eficiente para instalar pacotes, que deveriam gerenciar
automaticamente as dependências e cuidar dos arquivos de configuração ao atualizá-los. Aqui novamente,
o Debian mostrou o caminho e deu vida ao APT, o 'Advanced Packaging Tool', que posteriormente foi
portado pela Conectiva para uso com o RPM e foi adotado por outras distribuições."
A maioria destes comandos requer sudo!
Substitua "nome_pacote" ou "termo" pelo programa que você quer instalar ou procurar.
1. apt-get update - Execute este comando se você mudou o /etc/apt/sources.list ou
/etc/apt/preferences. Também execute-o periodicamente para ter a certeza que sua lista de
fontes fique sempre atualizada.
2. apt-get install nome_pacote - instala um novo pacote (veja também aptitude, abaixo)
3. apt-get remove nome_pacote - remove um pacote (os arquivos de configuração não são
excluídos)
4. apt-get --purge remove nome_pacote - remove um pacote (os arquivo de configuração
também sçao excluídos)
5. apt-get upgrade - atualiza todos os pacotes instalados
6. apt-get dist-upgrade - atualiza o sistema todo para uma nova versão
7. apt-cache search termo - procura por "termo" na lista de pacotes disponíveis
8. dpkg -l nome_pacote - lista os pacotes instalados que casam com "nome_pacote". Na
prática use '*nome_pacote*', a não ser que você saiba o nome completo do pacote.
9. aptitude - O Aptitude é uma interface em modo texto para o sistema de pacotes Debian
GNU/Linux e derivados. Assim como o apt-get, permite ver a lista de pacotes e realizar
operações como instalação, atualização e remoção de pacotes, porém parece tratar um
tanto quanto melhor a questão das dependências.
10. apt-cache showpkg pacotes - mostra informações sobre os pacotes
11. apt-cache dumpavail - mostra uma lista de pacotes disponíveis.
12. apt-cache show pacotes - mostra registros dos pacotes, igual a dpkg –print-avail.
13. apt-cache pkgnames - rápida listagem de todos os pacotes instalados no sistema.
14. dpkg -S nome_arquivo - qual foi o pacote que instalou este arquivo?
15. dpkg -L pacote - Mostra os arquivos instalados pelo pacote.
16. apt-file search NomeArquivo - Este comando procura por um pacote, não necessariamente
precisa estar instalado, que inclua o arquivo passado junto a linha de comando
(NomeArquivo. Ou seja, muito útil para localizar facilmente arquivos individuais dentro de
pacotes que ainda nem se encontram instalados no seu sistema.
17. apt-get autoclean - Execute este comando periodicamente para excluir os arquivos .deb que
não estão mais instalados no seu sistema. Pode-se ganhar uma grande quantidade de
espaço em disco fazendo isso. Se você está desesperado por espaço em disco, apt-get
clean é mais radical, e removerá todos os arquivos .deb, mesmo de pacotes instalados.
Como na maioria dos casos você não precisa destes arquivos .deb, não hesite em usar este
comando quando precisar de uns megas extras.
18. apt-cdrom add - Comando utilizado para adicionar um CD ao arquivo /etc/apt/sources.list do
APT, fazendo assim com que o apt-get procure também neste CD por pacotes.
9
19. apt-get moo – Ainda não sei o porque desse comando, mas tudo bem, você ainda não
mugiu hoje? Seja abençoado com os poderes da super vaca.
10
Download