Comandos de Sistemas Operacionais variantes do UNIX

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Genéricos

  • man (manual): formata e apresenta o manual de um comando.
  • history: na prática, o comando é uma biblioteca de funções auxiliar do comando bash. Apresenta o histórico de comandos referentes a um determinado terminal ou console.
  • whereis: informa o endereço absoluto de um comando, seu código-fonte, arquivos de configuração e manuais.
man login
history
whereis init

Sistema

  • halt: termina o sistema operacional
halt
  • reboot: reinicia o computador.
reboot
  • poweroff: desliga o computador.
poweroff

Pacotes

Para facilitar a administração do sistema, os programas, bibliotecas e outros componentes do S.O. são organizados em pacotes. Esses pacotes contém:

  • Arquivos relacionados ao pacote em questão, como por exemplo o executável de um programa, seu manual, arquivos de exemplos de uso, etc.
  • Scripts de instalação e remoção do pacote, a fim de agilizar ainda mais o processo de adição ou remoção de funcionalidades do sistema como um todo.
  • Relação de dependência com outros pacotes. Um programa, como o firefox, por exemplo, requer várias bibliotecas para o seu funcionamento - uma vez que é mais prático compartilhar bibliotecas (e suas primitivas/funções) do que reescrever tal código em cada pacote ou programa. Para o devido funcionamento deste pacote requer, portanto, a instalação de outros pacotes de dependência. É possível, hoje, automatizar esse processo todo.

Os comandos, para as distribuições Debian e Ubuntu, são:

  • apt-get: descarrega o pacote e suas dependências da mídia (CD-ROM, rede, etc.), instala os arquivos e roda os scripts de instalação ou remoção do pacote.
  • apt-cache: procura por uma palavra dentro da descrição dos pacotes. Auxilia para localizzar o nome de um pacote que contempla um programa, por exemplo.
  • aptitude: equivalente a apt-get, porém realiza operações adicionais como, por exemplo, remover pacotes de dependência não solicitados pelo usuário final. Pode ser usado também para substituir o outro comando na maioria dos casos, apt-cache.
  • dpkg: apenas instala os arquivos e roda os scripts de instalação ou remoção do pacote. O pacote, com extensão .deb, já deve se encontrar armazenado no sistema.
apt-get update
aptitude update
apt-get install firefox
aptitude install firefox
apt-cache search traceroute
aptitude search traceroute
dpkg -i firefox_3.0.deb

Usuários

  • whoami (who am i?): informa a identidade corrente.
  • id (identification): informa nomes e números de identificação correntes.
  • su (switch user): alterna para outro usuário. Para facilitar a troca de usuários, o comando sudo pode ser combinado, permitindo o uso da senha pessoal do usuário.
  • chmod (change mode): altera as permissões de um arquivo.
  • chown (change owner): altera o dono de um arquivo - é preciso ser superusuário para realizar esta operação.
  • chgrp (change group): altera o grupo de um arquivo.
whoami
id
su - root
sudo su -
chmod g-w arquivo.txt
chmod 640 arquivo.txt
chown aluno arquivo.txt
chgrp administradores arquivo.txt

Processos

  • ps (processes): lista os processos do sistema.
  • pstree (processes tree): apresenta a árvore de processos do sistema.
  • top: mostra dinamicamente o estado do sistema (processador e memória) e dos processos.
  • kill: envia um sinal ao processo identificado pelo seu número (PID).
  • killall: envia um sinal a todos os processos identificados pelo seu nome.
ps aux
ps -A f
pstree
top
kill -TERM 1546
killall -TERM asterisk

Serviços

Os scripts para iniciar os serviços, na maioria das distribuições GNU/Linux, estão localizados em: /etc/init.d/. Assim, para iniciar o serviço Asterisk, por exemplo, utiliza-se o comando e a ação desejada:

/etc/init.d/asterisk start

A lista de ações pode ser vista no código do script.

Asterisk

  • rasterisk: equivalente a asterisk -r. É a interface, em modo texto, de administração do serviço.

Cron

  • crontab: interface de administração das tarefas agendadas do usuário.

Dados

Diretórios

  • ls (ls): lista o conteúdo de um diretório.
  • mkdir (make directory): cria um diretório.
  • rmdir (remove directory): remove um diretório (desde que esteja vazio).
  • cd (change directory): troca de diretório corrente.
  • pwd (print working directory): mostra o diretório corrente.
  • find: varre o diretório de forma recursiva (subdiretórios, subsubdiretórios, etc.) - podendo inclusive associar essa lista de arquivos a uma ação posterior (copiar, remover).
ls /tmp
mkdir subDiretorio
cd subDiretorio
pwd
cd ..
rmdir subDiretorio
find /etc

Arquivos

  • touch: toca um arquivo, atualizando a sua data de modificação - ou mesmo criando-o caso ainda não exista.
  • cp: copia o conteúdo de um arquivo para outros.
  • mv: move um arquivo de um diretório para outro, ou mesmo troca o seu nome.
  • rm: remove um arquivo do sistem.
  • cat: apresenta e concatena o conteúdo de arquivo(s).
  • more: apresenta o conteúdo de arquivo(s) de forma paginada e sequencial.
  • less: idem a more, porém pode-se navegar pelo documento, avançando e retrocedendo ao início do mesmo.
  • wc (word count): conta bytes, palavras e linhas de arquivo(s).
touch /etc/passwd
cp /etc/passwd /etc/passwd-copia
mv /home/aluno/Imagem.gif /var/www/
mv /home/aluno/Fotos.jpeg /home/aluno/fotos.jpg
rm /home/aluno/Musicas/jingle.mp3
rm -r /home/aluno/Musicas/
cat /etc/passwd
more /etc/passwd
cat /etc/passwd | more
less /etc/passwd
wc /etc/passwd

Filtro

  • cut: opera sobre colunas de um arquivo (obedecendo a um padrão definido), entendendo-o como uma matriz de caracteres.
  • grep: idem a cut, porém aplica-se a linhas.
cut -d : -f 1 /etc/passwd
cat /etc/passwd | cut -d : -f 1
grep aluno /etc/passwd

Editores

nano

O editor nano serve para editar arquivos em modo texto. Sua tela apresenta uma área de trabalho, onde aparece o texto, com uma barra de ajuda embaixo. Nessa barra há os comandos que podem ser usados, que devem ser invocados com a combinação da tecla Ctrl e a letra indicada. Para terminá-lo basta teclar Ctrl X, fornecendo o nome do arquivo onde guardar o texto.

Nano.png

vi

O editor vi é bastante simples e muito utilizado por ser encontrado em todas as distribuições Linux. Poderíamos optar por um editor um pouco mais avançado, mas com o inconveniente de encontrarmos uma distribuição/instalação onde não dispuséssemos deste editor. O editor vi não tem como objetivo formatar textos: negritos, indentações, justificação, etc. Na prática o vi é muito usado para editar textos que não necessitam de formatação em nenhum momento, como por exemplo códigos fonte de programas em alguma linguagem de programação, e que não carreguem o texto com caracteres especiais. Assim, esse editor também é chamado de editor de programas.

Outros guias:

Modos de operação

O editor vi tem três modos de operação distintos: modo insert , modo escape (também chamado de modo comando), modo last line;

  • insert: usado para a digitação do texto. Neste modo o vi funciona como uma máquina de escrever, com a diferença de que você pode retroceder sobre o texto já digitado para corrigir eventuais erros. Cada caracter que for digitado aparecerá na tela exatamente como foi digitado.
  • escape: os caracteres comuns (letras, números e sinais de pontuação) têm um significado especial e quase todos os caracteres funcionam como comandos; portanto, existem muitos comandos. Alguns comandos servem para passar para o modo insert, outros para movimentar o cursor sobre as linhas do texto, alterar trechos do texto, buscar palavras, etc.
  • last line: os comandos são digitados em uma linha especial que aparece no final da tela quando se digita : (dois pontos) no modo escape. Parte dos comandos do modo escape possuem similares no modo last line, como por exemplo os comandos de edição, que veremos mais adiante. Os comandos no modo last line devem ser seguidos por ENTER, contrariamente ao que acontece no modo escape.

Criação e edição de arquivos

Outro guia rápido sobre vi

Para criarmos um arquivo simplesmente digitamos vi seguido do nome do arquivo. Por exemplo:

vi primeiro.arquivo

Após isto será aberto o editor com conteúdo vazio, no modo comando. Para podermos editar qualquer coisa devemos entrar no modo inserção, para isto basta teclarmos <i> (aparecerá -- INSERT -- na base da janela). Em seguida digitamos o texto propriamente dito, usando o teclado normalmente.

Para salvarmos o texto devemos teclar <Esc> (modo comando), <:> (modo last line> e <w> (write). Assim teremos o nosso texto salvo.

Agora vamos a alguns comandos úteis:

  • Copiar algumas linhas do texto: colocamos o cursor no início do texto a ser copiado e, no modo de comando, teclamos <n>+<y>+<y>, onde n é número de linhas que desejamos copiar. Por exemplo se digitarmos <5>+<y>+<y> copiaremos 5 linhas para o buffer.
  • Excluir algumas linhas do texto: colocamos o cursor no início do texto a ser excuído e, no modo de comando, teclamos <n>+<d>+<d>, onde n é número de linhas que desejamos copiar. Por exemplo se digitarmos <3>+<y>+<y> apagaremos 3 linhas do texto mas que serão armazenadas no buffer.
  • Colar o conteúdo do buffer para alguma parte do texto: colocamos o cursor no ponto onde pretendemos inserir o texto e, no modo de comando, teclamos

    (paste) para inserirmos o texto abaixo da linha do cursor e

    para inserir o texto acima da linha do cursor.

  • Encontrar alguma palavra: no modo de comando, teclamos </> <palavra> <Enter>. O vi mostrará a primeira ocorrência da mesma. Para ir para a próxima ocorrência teclamos <n> (next), e para a ocorrência anterior teclamos <p> (previous)
  • Substituir uma palavra por outra: no modo de comando, teclamos <:s/><palavra></><outra><Enter>. Por exemplo se quisermos substituir velha por nova: <:s/><velha></><nova><Enter>, assim teremos a troca da primeira ocorrência de velha por nova. Para substituirmos todas as ocorrências acrescentamos <%> entre <:> e <s> do caso anterior. Exemplo: <:%s/><velha></><nova><Enter>
  • Inserir o conteúdo de um texto externo em nosso texto: no modo de comando, teclamos <:r>+<caminho/arquivo>+<Enter>.
  • Salvar com outro nome: no modo de comando, teclamos <:w>+<novo.nome>+<Enter>.


Uma lista de comandos resumida segue abaixo:

  • 0: vai para o início da linha
  • $: vai para o final da linha
  • gg: vai para a primeira linha
  • G: vai para a última linha
  • :n: vai para a linha n (n é um número)
  • w: vai para a próxima palavra
  • b: vai para a palavra anterior
  • x: apaga um caractere à direita do cursor
  • X: apaga um caractere à esquerda do cursor
  • dd: apaga-se uma linha inteira
  • D: apaga do cursor até o final da linha
  • dw: apaga até a próxima palavra
  • dfs: apaga até a próxima ocorrência do caractere s
  • a: entra-se em inserção uma posição à frente do cursor
  • i: entra-se em inserção uma posição antes do cursor
  • rc: substitui o caractere sob o cursor pelo caractere c
  • cwnova: substitui a palavra a partir do cursor pela palavra nova
  • :w: grava o arquivo
  • :w um_arquivo: grava o conteúdo no arquivo um_arquivo
  • :w! um_arquivo: grava o conteúdo no arquivo um_arquivo, sobrescrevendo-o caso exista
  • :r um_arquivo: lê um_arquivo e insere seu conteúdo a partir do cursor
  • :r!comando: executa comando no shell, e insere seu resultado a partir do cursor
  • :q: sai do vi (termina o editor)
  • :q!: sai do vi, descartando as modificações

Rede

  • ifconfig (interface configuration): configuração/apresentação das interfaces de rede. Os endereços IP são associados a uma interface de rede (lógica ou física).
  • route: configuração/apresentação da tabela de roteamento do sistema. A tabela de roteamento está relacionada ao sistema como um todo.
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
ifconfig eth0:0 192.168.0.193 netmask 255.255.255.252
route add default gw 192.168.0.254
route del default
route add -net 10.160.0.0 netmask 255.240.0.0 gw 192.168.0.2
route del -net 10.0.0.0 netmask 255.0.0.0