Principais comandos para uso do Shell
Compilado/Editado por Fábio J. Walter
Fonte: Guia Fóca Linux (http://www.guiafoca.org/), Viva o Linux (http://www.vivaolinux.com.br/)
Distribuições Linux
- Debian
- Ubuntu
- Linux Mint
- …
- Slackware
- Suse
- Red Hat
- CentOS
- Fedora
- ….
Link: http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
Comandos de acesso
Comandos que você utilizará para realizar conexão e desconexão de um servidor linux.
exit | Terminar a sessão, ou seja, a shell (mais ajuda digitando man sh ou man csh) |
logout | Deslogar, ou seja, terminar a sessão atual, mas apenas na C shell e na bash shell |
passwd | Mudar a password do nosso utilizador: passwd USUARIO |
ssh | Sessão segura, vem de secure shell, e permite-nos logar num servidor através do protocolo. Verificar os parâmetros: ssh –p PORTA USUARIO@IP |
Comandos de ajuda e documentação
Atalhos que você utilizará muito e deverá decorar se quiser sobreviver utilizando Linux.
man | Acesso ao manual padrão dos comandos e softwares Linux. man ls |
--help | Parâmetro padrão para todo comando ou programa listar suas opções. ssh --help |
Executando um programa
Sempre que falarmos da execução de um programa no Linux, se ele já estiver nas variáveis de ambiente do sistema basta digitar seu nome. Exemplo: “ls”.
Caso contrário você terá de informar o caminho até o programa ./diretório/arquivoExecutavel
Se estivermos falando de um script (bash extensão .sh) utilize o interpretador:
sh /diretório/arquivoScript.sh
Comandos de Edição/visualização de Texto
vim ou vi | Editor mais comum e difundido dentre as distribuições Linux e na comunidade de usuários. Ele responde por comandos também, assim como o shell. Abrindo um arquivo: vi arquivo.txt Editando: depois de aberto o arquivo tecle “insert” para habilitar o modo de edição. Dica: Nunca use o teclado numérico, só use os números acima do teclado padrão. Salvar e Sair: tecle “ESC” para entrar no modo de comandos. Em seguida :wq! Sair sem salvar: tecle “ESC” para entrar no modo de comandos. Em seguida :q! |
nano ou pico | Editor mais simples que o vi e/ou vim, e sempre que possível é mais prático para uso. Todos seus comandos responde a combinação de teclas CTRL + ?. No seu rodapé ficam os atalhos ^X para SAIR, CTRL + X |
cat | Mostra o conteúdo de um Arquivo, como o comando type do MD-DOS, e é muito usado também para concatenar Arquivos, como por exemplo fazendo cat a.txt b.txt > c.txt” para juntar o Arquivo a.txt e b.txt num único de nome c.txt Ler arquivo: cat arquivo.txt Copiar arquivo: cat arquivo.txt >> outroarquivo.txt |
tail | Funciona como o cat só que mostra apenas as últimas linhas do arquivo (tail = cauda). Ler arquivo: tail arquivo.txt Aumentar o número de linhas exibidas: tail –n 100 arquivo.txt |
head | O inverso do tail, este comando mostra as primeiras linhas do arquivo. |
more | Mostra o conteúdo de um Arquivo, mas apenas uma “página da tela” de cada vez, ou mesmo output de outros comandos, como por exemplo ls | more. Listar arquivos na tela paginando a saída: ls |more |
less | Funciona como o more mas com menos funções. |
Comandos de Gestão de Arquivos e Diretórios
cd | Mudar de diretório atual, como por exemplo cd diretório, cd .., cd / |
chmod | Mudar a permissão de um Arquivo ou diretório: Abaixo um exemplo onde liberamos todas as permissões. chmod 777 arquivo chmod 777 –R diretório
Muito cuidado! Alterar a permissão de diretórios de programas ou do sistema operacional pode fazer com eles parem de executar! |
chown | Mudar o dono ou grupo de um Arquivo ou diretório, vem de change owner. chown USUARIO.GRUPO nomeDoArquivo chown USUARIO.GRUPO –R nomeDoDiretorio |
cp | Copia Arquivos, como o copy do MS-DOS |
grep | Procura texto dentro dos arquivos, sendo um filtro muito útil, usado por exemplo junto com um cat. cat arquivo.log |grep –i fatal |
ln | Cria um link simbólico. É diferente de um atalho como usamos no Windows é mais parecido com a unidade virtual que criamos M:\ ou R:\ |
ls | Lista o conteúdo de uma diretório, semelhante ao comando dir no MS-DOS Listar arquivos ocultos: ls –a Listar arquivos ocultos e verificar tamanhos: ls -las |
mkdir | Cria uma diretório, vem de “make directory”. mkdir nomeDoDiretorio |
mv | Move ou RENOMEIA arquivos. Para mover mv arquivo /novoCaminho/arquivo para RENOMEAR mv arquivo arquivo_novo_nome |
pwd | Retorna o diretório atual. Para você saber onde está nos diretórios. |
rm | Apaga arquivos, vem de remove, e é semelhante ao comando del no MS-DOS, é preciso ter cuidado com o comando rm * pois apaga tudo sem confirmação. Sempre especifique o arquivo que deseja deletar! Com muito cuidado, quando estiver começando a utilizar Linux de um “ls” para confirmar se o comando de delete depois afetará os arquivos certos. Lembre-se! Linux em modo texto não tem LIXEIRA! Apagar arquivo: rm nomeDoArquivo Apagar diretório: rm –rf nomeDiretorio (apaga tudo que esta dentro do diretório sem confirmação. MUITO CUIDADO! Siga a regra acima de dar um LS antes.) |
wc | Conta linhas e carácteres em um arquivo texto; |
tar | Compactador de arquivos. Suas combinações são capazes de compactar e descompactar a maioria dos formatos conhecidos de compactação no Linux (lembrando que RAR não é nativo do Linux). TAR.GZ, TAR.BZ2, .GZIP Compactar usando o GZIP: tar –czvf nome_arquivo.tar.gz arquivoPasta_origem Descompactar arquivo GZ: tar –zxvf nome_arquivo.tar.gz |
Comandos de rede e Transferência de Arquivos
ftp | Vem de file transfer protocol, e permite-nos, usando o protocolo de transferência de Arquivos para um arquivo FTP. Verifique os parâmetros com ftp --help |
scp | Transfere arquivos entre computadores Linux que tenham o protocolo SSH habilitado. Muito importante para copiar arquivos entre computadores Linux. Verifique os parâmetros com scp –help |
rsync | Sincroniza de forma rápida e flexível dados entre dois computadores |
netstat | Verificar o estado da rede, porta ou ip. |
ssh | Sessão segura, vem de secure shell, e permite-nos logar num servidor através do protocolo. Verificar os parâmetros: ssh –p PORTA USUARIO@IP |
nmap | Poderoso port-scan, para visualizarmos portas abertas num dado host. Escanear portas em um servidor. Checar se o servidor esta com a porta do serviço ativo: nmap IPDAMAQUINA Exemplo: nmap localhost |
ifconfig | Visualizar os ips da nossa máquina, entre outras funções relacionadas com ips. Identico ao ipconfig do Windows |
ping | Pingar um determinado host, ou seja, enviar pacotes icmp para um determinado host e medir tempos de resposta, entre outras coisas. |
wget | Ferramenta de download em modo texto. Por exemplo se você tem um arquivo em um servidor web e tem o link direto a ele pode usar o WGET para fazer o download diretamente no servidor Linux. |
Comandos de Controle de Processos
top | Lista os processos que mais usam CPU, útil para verificar que processos estão a provocar um uso excessivo de memória, e quanta percentagem de CPU cada um usa em dado momento. Tem a mesma função do gerenciador de tarefas do Windows (taskmgr.msc ou CTRL + ALT + DEL > Gerenciador de tarefas) |
kill | Mata um processo pelo número do seu PID (Process ID), como por exemplo kill -kill 100 ou kill -9 100 ou kill -9 %1. |
Comandos de Informação de Estado (memória, processador, data hora, hd)
date | Exibe a data e hora. |
df | Lista as partições do Linux e o tamanho do HD disponível e em uso. df -h |
du | Exibe um resumo do uso do espaço em disco. du –shc nome_do_diretorio |
history | Lista os últimos comandos digitados no shell. |
uptime | Diz-nos há quanto tempo o sistema está funcional, quando foi ligado. |
w | Mostra quem esta logado no shell. |
free | Mostra dados sobre memória RAM do computador. |
cat /proc/meminfo | Mostra dados sobre memória RAM do computador. |
cat /proc/cpuinfo | Mostra dados sobre o processador do computador. |
cat /etc/issue | Descobrir o nome da versão do Linux do servidor. |
uname -a | Retorna a versão do Linux e a compilação i386 ou x64 |
Crontab
O cron é um serviço de background que permite o agendamento da execução de um comando/programa para um determinado dia/mês/ano/hora. É muito usado em tarefas de arquivamento de logs, checagem da integridade do sistema e execução de programas/comandos em horários determinados.
As tarefas são definidas no arquivo /etc/crontab e por arquivos individuais de usuários em /var/spool/cron/crontabs/[usuário] (criados através do programa crontab). Adicionalmente a distribuição Debian utiliza os arquivos no diretório /etc/cron.d como uma extensão para o /etc/crontab.
Parâmetros do crontab
crontab –l usuario | Lista as tarefas agendadas para o usuário |
crontab –e | Entra no modo de edição do crontab. Que poderá utilizar em alguns casos por padrão o editor “vi” ou “nano” em outros casos (veja referencias acima) |
crontab –d crontab -r | Muito cuidado! Pois apagam todas as configurações feitas para o usuário. |
Tópicos avançados
Daqui para frente veremos conceitos mais abrangentes da arquitetura do Linux e de sua operação.
Inicialização do linux
Um dos principais conceitos e dos mais importantes para nós na inicialização do Linux é o RUNLEVEL. Que é modo de inicialização do Linux.
O RUNLEVEL é um valor numérico inteiro que vai de 1 à 5.
O nível 1 é chamado de single user mode é um modo de recuperação, onde temos ativa apenas a conta de superusuário. Não é possível usar a rede nem rodar programas gráficos. Neste modo é possível alterar as configurações do sistema, alterar as senhas dos usuários, etc.
Nos níveis 2 e 3 já temos o modo de operação normal do sistema modo texto. Nestes modos o sistema inicializa em modo texto e depois de logado o usuário pode abrir o modo gráfico se desejar. A diferença entre os dois é que no modo 2 (também considerado um modo de recuperação) não existe suporte a rede.
Finalmente, no nível 5 temos a inicialização com login em modo gráfico, default na maioria das distribuições atualmente. O nível 4 geralmente fica vago. Na maioria das distribuições ele equivale ao modo 3, enquanto em outras, como no Slackware, equivale ao modo de login gráfico.
O modo 6 é reservado à reinicialização do sistema. Todos os serviços e programas são parados e o sistema é reinicializado via software. O modo 6 difere do modo 0, onde o sistema fica simplesmente parado, esperando ser desligado.
Distribuições tradicionais:
cat /etc/inittab
Procure por este trecho:
id:5:initdefault:
Que indica que este computador tem RUNLEVEL definido para 5.
Versões mais modernas:
cat /etc/init/rc-sysinit.conf
Procure o seguinte trecho.
env DEFAULT_RUNLEVEL=2
E você verá qual o RUNLEVEL deste computador. Que esta definido para 2.
Serviços do sistema operacional (configuração e utilização)
Debian based
update-rc.d | Edita/cria as configurações de um serviço. |
invoike-rc.d | Manipula um serviço (start, stop...) |
Utilitário que nos auxilia no processo é o rcconf.
Red Hat based
chkconfig –add | Acesso ao manual padrão dos comandos e softwares Linux. man ls |
chkconfig --level | Parâmetro padrão para todo comando ou programa listar suas opções. ssh --help |
services | Manipula um serviço (start, stop...) |
Utilitário que nos auxilia no processo é o setup.
Mais informações
Segue a dica do melhor material em português para download: Guia Fóca Linux disponível em http://www.guiafoca.org/ material iniciante + intermediário
Nenhum comentário:
Postar um comentário