Skip to content

Instantly share code, notes, and snippets.

@ZackStone
Created December 27, 2017 15:40
Show Gist options
  • Save ZackStone/056fc6f58e7cb8626955df59e681f879 to your computer and use it in GitHub Desktop.
Save ZackStone/056fc6f58e7cb8626955df59e681f879 to your computer and use it in GitHub Desktop.
Comandos básicos Linux
########################################################
# Diretórios
# https://www.howtogeek.com/117435/htg-explains-the-linux-directory-structure-explained/
########################################################
/ Diretório "root" onde tudo está localizado
/bin Binários essenciais (programas) dos usuários
/boot Arquivos binários do Kernel e boot do sistema
/dev Dispositivos. Pendrives, HDs, CD-Room, ...
/etc Arquivos de configuração
/home Diretórios com arquivos dos usuários.
Exceto o usuário 'root' que fica em /root
/lib Bibliotecas compartilhadas
/lost+found Usando quando ocorre uma quebra no sistema de arquivos
/media Onde são montadas médias removíveis. Pendrive, CD-Rom, ...
/mnt Onde são montados discos ou partições para uso temporário.
/opt Pacotes proprietários e opcionais que são instalados
/proc Arquivos 'especiais' para cada processo
/root Home do usuário 'root' que é o admin
/run (NOVO) Arquivos do estado execução das aplicações.
/sbin "System Administration Binaries"
/tmp Arquivos temporários. São deletados sempre que o SO reinicia
/usr Binários usados pelos usuários e não pelo sistema.
/usr/local Aplicações compiladas ou instaladas manualmente pelo usuário.
Por exemplo: /usr/local/hadoop
/var Arquivos de tamanho "variável" utilizado pelas aplicações.
Muitos logs ficam armazenadas nesse local
# No servidor azure de producao estamos com mais espaco em /mnt/data
########################################################
# Configuração do Moba (SSH do Windows)
########################################################
setting --> configuration --> ssh
Marque a opção "Keep Alive" para sua conexão não cair
depois de um intervalo de tempo.
########################################################
# Comando sudo
########################################################
* Usado para executar comandos com os privilégios de outro usuário. Geralmente o root.
* Configuração em /etc/sudoers
########################################################
# INSTALAÇÃO DE PACOTES
########################################################
# Instalação de pacotes deve ser feita com o comando sudo se você não for um admin.
# Para pesquisar por pacotes disponíveis use o comando:
sudo apt-cache search NOME_PACOTE
# Atualiza o cache de pacotes
sudo apt-get update
# Ex.:
sudo apt-cache search python3
# Lista todos os pacotes que tem parte do nome que tem um 'match' parcial ou total.
# Depois desse comando seleciona-se o nome 'correto' do pacote que será instalado.
# Aí para instalar utiliza-se o comando abaixo. A diferença está na mudança do
# 'cache' para o 'get'
sudo apt-get install python3-numpy
# Atualiza um pacote para a versão mais recente
sudo apt-get install --upgrade python3-numpy
# Remover pacote
sudo apt-get remove NOME_PACOTE
# Reposiórios
ls /etc/apt/
# O comando acima lista o diretório de configuração dos repositórios do apt. O
# arquivo principal é o /etc/apt/sources.list
* CUIDADO quando for inserir linhas manualmente. Deve ser utilizada
a mesma distribução e versão instalada. Mudar a versão pode dar muitos
problemas e quebrar todo o sistema.
* Linhas iniciadas com # são comentários
* Linhas com '-src' no início são códigos fontes
########################################################
# Help dos comandos
########################################################
# A principal 'ajuda' com os comando é com o comando man
# ou "manual pages". Exemplo
man man
# Mostra o uso do comando man. O comando abaixo
# mostra o help do comando 'ls' que lista o conteúdo
# de um diretório
man ls
# Muitos comandos também tem a opção --help que exibe uma ajuda,
# sobre sua utilização.
sudo apt-get --help
########################################################
# Python
########################################################
# Para instalação de pacotes em Python pode ser utilizado
# comando pip, comandos do Anaconda ou buscar o nome correto
# do pacote com o sudo apt-cache search
# No servidor Azure use o conda
########################################################
# Remoção de arquivos
########################################################
# Remove um arquivo
rm NOME_ARQUIVO
# Remove todos os diretórios ou arquivos que estão abaixo de
# NOME_ARQUIVO. O 'r' é de recursivo.
# CUIDADO ao executar esse comando em conjunto com o sudo pois
# você pode apagar toda o seu sistema de arquivos. Por exemplo,
# se você executar 'sudo rm -rf /' já era...
rm -rf NOME_ARQUIVO
########################################################
# Cópia de arquivos
########################################################
# Cópia de um arquivo
cp ORIGEM DESTINO
# Cópia de uma árvore de diretórios
cp -r ORIGEM DESTINO
# Cópia de uma árvore de diretórios com confirmação
# caso existam arquivos com o mesmo nome
cp -ri ORIGEM DESTINO
########################################################
# Compactar, Descompactar, ...
########################################################
# gzip é o comando padrão para compactar arquivos e para
# descompactar usa-se o comando gunzip. Também há o 'zip'
# que uutiliza o mesmo algoritmo do "Winzip" do Windows,
# mas ele nem sempre está instalado.
gzip NOME_ARQUIVO
# Irá gerar o arquivo nohup.out.gz
gunzip NOME_ARQUIVO.gz
# Irá descompactar e gerar o arquivo original.
# Para comptar, ou juntar, uma pasta o comando tar é utilizado
tar cvf ARQUIVO_GERAR.tar DIRETORIO/
* c --> create
* v --> verbose
* f --> file
# Para extrarir
tar xvf ARQUIVO_GERAR.tar
* x --> extrair
# O comando tar não compacta. Para compactar utilize o parâmetro 'z'
# compactando
tar cvzf ARQUIVO_GERAR.tar.gz DIRETORIO/
# descompactando
tar xvzf ARQUIVO_GERAR.tar.gz
########################################################
# Encontrando um arquivo
########################################################
# Locate pesquisa arquivos em uma base de dados construída
# com o comando updatedb. Ela é atualizada automáticamente,
# mas não sei a periodicidade da atulização. Para forçar a
# atualização execute updatedb
locate ARQUIVO
# Pesquisa com case insensitive
locate -i ARQUiVO
# Outro comando para pesquisar é find. Não utiliza nenhuma
# base e por isso é mais lento.
find PATH -name ARQUIVO
# Pesquisa com case insensitive
find PATH -iname ARQUIVO
########################################################
# htop
########################################################
# htop mostra os processos em execução e a utilização
# de cada CPU e memória
# Instalando
sudo apt-get install htop
########################################################
# Verificando execução de UM processo
########################################################
ps -ef | grep NOME
# Verificando se o script R está executando
ps -ef | grep modelo
########################################################
# Head, tail,
########################################################
# Recupera a primeira linha de um arquivo
head -1 dfSQL.csv
# Recupera a última linha de um arquivo
tail -1 dfSQL.csv
# Recupera e formata o cabeçalho de um arquivo
head -1 dfSQL.csv | sed "s:;:\n:g"
# Recupera e formata o cabeçalho de um arquivo e mostra o número
# da coluna do parâmetro
head -1 dfSQL.csv | sed "s:;:\n:g" | cat -n
# Conta o número de DDDs diferentes no arquivo
cat dfSQL.csv | cut -f 33 -d";" | sort | uniq -c | sort -n
# Conta o número de linhas de um arquivo
wc -l dfSQL.csv
########################################################
# Outros comandos
########################################################
# Matar processo
ps -ef | grep NOME_PROGAMA
kill PID
# Se nao morrer
kill -9 PID
# history irá mostrar a lista de comandos executados até
# o último login
history
# para executar um comando do history
!NUMERO_DO_COMANDO
Fonte: Evandro Caldeira - 27/12/2017 - AeC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment