O básico da linha de comando - Texto de Carlos Morimoto em 18/06/2008
Ter fluência no uso da linha de comando é um pré-requisito para qualquer bom administrador. Usar o prompt é, de certa forma, muito parecido com aparecer uma segunda língua, onde os comandos equivalem às palavras e a sintaxe e os argumentos usados equivalem à gramática. A única forma de adquirir um bom vocabulário e, principalmente, de entender a gramática é estudando, mas por outro lado, a única forma de adquirir fluência é realmente falando, o que na nossa analogia equivale a acumular “horas de vôo” no uso do terminal. No começo é normal que você fique “catando milho” e precise pesquisar e olhar as páginas de manual para se lembrar mesmo dos comandos mais simples, mas com o tempo usar o terminal acaba sendo uma coisa tão natural quanto falar ou escrever. O importante é não desanimar.
cd : Possivelmente o comando mais básico do prompt, permite navegar entre diretórios, como em “cd /etc”. Você pode tanto indicar o caminho completo até o diretório desejado, como em “cd /var/log/apache2″, ou usar caminhos relativos, indicando o destino a partir do diretório atual. Se você está dentro da pasta “/etc” e quer acessar a pasta “/etc/bind”, precisa digitar apenas “cd bind”. Para subir um diretório, use “cd ..” e, para subir dois nível, use “cd ../..”.
pwd : Serve apenas para confirmar o diretório atual. É usado sem parâmetros, simplesmente “pwd”.
ls : Lista os arquivos dentro do diretório atual. Por padrão, ele mostra apenas os nomes dos arquivos e não mostra os arquivos ocultos. Para ver tudo, incluindo os arquivos ocultos, use “ls -a”, para ver também as permissões de acesso e o tamanho dos arquivos, use o “ls -la”. Para ver os tamanho dos arquivos especificados de forma legível (”329M” em vez de “344769698″) adicione o parâmetro “h”, como em “ls -lha”. Você pode ver também os arquivos de qualquer diretório, sem ter que primeiro precisar usar o “cd” para acessá-lo. Para isso, basta indicar o diretório, como “ls -lha /etc”.
Em muitas distribuições, como no CentOS, o “ls” mostra uma listagem colorida, que torna fácil identificar os arquivos (pastas aparecem em azul, arquivos compactados em vermelho) e assim por diante, o que torna mais fácil identificar os arquivos. Para ativar esse recurso em outras distribuições, adicione a linha:
alias ls=”ls –color=auto”
No final do arquivo “/etc/profile“. Outra personalização muito usada é fazer com que os comandos “rm”, “cp” e “mv” peçam confirmação, o que reduz a possibilidade de causar danos catastróficos ao digitar comandos incorretos. Para isso, adicione as três linhas abaixo no final do arquivo “/etc/profile”:
alias rm=”rm -i”
alias mv=”mv -i”
alias cp=”cp -i”
cp : O cp é um comando aparentemente simples, mas que esconde vários segredos. A sintaxe básica para copiar arquivos é usar o comando cp, seguido do nome do arquivo e a pasta para onde ele vai, como em “cp /etc/fstab /tmp”. Entretanto, em sua forma básica o cp serve apenas para copiar arquivos isolados; para copiar pastas, é necessário que você adicione a opção “-r” (que ativa a cópia recursiva), como em “cp -r /home/gdh/* /backup/”
Um parâmetro bastante útil é o “-a”, que faz com que o cp sempre copie recursivamente, mantenha as permissões do arquivo original e preserve os links simbólicos que encontrar pelo caminho. Em resumo, faz o cp se comportar de uma forma mais simples e lógica.
Você pode ainda usar o “*” e a “?” como curingas quando quiser copiar vários arquivos. Para copiar todos os arquivos da pasta atual para a pasta “/mnt/hda6″, por exemplo, use “cp * /mnt/hda6″. A “?” por sua vez é mais contida, substituindo um único caractere. Por exemplo, “cp arquivo?.txt /mnt/hda6″, copia o “arquivo1.txt”, “arquivo2.txt” e o “arquivo3.txt”, mas não o “arquivo21.txt”.
ls - Lista os arquivos, mesmo que o dir do DOS
Atributos comuns:
-a = Mostra arquivos ocultos
-l = Mostra bytes, permissoes, diretórios e etc
Obs: no ls os nomes de arquivos nos sistemas *X (Unix, linux, etc) nao precisam ter so 8 letras. Dai, se voce quer listar os arquivos comecados com u, por exemplo, peca ls u* e veja o resultado.
* - Substitui qualquer conjunto de caracteres
? - Substitui caracteres isolados
--------------------------------------------------------------------------------
rm - Remove arquivos, no formato: rm (arquivo1) (arquivo2) (arquivo3) ...
Exemplo: rm eu.doc / rm leiame.txt manual.html win95.w95
--------------------------------------------------------------------------------
cp - Copia arquivos, no formato: cp (arquivo1) (diretorio)
Exemplo: cp manual.txt /home/manual
--------------------------------------------------------------------------------
cat - Mostra o conteudo do arquivo, mesmo que o type do DOS
--------------------------------------------------------------------------------
more - Exibe o conteudo de um arquivo pagina a pagina, mesmo o q do DOS
Exemplo: lsmore
--------------------------------------------------------------------------------
pwd - Exibe o diretorio atual (o que você esta no momento)
--------------------------------------------------------------------------------
rmdir - Apaga Diretório (Pasta)
Exemplo: rmdir /diretorio se o diretorio estiver cheio, use o rm com o atributo -r
--------------------------------------------------------------------------------
mkdir - Cria Diretório (Pasta)
Exemplo: mkdir /diretorio
--------------------------------------------------------------------------------
clear - Limpa a tela, mesmo que o cls do DOS
--------------------------------------------------------------------------------
who - Mostra quem estah na maquina no momento
--------------------------------------------------------------------------------
whoami - Mostra quem você é - útil quando você esquece com que login entrou... Wink
--------------------------------------------------------------------------------
df - Mostra o espaco usado, livre e a capacidade das partições do HD
--------------------------------------------------------------------------------
free - Exibe a memoria livre, a usada, e o buffers da memória RAM
--------------------------------------------------------------------------------
exit e logout - Sai da sessão atual
--------------------------------------------------------------------------------
tar (tape archive) - Programa de geração de backup
tar -c - Gera backup
tar -x - Restaura backup
tar -v - Lista cada arquivo processado
tar -t - Lista o conteúdo de um backup
Nota: Para descompactar arquivos "tagged"(.tar.gz, .tgz, etc)
tar zxpvf (nome_do_arquivo)
Se o arquivo for "gziped"(.gz):
gunzip -d (nome_do_arquivo)
--------------------------------------------------------------------------------
chmod - Muda as permissoes do arquivo/diretório
--------------------------------------------------------------------------------
chown - Muda as permissões do arquivo/diretório
--------------------------------------------------------------------------------
cat - Encadeia e imprimi arquivos.
--------------------------------------------------------------------------------
cd - Muda de diretório.
--------------------------------------------------------------------------------
chgrp - Muda o título de um grupo de arquivos.
--------------------------------------------------------------------------------
date - Retorna a data e a hora.
--------------------------------------------------------------------------------
du - Relatório no uso do sistema de arquivos.
--------------------------------------------------------------------------------
echo - Exibe seus argumentos.
--------------------------------------------------------------------------------
expr - Avalia seus argumentos quando geralmente e uma fórmula matemática.
--------------------------------------------------------------------------------
find - Localiza os arquivos com características específicas.
--------------------------------------------------------------------------------
grep - Procura um modelo a partir de um arquivo. (veja awk)
--------------------------------------------------------------------------------
kill - Termina um processo.
--------------------------------------------------------------------------------
ls - Exibe informacoes sobre um ou mais arquivos.
--------------------------------------------------------------------------------
ps - Exibe um status dos processos.
--------------------------------------------------------------------------------
sleep - Causa um processo para tornar-se inativo por uma duracao de tempo especifica.
--------------------------------------------------------------------------------
sort - Escolher e unir um ou mais arquivos.
--------------------------------------------------------------------------------
stty - Exibir ou escolher parâmetros do terminal.
--------------------------------------------------------------------------------
tail - Exibir o fim de um arquivo.
--------------------------------------------------------------------------------
uniq - Compara dois arquivos. Procura e exibe em linhas o que e incomparavel em um arquivo.
--------------------------------------------------------------------------------
wc - Exibe detalhes no tamanho do arquivo.
--------------------------------------------------------------------------------
who - Informações de quem esta on-line.
--------------------------------------------------------------------------------
write - Usado para mandar mensagens para outro usuario.
--------------------------------------------------------------------------------