Comandos básicos de Linux – Guia Rápido
[Distribuição: Ubuntu]
Manipulação de arquivos e diretórios:
pwd – informa o diretório atual que você está.
ls : lista de arquivos e diretórios. (os nome listados em azul são diretórios)
ls -l : detalha os arquivos e diretorios [permissões de diretórios, grupos e usuarios, data de criação/modificação, etc, tamanho do arquivo].
ls -la : Tudo do anterior, inclui os arquivos e diretórios ocultos. [arquivos ocultos começam com . (ponto), ex: .cache]
echo : repete o texto no terminal. Ex.: echo Olá Mundo!
echo “Olá Mundo!” > olamundo.txt : Cria arquivo de texto, escrevendo no arquivo “Olá Mundo!” ou sobrescreve o texto caso o arquivo já exista.
echo “Olá Mundo!” >> olamundo.txt : Concatena o novo texto em um arquivo já existente, não sobrescrevendo o que já está no arquivo.
cat olamundo.txt : lê o texto do arquivo e exibe no terminal.
cat -n arquivo.txt : inclui o numedo da linha do texto.
cp arquivo1.txt arquivo2.txt : Copy – Copia o texto do arquivo1 para o arquivo2.
cp -r diretorio1 diretorio2 : Para copiar um diretorio para outro.
mv arquivo2.txt arquivo3.txt : Move o texto do arquivo2 para o arquivo3 – na pratica renomeia o nome do arquivo2 para arquivo3, pois não estamos mudando de diretório.
mv arquivo3.txt diretorio/ : Agora estamos movendo o arquivo3.txt da pasta atual para o nome diretório.
clear : limpa a tela do terminal
man – comando de ajuda/manual para saber mais detalhes de outros comandos.
Ex: man pwd
whoami : informa o usuário logado no momento.
cd Desktop : Change Directory – Altera para outro diretório.
cd .. : retorna um diretório anterior.
cd : retorna para o diretório base do usuário – home/usuario.
cd / : retorna para o diretório raiz.
mkdir nome_diretorio : cria um novo diretório.
rmdir nome_diretorio : apaga um diretório. (só apaga diretório vazio)
rm -r nome_diretorio : (rm mesmo ao invés de rmdir) apaga o diretório recursivamente com todos os arquivos e diretórios internos a ele.
rm nome_arquivo : apaga um arquivo.
Caracteres Coringa:
? – apenas um carácter qualquer.
* – qualquer coisa, independente da quantidade de caracteres.
Compactando e Descompactando
zip -r criar_nome.zip diretorio/ : compacta um diretório e o arquivo foi atribuído o nome de criar_nome.zip, atribua o nome de sua escolha.
unzip -l nome_arquivo.zip : apenas verifica e lista o que tem dentro do arquivo compactado.
unzip nome_arquivo.zip : descompacta o arquivo.
tar -cz diretorio > nome_arquivo.tar.gz : compacta um diretório, create and zip, o tar já é recursivo e mais comum no mundo linux do que o zip.
ou || tar -czf nome_arquivo.tar.gz diretorio/ || ou || tar -cjf nome_arquivo.tar.bz2 diretorio/ (para formato bzip2)
tar -xz < nome_arquivo.tar.gz : Descompacta o arquivo nome_arquivo.tar.gz, preste atenção nos sinais de saída ou entrada > <.
ou || tar -xzf nome_arquivo.tar.gz
Outros Comandos
touch – altera a data de modificação do arquivo para a data e hora atual sem alterar o conteudo.
date – verifica a data e hora atual do sistema.
witch nome-programa : onde está o arquivo do programa. Ex.: witch firefox
Verificando arquivos de Texto
head arquivo.txt : mostra as 10 primeiras linhas do texto.
head -n 15 arquivo.txt : mostra as quantidades de linhas determinadas no comando n, no caso 15.
tail arquivo.txt : mostra as 10 ultimas linhas do rodapé do texto.
tail -n 15 arquivo.txt : mostra as quantidades de linhas determinadas no comando n, no caso 15.
less arquivo.txt : para navegar no texto todo, navegando com a seta para cima ou para baixo.
Manipulando arquivos de Texto com o VI
vi arquivo.txt – Edição do texto com o VI pelo terminal.
Setas: Navegação
Editor – letra G : navega pra ultima linha
Editor – letra 1G : navega pra primeira linha
Editor – letra 12G : navega pra linha 12
Editor – tecla $ : vai pro final da linha
Editor – tecla zero (0) : vai pro inicio da linha
Editor – /palavra : Pesquisar uma palavra, letra “n” vai para a próxima ocorrência da palavra, caso ela esteja no texto mais de uma vez. Letra “N” maiúscula para voltar na ocorrência anterior
Editor – letra i : para editar/inserir carácter na posição do cursor atual.
Editor – letra a : para editar/inserir carácter na posição do cursor seguinte.
Editor – letra x : para excluir carácter na posição do cursor atual.
Editor – letra dd : para excluir uma linha completa.
Editor – letra yy : para copiar uma linha completa.
Editor – letra p : para colar a linha completa.
Editor – tecla ESC : sai do modo de inserção e volta para o modo de navegação.
Salva – :w (dois pontos + w [de write])
Sair – :q (quit – sair do arquivo)
Salvar e Sair – :wq
Sair sem salvar as alterações – :q!
Processos em Execução
(Todo processo tem um número PID [Process ID])
ps
ps -ef : lista todos os processos em execução
ps -ef | grep firefox – filtra apenas os processos com o nome que passamos.
kill numero_pid : mata o processo que estava em execução. Ex.: kill 15332
kill -9 numero_pid : mata o processo de vez, caso esteja travado ou com dificuldade de matar o processo da forma anterior.
top – mostra os processos em execução ordenados por consumo de cpu.
killall -9 nome-do-processo : mata todos os processos com aquele nome. Ex: killall -9 top
pstree : mostra os processos em esquema gráfico de arvore.
No bash:
jobs : visualizar processos executados no bash
“CTRL+Z” nós paramos temporariamente um processo no bash.
“CTRL+C” nós paramos definitivamente um processo no bash.
bg numero: alterar para background. Ex. bg 1
fg numero: alterar para foreground. Ex. fg 1
Scripts e Permissão de Execução:
sh nome-script : executa um script.
rwx rwx rwx: read, write, execute (permissões) || dono, grupo, outros
chmod +x nome-arquivo : (dando permissão de execução) fica verde o nome dos arquivos com permissão de execução.
chmod -x nome-arquivo : (retira a permissão de execução)
Permissão para Diretorios:
chmod u-rx diretorio : user
chmod g-rx diretorio : group
chmod o-rx diretorio : others
./script : para executar o script no diretório atual, com permissão de execução.
Procurar Arquivos
locate nome-do-arquivo
sudo updatedb (atualiza banco de dados interno)
Super Usuário (sudo)
sudo nome-programa (informar senha do usuário root).
passwd : altera senha do usuario.
sudo passwd : alterar senha do super usuario.
su root : (informar a senha do root) para logar como root.
su usuario-normal : também loga de volta em um usuario normal/qualquer.
Controle de Usuários
adduser nome-usuario : cria um novo usuário, informe a senha e os dados do mesmo.
su nome-usuario : troca/alterna de um usuário logado para outro.
Variáveis de Ambient e Path
env : mostra as variáveis de ambiente
env | grep PATH
Adiciona temporariamente uma configuração no path, na sessao atual do bash:
PATH=$PATH:/diretorio-completo-do-arquivo-ou-programa (coloca um script ou programa no path, e executa esse script/programa pelo nome, sem digitar o caminho todo do arquivo).
Para adicionar definitivamente a configuração no path:
Editamos o arquivo .bashrc:
gedit .bashrc
ao final do arquivo colocar o comando:
PATH=$PATH:/diretorio-completo-do-arquivo-ou-programa
Instalação de Programas
sudo apt-get update : atualiza todos os programas que tenham atualização pra receber.
apt-cache search nome-programa : apt-cache serve pra pesquisar um programa nos repositorios.
sudo apt-get install nome-programa : apt-get install serve para instalar um programa
sudo apt-get remove nome-programa : apt-get remove serve para desinstalar um programa
Instalar arquivos .deb
sudo dpkg -i /caminho/arquivo.deb : instala um arquivo .deb
sudo dpkg -r nome-programa-pacote : desinstala um arquivo .deb
Instalar de Código Fonte C
Geralmente vem compactado em tar.gz, descompactar e entrar no diretorio criado.
Caso exista, executar o script:
./configure (para verificar dependências).
make (executa o building do projeto)
sudo make install
Services e Scripts de Inicialização no linux
sudo service nome-servico stop : para um serviço ao invés de matar (kill).
sudo service nome-servico start : starta um serviço.
No diretorio /etc/init.d/nome-script : existem vários scripts de inicialização e shutdown do sistema. Programas que devem iniciar junto com o linux devem estar nesse diretorio.
sudo /etc/init.d/nome-script stop : para um script
sudo /etc/init.d/nome-script start : inicia um script
Acesso Remoto SSH
sudo apt-get install ssh (instala client and server)
sudo apt-get install ssh-client
sudo apt-get install ssh-server
Acessar terminal de outra máquina:
ssh usuario@ip-da-maquina (mode terminal)
exit (sair do ssh)
ssh -X usuario@ip-da-maquina (mode grafico)
exit (sair do ssh)
scp -r arquivo-qualquer usuario@ip-da-maquina:/diretorio (copia um arquivo de uma máquina para um diretório da outra máquina)
Bons Estudos