sexta-feira, 7 de março de 2014

Guia de sobrevivência em Linux

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.

wget http://servidor.com.br/arquivos/arquivo.txt

 

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