Organização
$ ls -ld .?* #Lista somente os ocultos
$ whereis [programa] #Exibe o caminho completo ate o programa
$ ln [original] [link] #Link apenas para arquivos(Quando o arquivo original for apagado, o link continuara com o conteúdo dele)
$ ln -s [original] [link] #Link simbólico para arquivos e diretórios(Quando o original é apagado o link se torna inútil)
Remover tudo do diretório, incluindo os arquivos ocultos
rm -rf /opt/web/{,.[!.],..?}*
Exibe o tamanho dos arquivos do primeiro nível de um diretório
$ du --max-depth=1 | sort -n #Lista em BYTE
$ du --max-depth=1 -k | sort -n #Lista em KB
$ du --max-depth=1 -m | sort -n #Lista em MB
$ cmp #Comparar 2 arquivos
$ file [arquivo.txt] #Exibe informações sobre o tipo de um arquivo
$ stat [arquivo.txt] #Mostra o estado de um arquivo, útil para saber por exemplo a hora e data do último acesso
$ grep "[palavra]" [arquivo.txt] -i #Busca por uma palavra em um arquivo de texto
Manipulando conteúdo de arquivos
sed -Ez "s/(.*)(pool=.*)/\1/" ./domain.sh # Substituição com padrão de regex que não precisa escapar parenteses e multiline
Download de arquivos
Download com wget
wget "http://url.com/download" -O <nome_local>
Download utilizando curl
curl "http://url.com/download" > <nome_local>
Baixar arquivos em url com redirecionamento mantendo o nome
curl -L "http://url.com/download" > <nome_local>
Baixar arquivos em url com redirecionamento mantendo o nome
-O utiliza o nome o final da url no nome e -J força o nome fornecido no cabeçalho
curl -O -J -L "http://url.com/download"
Comprimir e extrair arquivos
Zippar arquivos
$ zip <name.zip> <file1> <file2>... #Zipar arquivos
$ zip -r <name.zip> <dir1> #Zippar diretorio
Extrair zip
$ unzip <file.zip> -d <somedir>
Extrai o arquivo tar
$ tar -zvxf <file.tar.gz>
$ tar -zvxf <file.tar.gz> -C <diretorio>
O nome do tar que será gerado e os diretórios que serão comprimidos
$ tar -zvcf [name.tar.gz] diretorio1 diretorio2...
Listar conteúdo de um tar
$ tar -zvtf [name.tar.gz]
Usuários
$ su [user] #Troca para o usuário informado mas mantem os dados da sessão
$ su - [user] # Faz login no usuário informado abandonando os dados da sessão atual
$ sudo -i #Inicia sessão com root
$ passwd #Altera a senha de um usuário(Para mudar a do root é preciso executar "sudo -i")
$ sudo passwd -dl root #Remove a senha do usuário root
Permissões e propriedades
$ chown [user] [file] #Mudar o dono ou grupo de um arquivo ou diretório, vem de change owner
$ chown -R [user] [file] #Aplica de forma recursiva
$ chgrp #Mudar o grupo de um arquivo ou diretório
$ stat -c "%a %n" * # Lista número de permissão de todos os arquivos do diretório
$ stat -c "%a" file.txt # Exibe o número de permissão de um arquivo em especifico
$ stat -c "%a %g %G %u %U %n" * # Exibe todos os dados do arquivo
Muda as permissões de um arquivo ou diretório
$ chmod 777 [file]
chmod apenas para diretorios
$ find [dir] -type d -exec chmod 755 {} \;
chmod apenas para arquivos
$ find [dir] -type f -exec chmod 644 {} \;
Manutenção
$ du -sh # Exibe tamanho de um diretório
$ du -h # Exibe tamanho de um diretório e dos seus descendentes
$ df -h #Exibe o espaço em disco do sistema
$ top #Exibe uso de memoria
$ htop #Mostra recursos de forma mais detalhada
Quantidade de processos em execução
$ lsof
$ lsof | wc -l
$ lsof | grep mysql | wc -l
Executar escaneamento de malware
$ scan -m [USUARIO DESEJADO] | tee -a scan.txt
$ scan -a #faz um scan de todo o seu dedicado ou VPS
$ scan -c #remove todos os arquivos maliciosos.
Inicia um comandos em paralelo como uma thread
mkdir dir1 & mkdir dir2
Retorna os dados que seriam enviados para o output para o comando seguinte
https://www.vivaolinux.com.br/dica/Usando-o-pipe
ls | grep b | sort -r | tee arquivo.out | wc -l
Salva os dados que seriam enviados para o output em um arquivo
ls > file.txt