Comandos Linux
Comandos Linux
Estrutura de Diretórios
Aqui estão os comandos para lidar com o sistema de arquivos (HDs, drives e
partições de rede).
cd - Muda para um diretório. Se você não especificar nada ele muda para seu
diretório HOME.
chmod - Muda as permissões para acesso aos arquivos e diretórios (Escrita,
Leitura, etc..)
chown - Muda o propritário e grupo de um arquivo ou diretório.
chgrp - Muda o grupo de um arquivo ou diretório.
cp - Copia os arquivos de um diretório/pasta para outro diretório/pasta.
dir - Lista o conteúdo de um diretório (preferir o comando "ls").
find - Procura arquivos com determinadas características na árvore de
diretórios.
ln - Cria um link simbólico para um arquivo.
ls - Lista os arquivos de um diretório.
mc - Midinght Commander. Um gerenciador de arquivos completo para o
console. MUITO BOM!
mkdir - Cria um diretório.
mv - Move ou renomeia um arquivo.
rm - Exclui arquivos.
rmdir - Exclui um diretório vazio.
vdir - Lista o conteúdo de um diretório.
wheris - Localiza o executável, código fonte e manual de um comando.
ghomemover_console - Programa escrito por Daniel Brooke Peig que faz a
mudança de diretórios alterando as referências a arquivos.
ed - Editor de Texto
emacs - Editor de texto mais completo.
gitview - Visualizador de arquivos Hexadecimais.
head - Mostra as primeiras linhas de um arquivo.
jed - Editor
joe - Editor
less - Usado para visualizar arquivos.
more - Usado para visualizar arquivos.
pico - Editor de textos simples.
tail - Mostra as últimas linhas de um arquivo.
vi - Editor com uma interface de linha de comando.
Rede
Comunicações e e-mail
mailx - E-Mail.
lynx - Browser de Internet para o console.
pine - Programa para e-maisl, notícias e mensagens na rede.
sendmail - Muito popular, envia e-mails.
smail - Outro famosos sistema de e-mails mais fácil de usar que o sendmail.
talk - Permite a conversa entre dois micros.
tin - Leitor de Notícias.
Informações do sistema
Gerenciamento de usuários
Utilitários de Texto
Monitoramento de Acesso
w – Mostra quem esta logado no sistema e o que esta fazendo. Se não for
especificado um usuário ao comando, será exibido informações de todos
usuários logados.
o ”w” para exibir todos usuários logados e o que estão executando neste
momento.
o ”w fulano” para mostrar informações do usuário “fulano” se o mesmo
estiver logado no sistema.
who – Semelhante ao comando w mostra quais usuários estão logados no
sistema.
o ”who -m” para mostrar o nome do usuário logado no sistema.
o ”who -q” para mostrar a quantidade total e nomes dos usuário
conectados ao sistema.
whoami - Este comando fornece o mesmo resultado do comando ”who -m”.
last – Mostra todas informações referente as entradas (login) e saídas (logout) de
usuários do sistema.
o ”last -a” para exibir estas informações mostrando o nome da maquina de
onde foi efetuado os logins.
o ”last -d” para exibir estas informações mostrando o endereço IP da
maquina de onde foi efetuado os logins.
o ”last reboot” para exibir um registro de todas as reinicializações
efetuadas no sistema.
lastlog – Exibe informações referente ao último login de cada usuário
cadastrado no sistema. Caso nenhum argumento seja passado, o comando lastlog
exibe todas as informações armazenadas no arquivo “/var/log/lastlog” de todos
os usuários do sistema.
o ”sudo lastlog -u fulano” para exibir informações referentes apenas ao
último login do usuário “fulano.
o ”sudo lastlog -t 5” para exibir a lista dos usuários que logaram no
sistema nos últimos 5 dias informando o dia e a hora do último acesso de
cada um desses usuários.
Rede
alias Tem como finalidade atribuir um “alias” (em inglês, significa outro nome)
a outro comando, permitindo nomear um conjunto de comandos, a ser executado
pelo sistema por um único nome. Caso nenhum parâmetro seja passado ao
comando será listado todos alias atualmente definidos e ativos no sistema.
o ”alias ls='ls -hal --color'” para definir uma alias ls para o comando ls -
hal que irá mostrar os arquivos que estão no diretório correntel, inclusive
os ocultos (-a) em forma de uma listagem (-l) e com as informações de
tamanho mais amigável a nós seres humanos (-h) e diferenciado por
cores.
o ”alias fd='mount /dev/fd0 /mnt/floppy; cd /mnt/floppy && ls'” para
criar um alias chamado fd que montará um disquete, acessando e
listando seu conteúdo. Observe que, neste exemplo, foram usados dois
diferentes separadores de comandos: ponto-e-vírgula e &&. Comandos
separados por ; são executados em seqüência. Comandos separados por
&& são executados de forma condicional, ou seja, o comando após o
separador só é executado se o comando anterior tiver sido executado com
sucesso.
o ”alias mcdrom='mount /mnt/cdrom'” para criar um alias chamado
mcdrom que ao ser executado monta o CD em uso.
o NOTA: Estes aliases são criados apenas para a sessão ativa do usuário,
ou seja, ao deslogar do sistema os mesmos se perderão. Para criar aliases
permanentes ao sistema edite o arquivo .bashrc de seu diretório pessoal
e inclua no mesmo os comando desejados. Em contrapartida ao comando
alias existe o comando unalias que faz justamente o inverso, removendo
os alias criados.
apropos Pesquisa por um padrão na base de dados do comando whatis que
veremos logo abaixo, informando quais comandos do Linux correspondem a
uma determinada expressão.
o ”apropos apropos” (1) - search the whatis database for strings (Procura
por expressões na base de dados whatis), ou seja exibe todos comandos
Linux que tenham alguma correspondência a expressão “apropos”, no
caso apenas o comando apropos.
login Permite a um usuário efetuar o logon (estabelecer uma conexão) no
sistema, bem como ser utilizado para efetuar o logon com um usuário diferente
do atual.
o ”login fulano” para efetuar o login do usuário “fulano”.
o ”login -p fulano” para efetuar o login do usuário “fulano” sem destruir o
ambiente do atual usuário.
logout Finaliza um login shell no console ou terminal. No modo gráfico, este
comando encerra a sessão do usuário podendo fechar a janela do terminal, e em
modo texto encerra a sessão do usuário levando-o de volta ao prompt de login do
sistema.
o ”logout” O mesmo resultado pode ser alcançado executando o comando
”exit”.
su Permite alternar entre os usuários cadastrados do sistema, alterando o ID de
usuário e grupo do atual usuário para outro usuário especificado.
o ”su fulano” permite alternar para o usuário “fulano” após senha de login
correta.
o ”su fulano -c 'vim /home/fulano/arq1'” permite executar o comando
vim abrindo o arquivo “/home/fulano/arq1” como sendo o usuário
“fulano”. O uso desta opção -c não começa um novo shell, apenas
executa um comando como sendo o outro usuário especificado.
sudo Permite a um usuário autorizado conforme configurado no arquivo
“/etc/sudoers”, a executar comandos como se fosse o super-usuário (root) ou
outro usuário qualquer. Veja RootSudo para maiores detalhes.
uname Exibe várias informações sobre o sistema. Caso nenhuma opção seja
fornecida junto ao comando, apenas o nome do sistema operacional será exibido,
equivalente a opção -s.
o ”uname -a” para exibir todas informações sobre o sistema.
whatis Pesquisa em uma base de dados que contem uma curta descrição dos
comandos do sistema. Esta base de dados com os comandos do sistema é criada
e atualizada com o comando ”sudo makewhatis”
o ”whatis sudo halt” para obter uma descrição resumida dos comandos
sudo e halt.
whereis Usado para localizar o binário, o arquivos-fonte e a página man
(manual) dos comandos do sistema.
o ”whereis ls” para descobrir onde se encontra o arquivo binário, os fontes
e o manual (man) do comando ls.
which Exibe o caminho completo na hierarquia de diretórios para os comandos
do sistema.
o ”which firefox” para exibir o diretório onde se encontra o programa
“firefox”.
clear Limpa a tela movendo o cursor para primeira linha. Não existem
parâmetros passados junto a este comando.
echo Permite exibir textos na tela. Este comando também exibe toda estrutura de
diretórios e arquivos em ordem alfabética, porém sem formatar em colunas a
listagem.
o ”echo 'Olá mundo!'” envia para saída de tela a expressão “Olá
mundo!”.
o ”echo /etc/*” para listar todo conteúdo do diretório “/etc”.
halt, reboot, shutdown Respectivamente encerra, reinicializa e encerra ou
reinicializa o sistema.
o ”sudo halt” para encerrar o sistema.
o ”sudo reboot” para reiniciar imediatamente o sistema. Este comando
equivale aos comandos ”sudo init 6” e ”sudo shutdown -r now”.
o ”sudo shutdown -h now” para encerra o sistema imediatamente.
o ”sudo shutdown -h +15” para encerrar o sistema daqui a 15 minutos.
o ”sudo shutdown -r 20:30 'O sistema será reiniciado as 20:30 horas!'”
para reiniciar o sistema as 20:30 horas enviando a mensagem "O sistema
será reiniciado as 20:30 horas!" a todos usuários logados.
o NOTA: O comando ”sudo init 0” também pode ser usado para
encerramento do sistema. O comando shutdown é a forma mais segura
de reiniciar e finalizar o sistema, advertindo os usuários logados e
bloqueando novos logons.
Opções
O comportamento padrão para um comando pode ser modificado por adicionar uma --
opção para o comando. O comando ls, por exemplo, tem uma opção -s , de forma que
"ls -s" incluirá o tamanho dos arquivos na listagem realizada. Há também uma opção -h
para que esses dados estejam em um formato "legível para humanos".
As opções podem ser agrupadas, sendo possível, por exemplo usar "ls -sh", que
funcionará exatamente da mesma forma que "ls -s -h". Muitas opções têm uma versão
longa, prefixadas por dois traços em vez de um, assim "ls --size --human-readable" é
o mesmo comando dado anteriormente.
Dicas e Truques
Teclas de controle e atalhos
Teclas Ação
Ctrl + f Move o cursor uma palavra para frente
Ctrl + b Move o cursor uma palavra para trás
Ctrl + a Para ir ao início da linha de comando
Ctrl + e Para ir ao final da linha de comando
Ctrl + t Inverte o caractere sob o cursor com o anterior
Ctrl + u Limpa a linha de comando corrente
Ctrl + y Re-insere o último trecho de comando apagado
Ctrl + r Faz uma busca incremental no histórico de comandos utilizados
Ctrl + c Termina a execução do comando corrente
Ctrl + d Encerra entrada de dados pelo teclado fazendo logout
Ctrl + m Equivalente a tecla Enter
Ctrl + l Limpa a tela, equivalente ao comando clear
Ctrl + s Inibe a exibição de informações na tela de saída
Ctrl + q Ativa a exibição de informações na tela de saída, inibida pelo Ctrl + s
Ctrl + z Põe o processo corrente em background (segundo plano)
Desligando o computador
Sincronizando os discos
Se você acha que a força vai cair e precisa trabalhar até a ultima hora mas tem medo de
danificar seu sistema de arquivo, poderá sincronizar seus discos de tempos em tempos.
Segurança
Se por algum motivo algo está ameaçando a segurança do seu sistema, como a execução
acidental de um script malicioso como root ou de programa desconhecido, poderá
colocar os discos como somente leitura e evitar danos mais sérios.
Porém por padrão esta navegação será por toda gama de comando já utilizados, o que
por vezes faz com que percamos até mais tempo necessário do que se digitarmos
novamente o comando.
Com uma dica simples veremos então como fazer com que esta navegação seja
otimizada de forma a permitir uma filtragem no histórico de comandos bastando inserir
alguns caracteres do mesmo antes de usarmos as setas de navegação.
Agora as setas farão uma procura por contexto. Se você não digitar nada, o efeito será o
mesmo que antes, mas se você digitar um caractere e pressionar a seta, ele só irá mostrar
os comandos que comecem com aquele caractere. Portanto com este ajuste, se você
digitar "ls" e pressionar a seta ele vai navegar apenas nos comandos que começam com
"ls".
Para que isso funcione desta forma primeiramente iremos criar no diretório $HOME do
usuário desejado o arquivo oculto de nome .inputrc com o seguinte conteúdo abaixo:
“\e[A”: history-search-backward
“\e[B”: history-search-forward
Agora basta fechar a seção atual e abrir uma nova para que a navegação no histórico dos
comandos passe a funcionar desta forma mais otimizada.
Notas:
export HISTFILESIZE=XXXX
export HISTSIZE=XXXX
Quem costuma usar o grep para fazer filtragens, pode se beneficiar desta pequena e
simples dica, fazendo a saída dos resultados ficarem coloridas em destaque.
grep --color=auto
Nota:
Quem gostar do resultado e desejar deixar como padrão, basta editar seu arquivo
~/.bashrc criando um alias para o comando grep conforme abaixo demonstrado.
vim ~/.bashrc
3. Agora, basta executar o comando abaixo que este recurso será padrão para este seu
usuário.
source ~/.bashrc
Obtendo ajuda
Nosso maior aliado
Praticamente todos os comando entendem a opção -h (ou --help), a qual produzirá uma
descrição breve e útil do comando e suas opções, e então volta para o terminal. Tente
"man -h" ou "man --help" para ver isso em ação.
Todo comando e quase toda aplicação em Linux terá um arquivo man (manual), e
encontrá-lo será muito simples. Basta digitar ”man comando” para surgir um manual
extenso para o comando especificado. Por exemplo, "man mv" mostrará o manual de
mv (Move).
Mova para cima ou para baixo no arquivo man utilizando as teclas Page UP e Page
Down ou as setas no teclado, e retorne para a linha de comando teclando q.
"man man" mostrará a entrada do manual para o comando man, e este é um bom lugar
para começar!
Se você não está certo de qual comando ou aplicação você precisa usar, você pode
tentar procurando os manuais (arquivos "man").
"man -k foo" irá procurar manuais para foo. Tente "man -k nautilus" para ver
como isso funciona.
o Observe que isso é o mesmo que o comando apropos.
"man -f foo" procura apenas os títulos dos manuais do seu sistema. Tente
"man -f gnome", por exemplo.
o Isso é o mesmo que o comando whatis.