Comandos básicos para o terminal do Ubuntu

Iniciado por Kleyton Lopes, 03 de Setembro de 2010, 18:33

tópico anterior - próximo tópico

Kleyton Lopes

Retirado do Blog: http://linuxnakbca.blogspot.com/2010/08/comandos-basicos-para-o-terminal-do.html
Em caso de erro, comunique, pois corrigirei...

INTRODUÇÃO

Um interpretador de comandos é um programa que “pega” os comandos de entrada do usuário, por exemplo os comandos que ele tecla, e os traduz em instruções. Podemos compará-lo com o COMMAND.COM do MS-DOS.
-Para passar para o modo texto (interpretador de comandos) a partir de um modo gráfico, temos de digitar as combinações: ctrl+alt+f1 ou com: f2 f3 f4 f5 f6.


Isto faz com que o sistema saia do modo gráfico e inicie algum dos seis consoles virtuais do Linux, aos quais também se pode iniciar quando se carrega o sistema em modo texto.
-Para voltar ao modo gráfico, tem que pressionar ctrl+alt+f7 ou ctrl+alt+f8 (Segundo a sessão em modo gráfico na qual desejamos voltar).


Além de ser um interpretador interativo dos comandos que teclamos, o Shell é também uma linguagem de programação, a qual nos permite escrever guias que possibilitam juntar vários comandos em um ficheiro. Similar aos ficheiros batch do MS-DOS.


NOÇÕES BÁSICAS
Em um terminal:
As aplicações com nomes compostos se escrevem com traços entre as palavras (ex. compizconfig-settings-manager).
Para os espaços em branco, se coloca um underline (ex. nome_arquivo)
Quando queremos pôr vários comandos seguidos, para executá-los de uma vez, deixamos um espaço entre eles, nunca uma vírgula (ex. avidemux k3b kde-i18n-es k3b-i18n).


Quando escrevemos um comando, o interpretador de comandos segue uma série de passos:
1. Busca o nome do comando e comprova se é um comando interno.
2. Comprova se o comando é um "rótulo", ou seja, um nome substituto de outro comando.
3. Se não cumpre nenhum dos casos anteriores, busca o programa correspondente e o executa.
4. Se o interpretador de comandos não pôde encontrar o comando que escrevemos no teclado, mostra uma mensagem de erro.


O formato geral de um comando no Linux é:
comando [-opções] [argumentos]


Na hora de escrever os comandos, deve-se ter em conta as seguintes características:
• Os comandos devem ser teclados sem erros.
• As letras maiúsculas e minúsculas são consideradas como diferentes.
• Em sua forma mais habitual, o sistema operacional utiliza um símbolo de $ como prompt para indicar que está preparado para aceitar comandos, ainda que este caractere possa ser facilmente substituído por outros dependendo do usuário. No caso de o usuário entrar como administrador, este símbolo é substituído por #
• Quando é necessário introduzir o nome de um ficheiro ou diretório como argumento a um comando, o Linux permite escrever as primeiras letras do mesmo e realiza um preenchimento automático ao pressionar a tecla TAB. Se não puder distinguir entre os diversos casos preencha até o ponto no qual se diferem.
O Terminal guarda um HISTÓRICO e você pode ver como funciona em:
Histórico dos comandos no Terminal do Ubuntu


      3. Comandos Básicos



ls -> list: listar. Mostra o conteúdo da pasta que escrevemos depois.
É ele o primeiro comando que todo usuário linux deve aprender. Por exemplo. Se queremos que nos mostre o que contém /etc:
$ ls /etc


Se não botamos nada, interpretará que queremos ver o conteúdo da pasta onde estamos atualmente:
$ ls


Também aceita certos argumentos que podem ser interessantes. Para mostrar todos os arquivos e pastas, incluindo os ocultos:
$ ls -a


Para mostrar os arquivos e pastas junto com os registros que tem, o que ocupa, etc:
ls -l


Também se pode sobrepor os argumentos.
Se quisermos mostrar os arquivos da mesma forma que antes, mas exibindo também os ocultos:
$ ls -la




cd -> change directory: mudar diretório.(nos transporta para diferentes pastas)
Podemos utilizá-lo com caminhos absolutos ou relativos. Nos absolutos, lhe indicamos todo o caminho desde a raíz (/). Por exemplo, onde quer que estejamos, se escrevermos no Terminal…
$ cd /etc/apt
…nos levará a essa pasta diretamente. Do mesmo modo se escrevermos…
$ cd /
…nos levará à raíz do sistema.


Os caminhos relativos são relativos a algo, e esse algo é a pasta onde estamos atualmente. Imagine que estamos no /home e queremos ir a uma pasta que se chama temporal dentro da sua pasta pessoal. Escrevendo…
$ cd tua_pasta/temporal
…nos levará para lá. Nota-se que temos ignorado o /home no início já que se não o introduzíssemos o computador tomaria como referência o diretório onde estamos(/home).
¿E o que aconteceria se escrevêssemos tão somente…
$ cd
Sim, somente “cd”. Isto te leva a tua pasta pessoal diretamente, estando onde estiver. É algo realmente muito prático, muito simples e que nem todos conhecem.


mkdir -> make directory: Fazer diretório. Cria uma pasta com o nome que lhe indicamos.
Novamente podemos usar caminhos absolutos e relativos. Podemos indicar todo o endereço que antecede o diretório que criamos, ou se já estamos na pasta destino, basta escrever tão somente o nome:
$ mkdir /home/tua_pasta/pepino
Se já estamos em /home/tua_pasta…
$ mkdir pepino


rm -> remove: remover. Exclui o arquivo ou a pasta que lhe indicamos.
Como antes, se pode indicar o caminho completo ou o nome do arquivo. Isto, a partir de agora, vamos esclarecer, mas acredito que já tenha ficado claro com os dois comandos anteriores.
Para remover um arquivo:
$ rm nome_arquivo
Para remover uma pasta vazia:
$ rm nome_pasta
Para remover uma pasta que contém arquivos e/ou outras pastas(vazias ou não):
$ rm -r nome_pasta
Outras opções: “-f” não pede uma confirmação para eliminar; o “-v” mostra o que vai sendo excluído.


cp -> copy: copiar. Copia o arquivo indicado para onde quisermos.
Aqui podemos também escrever os caminhos tanto no ficheiro origem, como no destino. Também pode-se escolher o nome que deseja na copia. Por exemplo, se estivéssemos em /etc/X11 e quiséssemos fazer uma cópia de segurança do xorg.conf na nossa pasta pessoal:
$ cp xorg.conf /home/tua_pasta/xorg.conf.backup


mv -> move: mover.
É semelhante com o anterior, só que no lugar de fazer uma cópia, move diretamente o arquivo com o nome que lhe indicamos, que pode ser distinto do original:
$ mv /etc/pepino.html /home/tua_pasta/esse_pepino.html
Outro uso muito prático é o de renomear um arquivo. Basta indicar o novo nome no segundo argumento com o mesmo caminho do primeiro. Neste exemplo supomos que já estávamos na pasta que o continha:
$ mv pepino.html esse_pepino.html


find -> find: encontrar. Busca o arquivo ou pasta que lhe indicamos:
$ find / -name pepino
O comando anterior buscaria em todos os lugares as pastas e arquivos que se chamem pepino. Se tivéssemos a certeza de que se encontrava na pasta /var, por exemplo, indicaríamos assim:
$ find /var -name pepino
Se não temos muita certeza do nome, podemos indicá-lo entre asteriscos Suponhamos que o nome que buscamos contém “pepi”, na mesma pasta de antes:
$ find /var -name *pepi*
Tem outras opções. Por exemplo podemos lhe ordenar que encontre os arquivos/pastas com mais de 1500 KB:
$ find / -size +1500
Ou os arquivos/pastas que contenham o nome “pepi” e tenham menos de 1000 KB:
$ find / -name *pepi* -size -1000


clear -> clear: limpar. Limpa a tela/console a deixando como se acabássemos de abrir.
$ clear



ps -> process status: estado dos processos.
Mostra o que queremos saber dos processos que estão ocorrendo no nosso sistema. Cada processo será identificado com um número chamado PID. Se escrevemos…
$ ps -A
…nos mostrará uma lista de todos os processos, seu PID à esquerda e seu nome à direita. Se queremos mais informações:
$ ps aux
kill -> kill: matar. Elimina o processo que lhe indicamos con seu PID:
$ kill
Em certas ocasiões o processo não “morre” todo, porém se pode forçar o sistema para que lhe “mate” com segurança do seguinte modo:
$ kill -9
sudo -> super-user do: fazer como superusuário.
A conta de usuário no Ubuntu é relativamente normal. Significa ter privilégios de administrador. Explicando melhor, cada vez que se faz algo importante e de risco para o sistema, tem que fazer mediante o prefixo “sudo”, que exige uma senha para ser ativado.
Por exemplo, algo comum em diversos tutoriais é fazer uma cópia de segurança do ficheiro xorg.conf. Esse está localizado na pasta /etc/X11 e aí nenhum usuário pode fazer modificações ou apagar nada se não for administrador ou ter privilégios como tal. Por isso fazíamos sempre:
$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf
Sempre que necessitamos fazer um apt-get/aptitude update ou install e ações deste tipo, devemos escrever antes o “sudo”.


passwd -> password: senha.
Com este comando, poderemos trocar a senha da nossa conta. Primeiro nos pedirá a senha atual como medida de segurança. Depois, nos pedirá para introduzir duas vezes seguidas a nova senha.
$ passwd




su -> super-user: superusuário. (ainda que o comando su normalmente se relacione com "super user", realmente parece que veio de "switch user" ou "substitute user")
Por meio do su, poderemos nos logar como superusuário. Depois de escrevê-lo, nos pedirá a senha de root e estaremos como administrador. Poderemos fazer tudo o que queremos.
$ su
Este comando também nos permite fazer login com outra conta distinta. Por exemplo, imaginemos que existe outra conta, além da root e da nossa, chamada “convidado”. Para fazer login como tal bastaria digitar:
$ su convidado
e depois escrever a senha desta conta.


sudo passwd -> poderá trocar a senha de root (a do superusuário).
Não é um comando propriamente dito (é a união de 2), mas é interessante que conheça.
$ sudo passwd






apt -> advanced packets tool: ferramenta avançada de pacotes.



É um dos comandos mais úteis que se desenvolveu nos sistemas GNU/Linux Debian ou baseados nesta distro. Nos permite comprovar atualizações; atualizar todo o sistema. Também nos oferece funcionalidade para buscar, baixar e instalar pacotes com um só comando.
Temos vários comandos, porém as mais usadas são as seguintes:
$ apt-cache search nome_pacote
Busca nome_pacote para ver se ele existe, nos oferecendo os pacotes que poderiam ser no caso de ter sido posto um nome aproximado.
$ apt-get update
Atualiza os repositórios dos pacotes. Os repositórios são como os endereços que contém os nossos pacotes. apt-get update atualiza a lista de todos esses pacotes para que na hora de fazer a busca e seu posterior download seja tudo mais rápido.
$ apt-get upgrade
Atualiza nosso sistema com todas as possíveis atualizações. A atualização não se realiza só sobre o próprio sistema operacional, mas também sobre as aplicações que estão contidas nos repositórios. Esta é uma boa forma de estar sempre em dia.
$ apt-get install nome_pacote
Localizado o nome do pacote que queremos baixar e instalar, este comando se encarregará do resto. Buscará no nosso índice (o que se atualiza com o update) de onde tem que baixar o pacote; baixa e depois o instala.
$ apt-get remove [--purge] nome_pacote
Elimina um pacote específico do sistema. Adicionando o argumento “–purge” (colchetes = opcional) para que exclua também os ficheiros de configuração.
$ apt-get autoremove
Elimina pacotes que se tornaram inservíveis depois de algum “apt-get remove”. Normalmente depois se fazer este último, te avisam com uma mensagem que realize o “apt-get autoremove”.
Todos estes comandos necessitam ter privilégios de administrador(adicionando sudo antes)




aptitude -> aptitude: aptidão, habilidade. No fundo, brinca com as siglas de apt para criar aptitude.


É uma versão melhorada de apt. Se você ver em todos os manuais e entradas onde havia um processo de instalação, tenho usado aptitude no lugar de apt. O segundo é talvez o mais difundido já que nasceu primeiro.
aptitude nasceu como um front-end de apt, ou seja, como una espécie de aplicação gráfica e no modo texto para realizar tudo o que faz apt. Mas o certo é que suas características são melhores.
apt quando instala algo realiza uma sugestão para que instale algo mais que poderia servir bem, porém não instala. Há programas que às vezes usam outros para algumas de suas funções ou opções. apt não instalaria os segundos, no máximo te avisaria. Contanto, aptitude os instalará porque sabe que de alguma forma é indispensável para o que tem solicitado.
Da mesma forma, se com apt instala esse programa que é utilizado por outro, quando desinstalar o principal, não se desinstalará o secundário, ainda que este já não tenha muito sentido estar instalado, e o mesmo acontece com as livrarias. aptitude está capacitado para desinstalar o que ele mesmo instalou como recomendação. Deixa o sistema mais limpo depois das desinstalações.
Para abrir a interface gráfica de aptitude, tem apenas que teclar:
$ aptitude
No entanto, também se pode usar exatamente igual o apt, mas com as características que tenho comentado:
$ aptitude search nome_pacote
$ aptitude install nome_pacote
$ aptitude remove nome_pacote
$ aptitude purge nome_pacote
$ aptitude update
$ aptitude upgrade
E igual ao anterior, necessitará usá-lo com o sudo antes, para entrar como administrador.


dpkg -> depackage: descompactar.
Os pacotes, quando se instalam, sofrem um processo de descompactação. No fundo, um pacote .deb contém uma série de scripts de pré-instalação, pós-instalação e os arquivos do pacote.
Este comando usaremos para instalar um pacote .deb que já tenhamos baixado em nosso sistema. Em muitas ocasiões há uma aplicação que não está nos repositórios. Nós baixamos o .deb para instalá-la com uma interface gráfica que corresponda (GDebi no caso do GNOME).
No fundo, estas interfaces gráficas estão baseadas em dpkg. Se queremos instalar um pacote já baixado por meio do terminal usaremos o argumento ‘-i’ (i=install):
$ dpkg -i nome_pacote
Para desinstalar ‘-r’ (r=remove):
$ dpkg -r nome_pacote
Para desinstalar o pacote e os ficheiros de configuração “–purge” (purgar):
$ dpkg -r –purge nome_pacote




Alien -> Alien: de outro país, de outro planeta.
Ainda que o Ubuntu disponha de uma grande quantidade de pacotes em seus repositórios, pode ser que alguém tenha algum problema em encontrar uma aplicação específica como lhe interessa ou que tenha visto o pacote que deseja em outras distros.
alien é bastante prático para estas situações já que nos permite transformar um pacote de um gestor de pacotes determinado em outro. Por exemplo podemos passar de um .deb (Debian) a um .rpm (Red Hat) e vice-versa. As extensões suportadas são:
* deb (Debian)
* rpm (Red Hat)
* slm (Stampede)
* tgz (Slackware)
* pkg (Solaris)
Seu uso é simples. O que devemos saber é o argumento que transformará o pacote original na extensão desejada:
* “–to-deb” ou “-d” para transformar para .deb
* “–to-rpm” ou “-r” para transformar para .rpm
* “–to-tgz” ou “-t” para transformar para .tgz
* “–to-pkg” ou “-p” para transformar para .pkg
* “–to-slp” para transformar para .slp
Como exemplo, passaremos um suposto pacote de Red Hat chamado “pepino.rpm” a “pepino.deb”:
$ alien -d pepino.rpm


man -> manual: manual. É outro comando de grande potencial no linux.
Normalmente cada programa ou comando vem com um arquivo de ajuda muito completo sobre seu uso e seus argumentos. Quando se desconhece como se usa e que argumentos tem um comando ou aplicação tão somente tem que escrever no terminal:
$ man nome
Em certas ocasiões, a informação que nos oferece man pode chegar a ser excessiva. Quase todos os comandos e aplicações aceitam o argumento “–help” para que mostre certa ajuda mais resumida. Por exemplo com aptitude:
$ aptitude –help
Todos os comandos mostrados possuem muito mais argumentos. Estão postados os mais usados ou necessários, assim que houver algum que os interesse particularmente conheça mais ele: digite “man” ou “–help” para obter mais detalhes.

date – Mostra na tela o dia e a hora, permitindo, aliás, a mudança das mesmas. Sintaxe:
date [opção][formato]






cal - Mostra o calendário do mês ou ano atual. Sintaxe:
cal [mes][año]
Por exemplo,
• cal mostra o calendário do mês atual.
• cal 1949 mostra o calendário do ano 1949.
• cal 05 1945 mostra o calendário de Maio de 1949.






who - Indica que usuários tem o computador nesse momento, em que terminal estão e a que hora iniciaram a sessão. Sintaxe:
who
whoami - Indica o atual usuário que está trabalhando no terminal. Sintaxe:
whoami
finger - Apresenta uma informação completa dos usuários conectados na rede. Sintaxe:
finger [-bfilpqsw][login1 login2]
uname - Proporciona o nome do sistema no qual está trabalhando. Sintaxe:
uname [-opções]
Como opções principais temos:
-a indica ainda a versão, data e tipo de processador.
-m indica tipo de processador.
-r indica versão.
-v indica data.
logname - Indica o nome do usuário conectado ao sistema (o que tem feito o login). Sintaxe:
logname
info - Proporciona ajuda resumida acerca de um comando em questão. Sintaxe:
info [comando]
echo - Mostra na tela os argumentos que lhe passamos. Sintaxe:
echo [argumento1] [argumento2] ... [argumentoN]
alias - Atribua um nome ou rótulo para a execução de um comando com suas opções.. Sintaxe:
alias rótulo=’comando’
O comando alias sozinho mostra todos os rótulos que foram criados. O comando unalias elimina um rótulo especificado.
Kleyton Lopes -> Sucesso= Trabalho+Prazer (Einstein)

haoko

Gostei muito da listagem que você fez. Estou aprendendo a usar o linux agora e estou adorando! E esse seu tópico caiu bem aos meus olhos newbie. Grande abraco e tudo de bom.

zeroday

Muito bom Kleyton ,
Ajudará muitas pessoas.

Ate mais
"Lutar sempre , vencer na medida do possível , desistir jamais."