Comandos básicos de Linux

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

[programa/processo] & : executa um programa já em background com o & (Ê comercial) no final.

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

Sobre Haylson Martins

Me chamo Haylson Martins, formado em Sistemas de Informação, trabalho com T.I de forma geral desde 2002 com suporte depois na área de negócio e treinamentos, e com Desenvolvimento para Sistemas Web desde 2010 com linguagem principal o Java. Amo tecnologia, amo aprender coisas novas, gosto de ensinar embora não seja essa a minha pretensão. Por meio desse blog pretendo reforçar o que ando aprendendo e estudando de outras linguagens e tecnologias, e principalmente como uma espécie de bloco de notas para consultas posteriores e quem sabe também ajude outras pessoas que estudam e têm as mesmas dúvidas que já tive ou que ainda tenho. Vamos começar?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *