Comandos básicos e avançados.
Segue alguns comandos básicos pra usar à lá console:
- clear: Apaga a tela
- startx: Inicia modo gráfico;
- mount: Monta dispositivos (ex.: HD, CD-ROM);
- umount: Desmonta dispositivos (ex.: HD, CD-ROM);
- ls: Lista diretórios e arquivos;
- mcedit: Editor de arquivos;
- mkdir: Criar diretório;
- rmdir: Apaga diretório;
- adduser: Cria usuário;
- su: Muda para modo super usuário (root);
- halt: Desliga a máquina;
- [tab] (tecla tab): Após digitar o começo de uma palavra, ela completa o mesmo (ou mostra uma lista);
- lspci: Mostra o nome do dispositivo;
- exit: Volta ao usuário anterior no console (quando este foi mudado para root ou vice-versa);
- cp: Copiar arquivo;
- mv: Mover arquivo;
- rm: Deletar arquivo de texto;
- installpkg: Instalar pacote do programa (Slackware, extensão .tgz);
- removepkg: Remover pacote do programa (Slackware, extensão .tgz);
- upgradepkg: Instalar a versão mais recente de um pacote já instalado na máquina (Slackware, extensão .tgz);
- touch: Criar Script. Ex.: touch nome_do_arquivo.sh. Depois criar o arquivo no mcedit;
- chmod 777: Dar permissão a arquivos negados. Ex: chmod 777 nome_do_arquivo;
- tar xzvf: Descompactação .tar.gz. Ex: tar xzvf nome_do_arquivo.tar.gz;
- tar xjvf: Descompactação .tar.bz2. Ex: tar xjvf nome_do_arquivo.tar.bz2;
- rpm -U: Instalação de pacotes .rpm. Ex: rpm -U nome_do_arquivo;
- rpm -ivh: Instalação de pacotes rpm. Ex: rpm -ivh nome_do_arquivo.rpm;
- rpm -e: Remoção de pacotes .rpm Ex: rpm -e nome_do_arquivo.rpm;
- rpm -Uvh: Atualiza pacote .rpm já instalado. Ex: rpm -Uvh nome_do_arquivo.rpm;
- rpm2tgz: Converter pacotes .rpm em .tgz. Ex: rpm2tgz nome_do_arquivo.tgz;
- Ctrl + Alt + F6: Alterna para nova janela do console.
Comandos para manipulação de arquivos
A primeira coisa que sempre vem em mente no uso de um sistema operacional é como lidar com os arquivos dentro dele… Nesta seção eu vou mostrar alguns comandos básicos para mexer com os arquivos.
- cd - Navegando entre diretórios
- ls - Listar arquivos
- mkdir - Cria um diretório
- rmdir - Remove um diretório vazio
- cp - Cópia de arquivos e diretórios
- mv - Move arquivos e diretórios
- rm - Deleta arquivos e diretórios
- ln - Linkando arquivos
- cat - Exibe o conteúdo de um arquivo ou direciona-o para outro
- file - Indicando tipo de arquivo
cd - Navegando entre diretórios
cd [nome_do_diretório] |
Este comando acima mudará o diretório atual de onde o usuário está. Há também algumas abreviações de diretórios no Linux para a facilitação, estes são:
Abreviação | Significado |
. (ponto) | Diretório atual |
.. (dois pontos) | Diretório anterior |
~ (til) | Diretório HOME do usuário |
/ (barra) | Diretório Raiz |
- (hífen) | Último diretório |
Por exemplo, se eu quero ir para o meu diretório home, faço o seguinte:
$ pwd
|
Ou seja, eu estava no diretório /usr/games, e com um simples cd para o diretório ~, fui para o meu diretório home (/home/hugo). Quando você deseja saber o caminho completo do diretório em que você está, utilize o comando pwd. Se você deseja ir para um diretório que está na raiz diretamente, você usa o / antes, exemplo:
$ pwd
|
Eu estava no diretório /usr/local/RealPlayer7/Codecs e quis ir para o diretório etc/rc.d que está na raiz. Note depois que eu usei o hífen e fui de volta para o último diretório em que eu estava.
ls - Listar arquivos
ls [opções] [arquivo/diretório] |
Este comando lista os arquivos, nada mais que isso. Se você executar apenas o ls sozinho, ele vai mostrar todos os arquivos existentes no diretório atual. Há também as opções extras:
Parâmetro |
Significado |
-l |
Lista os arquivos em formato detalhado. |
-a |
Lista os arquivos ocultos (que começam com um .) |
-h |
Exibe o tamanho num formato legível (combine com -l) |
-R |
Lista também os subdiretórios encontrados |
Exemplo de uma listagem detalhada:
$ ls -l
|
Podemos também usar no ls os wildcards, ou seja, caracteres que substituem outros. Exemplo: eu quero listar todos os arquivos que têm a extensão .txt, faço o seguinte:
$ ls *.txt
|
O wildcard é o “*”, que representa “tudo”.txt. Existem outros wildcards, exemplo disso é o ponto de interrogação (?), que substitui apenas 1 caractere, exemplo:
$ ls manual?.txt
|
Existe outro wildcard, que envolve os colchetes. Por exemplo:
$ ls manual[3-7].txt
|
Lista todos os arquivos que tiverem como manual?.txt, onde o ? pode ser substituído por 3, 4, 5, 6 e 7.
mkdir - Cria um diretório
mkdir |
Cria um diretório. Exemplo:
$ mkdir ~/paginas |
Este comando criará o diretório paginas no seu diretório home.
rmdir - Remove um diretório vazio
rmdir |
Apaga um diretório que esteja vazio. Exemplo:
$ rmdir /tmp/lixo |
Isto apagará o diretório /tmp/lixo apenas se ele estiver vazio. Para apagar um diretório com seu conteúdo, refira-se ao comando rm.
cp - Cópia de arquivos e diretórios
cp [opções] |
O comando cp copia arquivos e diretórios. Como opções dele, podemos ver:
Parâmetro | Significado |
-i | Modo interativo |
-v | Mostra o que está sendo copiado |
-R | Copia recursivamente (diretórios e subdiretórios) |
Exemplos:
Quero copiar brasil.txt para livro.txt, com a opção de modo interativo.
$ cp -i brasil.txt livro.txt
|
Como o arquivo livro.txt já existia, ele pergunta se quer sobrescrever, responda y(sim) ou n(não). Agora eu quero copiar o diretório /home/ftp com tudo dentro (até seus subdiretórios) para /home/ftp2, faço o seguinte:
$ cp -R /home/ftp /home/ftp2 |
mv - Move arquivos e diretórios
mv |
Este comando simplesmente move algum arquivo para outro lugar. Ele também é usado para renomear um arquivo. Por exemplo, se eu quero renomear o industria.txt para fabrica.txt, eu faço o seguinte:
$ mv industria.txt fabrica.txt |
Se eu quiser mover o industria.txt para /home/usuario com o mesmo nome, faço:
$ mv industria.txt /home/usuario |
rm - Deleta arquivos e diretórios
rm [opções] |
Este comando apaga definitivamente o arquivo ou diretório. Exemplo:
$ rm arquivo.bin |
Para apagar um diretório com todo seu conteúdo, usa-se a opção -r, assim:
$ rm -r /tmp/lixo |
ln - Linkando arquivos
ln -s |
Este comando é usado para gerar links simbólicos, ou seja, que se comportam como um arquivo ou diretório, mas são apenas redirecionadores que mandam seu comando para outro arquivo ou diretório, por exemplo:
$ ln -s /manual /home/linux-manual |
Este comando criará o link /home/linux-manual, se você der um ls -l você verá que o diretório /home/linux-manual está apontando para /manual. Se você ir para o /home/linux-manual, você na verdade estará no /manual, mas como é um link, não há diferença.
cat - Exibe o conteúdo de um arquivo ou direciona-o para outro
cat |
Este comando existe para mostrar o conteúdo de um arquivo, ou para fazer a cópia deste arquivo, ou uma junção. Vejamos um exemplo, se eu quiser mostrar o conteúdo de /home/usuario/contato, eu digito:
$ cat /home/hugo/contato |
Aparecerá o conteúdo do arquivo contato:
Hugo Cisneiros
|
Este comando pode também servir de direcionador para outro arquivo. Indicadores são usados para isso:
Indicador ">" - faz uma cópia, exemplo:
|
Indicador ">>" - Acrescenta um arquivo ao outro, exemplo:
|
O cat pode fazer coisas que nem você imagina, como tocar sons. Para fazer isso é simples, ele direciona o arquivo som para o dispositivo de áudio (que no linux é representado por um arquivo), exemplo:
cat som-dumau.au > /dev/audio |
file - Indicando tipo de arquivo
file |
Este comando identifica o tipo de arquivo ou diretório indicado pelo usuário conforme os padrões do sistema operacional. Há varios tipos de retorno, vamos aqui ver alguns mais importantes:
ASCII text C Program source
|
Apenas um exemplo deste comando:
$ file linux.txt
|
Comandos sobre processos do sistema
- ps - Listando processos
- kill - Matando um processo
- killall - Matando processos pelo nome
- w - Lista os usuários logados
ps - Listando processos
ps [opções] |
Quando um programa é executado no sistema, ele recebe um número de identificação, o chamado PID. Este comando lista esses processos executados, e apresenta o PID. Além do PID, ele também mostra o comando executado (CMD) e também o STAT (status atual do processo executado, veja nota abaixo), além de outros.
O status do processo é identificado por letras, aqui segue uma tabela com as definições de cada letra:
Letra | Definição |
0 | Não existente |
S | Descansando, fora de funcionamento (Sleeping) |
R | Rodando (Running) |
I | Intermediando (Intermediate) |
Z | Terminando (Zumbi) |
T | Parado (Stopped) |
W | Esperando (Waiting) |
Agora um exemplo para este comando:
$ ps aux
|
Este parâmetro (aux) fez o ps listar todas as informações sobre todos os processos executados.
kill - Matando um processo
kill [-SINAL] |
O comando kill é muito conhecido (principalmente pelos usuários do Netscape ), ele serve para matar um processo que está rodando. Matar? Terminar este processo, finalizar natoralmente! Para matar um processo, temos de saber o PID dele (veja o comando ps), e então executar o kill neste PID. Vamos killar o Netscape:
$ ps aux | grep netscape
|
E o processo do Netscape foi morto! Vivas! O sinal -9 significa para forçar e matar natoralmente mesmo. Uma lista de sinais pode ser encontrada com o comando:
man 7 signal |
killall - Matando processos pelo nome
killall [-SINAL] |
Faz a mesma coisa que o kill, só que a vantagem aqui é que você não precisa saber o PID do processo, e sim o nome. A desvantagem é que se tiver dois processos com o mesmo nome, os dois são finalizados. Seguindo o exemplo do comando kill:
$ ps aux | grep netscape
|
w - Listas os usuários logados
w |
Com este comando, é possível você ver quais usuários estão atualmente logados no seu sistema, além de informações como “O que ele está fazendo”, “aonde está fazendo”, “desde quando está logado”, etc. Vejamos um exemplo aqui da minha máquina:
[hugo@songoku hugo]$ w
|
Comandos de pacotes (instalação/desinstalação/consulta)
O que são pacotes?
No Linux, geralmente os aplicativos vêem em forma de código-fonte, então o usuário tem de baixar e compilar. Os pacotes servem justamente para facilitar o trabalho do usuário, dando a ele um arquivo empacotado com o código já compilado. Existem diversos gerenciadores de pacotes que iremos aprender a usar o básico deles aqui. Tem o RPM (RedHat Package Manager), que é usado por várias distribuições como o Conectiva Linux, Red Hat, SuSE e Mandrake. Também tem o DEB (Debian Packages), muito bom também e usado pela distribuição Debian e Corel Linux (que é baseada no Debian por isso). E temos também o pacoteamento do Slackware (TGZ), que não é tão poderoso como os anteriores, mas quebra galhos também.
Além de empacotar o código-fonte compilado, os gerenciadores de pacotes também armazenam as informações de instalação em um banco de dados, para depois o usuário ter informações sobre a instalação, e para desinstalar o pacote do sistema. E não há apenas pacotes com código-fonte compilado, também há pacotes que contém o código-fonte sem compilar, mas empacotado.
Utilizando o PKGTOOL (Slackware)
Nas distribuições Slackware, é bem simples o gerenciamento de pacotes dele. Os pacotes têm extensão .tgz (diferente de .tar.gz), e além de conter os arquivos, contém scripts de pós-descompactação também. Existe uma interface muito amigável para o gerenciamento dos pacotes .tgz, e se chama pkgtool. Tente executar o pkgtool no console e ver no que dá.
Mas também existem os comandos individuais:
Comando | O que faz |
installpkg X.tgz | Instala o pacote X.tgz |
removepkg X | Desinstala o pacote X |
makepkg | Cria um pacote |
Utilizando o RPM
Para instalar um pacote, usa-se a opção -i:
# rpm -i pacote.rpm |
Você também pode utilizar as opções -v e -h combinadas com a -i para uma mostragem mais agradável. Se você já tem o pacote.rpm e deseja atualizar para uma versão mais recente da mesma, você utiliza a opção -U ao invés da -i, exemplo:
# rpm -Uvh pacote-atualizacao.rpm |
Isso irá atualizar os arquivos do pacote. Se você quer retirar o pacote do seu sistema, você utiliza a opção -e, assim:
# rpm -e pacote |
Caso este pacote gere dependências com outros pacotes, e mesmo assim você queira removê-lo, você pode utilizar a opção –force, que como o nome diz, força a remoção do mesmo:
# rpm -e pacote --force |
Agora uma característica muito importante também para o usuário é a capacidade de consulta que o RPM traz. Por exemplo, se você quer listar todos os pacotes instalados no sistema, você utiliza o comando:
$ rpm -qa |
Isto irá gerar a listagem dos pacotes. Veja que a opção -q (query) é a opção de consulta, e seguida de outra letra ela faz tarefas. Combinando o comando anterior com o comando grep, podemos ver se um certo pacote está instalado no sistema:
$ rpm -qa | grep BitchX
|
E se você quer saber informações sobre um pacote? Então usa-se a opção -i. Vejamos um exemplo:
$ rpm -qi BitchX
|
Se quisermos ver quais pacotes fazem dependência com um certo pacote, utilizamos a opção -R:
$ rpm -qR pacote |
E para verificar a qual pacote um certo arquivo pertence, utilize a opção -f, assim:
$ rpm -qf /diretorio/arquivo |
Ou o contrário, se você quiser listar todos os arquivos pertencentes à um pacote, faça assim:
$ rpm -ql pacote |
Outros tipos de comandos
Descompactar arquivos
Extensão .tar.gz | tar zxpvf arquivo.tar.gz |
Extensão .tar | tar xpvf arquivo.tar |
Extensão .gz | gunzip arquivo.gz |
Extensão .tar.bz2 | bunzip2 arquivo.tar.bz2 ; tar xpvf arquivo.tar |
Extensão .bz2 | bunzip2 arquivo.bz2 |
Extensão .zip | unzip arquivo.zip |
Compactar arquivos
Empacotar um diretório em .tar | tar cvf diretorio/ |
Empacotar um diretório em .tar.gz | tar zcvf diretorio/ |
Compacta um arquivo para .gz | gzip arquivo |
Compacta um arquivo para .bz2 | bzip2 arquivo |
Espaço em disco
df -h | Mostra o espaço em disco das partições montadas |
du -hs | Mostra o espaço ocupado pelo diretório atual |
date | Mostra a data e hora atual |
cal | Mostra um calendário |
uptime | Mostra quanto tempo seu sistema está rodando |
free | Exibe a memória livre, a usada, e os buffers da memória RAM |
top | Mostra os processos que mais gastam memória |
uname -a | Mostra informações de versão do kernel |
Nenhum comentário:
Postar um comentário