como-instalar-o-tlog-uma-ferramenta-que-grava-tudo-o-que-acontece-no-terminal-linux

Os comandos Linux para serem usados no terminal são inúmeros. Isso sem contar com as variações que existem de acordo com a distribuição instalada. Mas no geral,  há comandos idênticos que podem ser aplicados independentemente se é Fedora, Debian e derivados, Arch ou Suse, entre outros. Quem usa Linux, sabe: é possível abrir mão do ambiente gráfico e fazer tudo pelo Terminal. Agora, conheça vários comandos que são muito usados, úteis ou curiosos.

Informação do Sistema

arch ? mostrar a arquitetura da máquina (1).
uname -m ? mostrar a arquitetura da máquina (2).
uname -r ? mostre a versão do kernel usada.
uname -a ? mostrar a informação completa.
lsb_release -a ? mostre a informação completa da distribuição.
cat /etc/issue ? mostrar o nome da distribuição
dmidecode -q ? mostre os componentes (hardware) do sistema.
hdparm -i /dev/hda ? mostram as características de um disco rígido.
hdparm -tT / dev/sda ? execute o teste de leitura em um disco rígido.
cat / proc/cpuinfo ? mostrar informações da CPU.
grep -c ^processor /proc/cpuinfo ? mostre o número de processadores.
cat /proc/interrupts ? mostrar interrupções.
cat /proc/meminfo ? verificar o uso da memória.
cat /proc/swaps ? mostrar arquivos de troca.
cat /proc/version ? mostre a versão do kernel.
cat /proc/net/dev ? mostre adaptadores de rede e estatísticas.
cat /proc/mounts ? mostrar o sistema de arquivos montado.
lscpu ? mostrar informações sobre o microprocessador.
lspci -tv ? mostrar dispositivos PCI.
lsusb -tv ? mostrar dispositivos USB.
lshw ? lista o hardware.
discover ? lista o hardware.
date ? mostrar a data do sistema.
cal 2018 ? mostrar o calendário de 2011.
cal 07 2018 ? mostrar o calendário para o mês de julho de 2011.
date 041217002011.00 ? colocar (declarar, ajustar) data e hora.
clock -w ? salvar as mudanças de data na BIOS.
blkid ? mostrar informações (nome, etiqueta, tipo de partição) em dispositivos de bloco (discos rígidos, etc.)

Desligar, reiniciar ou encerrar sessão

shutdown -h now ? desligar o sistema (1).
init 0 ? desligar o sistema (2).
telinit 0 ?desligar o sistema (3).
halt ?desligar o sistema (4).
poweroff ?desligar o sistema (5).
shutdown -h hours:minutes & ? desligamento programado do sistema.
shutdown -c ? cancelar desligamento programado do sistema.
shutdown -r now ? reiniciar (1).
reboot ? reiniciar (2).
logout ? encerrar sessão (1).
skill nome_de_usuario ? encerrar sessão (2)

Gerenciar arquivos e diretórios

cd ? ir ao diretório pessoal.
cd /home ? mudar para o “/home”.
cd .. ? retroceder um nivel.
cd ../.. ? retroceder 2 niveis.
cd ~user1 ? ir ao diretório user1.
cd – ? ir (regresar) ao diretório anterior.
pwd ? mostrar o caminho do diretório atual.
ls ? listar o conteúdo de um diretório.
ls -F ?listar o conteúdo de um diretório (diferenciando os diretorios com uma barra)
ls -l ?listar o conteúdo de um diretório, mostrando os detalhes.
ls -lh ?listar o conteúdo de um diretório, mostrando os detalhes (e o tamanho em formato “humanizado”).
ls -a ?listar o conteúdo de um diretório, incluindo arquivos ocultos.
ls *[0-9] ? listar os arquivos e pastas que contêm números.
ls -laR | less ? listar recursivamente o conteúdo do diretório atual e todos os subdiretórios e arquivos, incluindo os ocultos, separados por página.
tree ? mostrar os arquivos y pastas em forma de árvore, começando pela raiz.(1)
lstree ?mostrar os arquivos y pastas em forma de árvore, começando pela raiz.(2)
mkdir dir1 ? criar um diretório de nome ‘dir1’.
mkdir dir1 dir2 ? criar dois diretórios de uma só vez (na localização atual).
mkdir -p /tmp/dir1/dir2 ? criar uma estrutura de diretórios, caso não exista.
rm file1 ? eliminar o arquivo ‘file1’.
rm -f file1 ? eliminar o arquivo ‘file1’ em modo forçado.
rmdir dir1 ? apagar o diretório ‘dir1’.
rm -rf dir1 ? eliminar recursivamente e em modo forçado o diretório ‘dir1’ com todo o conteúdo.
rm -rf dir1 dir2 ? apagar dois diretorios e seu conteúdo de forma recursiva.
mv dir1 new_dir ? renomear ou mover um arquivo ou pasta (diretório).
cp file1 destino/ ? copiar um arquivo para um destino escolhido.
cp file1 file2 destino/ ? copiar de uma só vez dois arquivos a um mesmo diretório.
cp file1 file2 ? copiar file1 em file2.
cp dir /* . ? copiar todos os arquivos de um diretório dentro do diretório de trabalho atual.
cp -a /tmp/dir1 . ? copiar um diretório dentro do diretório atual de trabalho.
cp -a dir1 ?copiar um diretório.
cp -a dir1 dir2 ? copiar dois diretórios ao mesmo tempo.
ln -s file1 lnk1 ? criar um link simbólico para o arquivo ou diretório.
ln file1 lnk1 ? criar um link (enlace) físicoao arquivo ou diretório.
touch file1 ? atualizar a data de modificação de file1, ou criá-lo caso não exista.
touch -t 0712250000 file1 ? modificar o tempo real (tempo de criação) de de um arquivo ou diretório.
iconv -l ? listas de criptografia conhecidas.
iconv -f fromEncoding -t toEncoding inputFile > outputFile ? cria uma nova forma do arquivo de entrada convertendo de  fromEncoding para ToEncoding.

Encontrar arquivos

find / -name file1 ? buscar arquivo e diretório a partir da raiz do sistema.
find / -user user1 ?buscar arquivos e diretórios pertencentes ao usuário “user1”.
find /home/user1 -name \*.bin ?buscar arquivos com extensão ”. bin” dentro dodiretório / home/user1.
find /usr/bin -type f -atime +100 ? buscar ficheros binarios no usados en los últimos 100 días.
find /usr/bin -type f -mtime -10 ? buscar ficheros creados o cambiados dentro de los últimos 10 días.
find / -name \*.rpm -exec chmod 755 ‘{}’ \; ? buscar ficheros con extensión ”.rpm” y modificar permisos.
find . -type f -print0 | xargs -0 chmod 644 ? modificar recursivamente los permisos a todos los ficheros bajo el diretório actual.2)
find / -xdev -name \*.rpm ? Buscar ficheros con extensión ‘.rpm’ ignorando los dispositivos removibles como cdrom, pen-drive, etc.…
find . -maxdepth 1 -name *.jpg -print -exec convert “{}” -resize 80×60 “thumbs/{}” \; ? agrupar arquivos redimensionados en el diretório actual y enviarlos adiretórios en vistas de miniaturas (requiere convertir desde Imagemagick).
find /tmp/dir1 -depth -regextype posix-extended -regex ‘.*(\s+|:+|\\+|>+|<+|”+|\*+|\?+|\|+).*’ -execdir rename ‘s/(\s+|:+|\\+|>+|<+|”+|\*+|\?+|\|+)/_/g’ “{}” \; ? renombrar recursivamente todos os diretórios y ficheros bajo /tmp/dir1, cambiando los espacios y otros caracteres extraños por guiones bajos.
locate \*.ps ? encuentra ficheros con extensión ”.ps” ejecutados primeramente con el command updatedb.
whereis halt ? mostrar la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está el comando halt.
which comando ? mostrar la ruta completa a un comando.

Montando um sistema de arquivos

mount /dev/hda2 /mnt/hda2 ? montar um disco chamado hda2. Verifique primerio la existencia do diretório ‘/mnt/hda2’; caso não exista, deve criá-lo.
umount /dev/hda2 ? desmontar um disco chamado hda2. (Antes é necessário sair do ponto ‘/mnt/hda2’.
fuser -km /mnt/hda2 ? forçar a desmontagem quando el dispositivo está ocupado.
umount -n /mnt/hda2 ? executar a desmontagem sem ler o arquivo /etc/mtab. Útil quandoo arquivo é somente leitura ou o disco está cheio.
mount /dev/fd0 /mnt/floppy ? montar um disco flexivel (floppy).
mount /dev/cdrom /mnt/cdrom ? montar um cdrom / dvdrom.
mount /dev/hdc /mnt/cdrecorder ? montar um cd regravável ou um dvdrom.
mount /dev/hdb /mnt/cdrecorder ?montar um cd regravável ou um dvdrom (um dvd).
mount -t udf,iso9660 -o loop file.iso /mnt/cdrom ? montar um arquivo de imagen de um meio óptico (como un CD o DVD em formato ISO).
mount -t vfat /dev/hda5 /mnt/hda5 ? montar um sistema de arquivos FAT32.
mount -t ntfs-3g /dev/hda5 /mnt/hda5 ? montar un sistema de arquivos NTFS.
mount /dev/sda1 /mnt/usbdisk ? montar usb pen-drive ou uma memória (sem especificar o tipo de sistema de arquivos).

Espaço em disco

df -h ? mostrar uma lista das partições montadas.
ls -lSr | more ? mostrar o tamanho dos arquivos e diretórios ordenados por tamanho.
du -sh dir1 ? Estimar o espaço usado pelo diretório ‘dir1’.
du -sk * | sort -nr ? mostrar em ordem descendente o tamanho dos arquivos e subdiretórios na localização atual, em KB.
du -h –max-depth=1 | sort -nr ?mostrar em ordem descendente o tamanho de todos os subdiretórios na localização atual, usando unidades de medida adaptáveis
du -k –max-depth=1 | sort -k1 -nr | awk ‘{printf “%.3f GiB\t%s\n”, $1/(1048576), $2}’ | less ?mostrar em ordem descendente o tamanho dos diretórios e arquivos, em GB.
rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n ? mostrar o espaço usado pelos pacotes rpm instalados organizados por tamanho (Fedora, Redhat e derivados).
dpkg-query -W -f=’${Package}\t${Installed-Size}\n’ | sort -k 2 -nr | grep -v deinstall | head -n 25 | awk ‘{printf “%.3f MB\t%s\n”, $2/(1024), $1}’ ? mostrar (no Debian ou derivados) uma lista com os 25 pacotes instalados que consomem mais espaço (em ordem descendente).

Usuários e grupos

groupadd nome_do_grupo ? criar um novo grupo.
groupdel nome_do_grupo ? apagar um grupo.
groupmod -n novo_nome_do_grupo antigo_nome_do_grupo ? renomear um grupo.
adduser usuario1 ? Criar um novo usuário.
useradd -c “Nombre Apellido” -g admin -d /home/usuario1 -s /bin/bash usuario1 ?Criar um novo usuário pertencente ao grupo “admin”.
useradd usuario1 ?Criar um novo usuário.
userdel -r usuario1 ? apagar um usuário, eliminando seu diretório Home.
usermod -c “Usuario de FTP” -g system -d /ftp/usuario1 -s /sbin/nologin usuario1 ? mudar os atributos de um usuário.
usermod -aG plugdev,dialout,pip user1 ? agregar o usuário user1 a outros grupos existentes, para incrementar suas permissões (neste caso, acrescentar a posibilidade de conectar dispositivos, configurar e utilizar o modem)
passwd ? mudar senha.
passwd usuario1 ?mudar senha do ‘usuario1’ (somente executável como superusuário).
chage -E 2018-12-31 user1 ? colocar uma validade para a senha de usuário. Neste caso, a chave expira em 31 de dezembro de 2018.
pwck ? checar a sintaxe correta e o formato do arquivo ‘/etc/passwd’ e a existência de usuários.
grpck ? checar a sintaxe correta e o formato do arquivo ‘/etc/group’e a existência de grupos.
newgrp grupo1 ? registra um novo grupo para trocar o grupo predeterminado dos arquivos criados recentemente.

Permissões de arquivos (“+” para adicionar e “-” para eliminar)

ls -lh ? Mostrar permissões.
ls /tmp | pr -T5 -W$COLUMNS ? dividir o terminal em 5 colunas.
chmod ugo+rwx directory1 ? dar permissões de leitura ®, escrita (w) e execução(x) ao propietário (u), ao grupo (g) e a outros (o) sobre o diretório ‘directory1’.
chmod go-rwx directory1 ? encerrar permissão de leitura ®, escritura (w) e  execução (x) ao grupo (g) e otros (o) sobre o diretório ‘directory1’.
chown user1 file1 ? mudar a posse de um arquivo.
chown -R user1 directory1 ? mudar proprietário de um diretório e de todos os arquivos e diretórios contidos nele.
chgrp group1 file1 ? mudar grupo de arquivos.
chown user1:group1 file1 ? mudar usuário e o grupo propietário de um arquivo.
find / -perm -u+s ? visualizar todosos arquivos do sistema com SUID configurado.
chmod u+s /bin/file1 ? colocar o bit SUID em um arquivo binário. O usuario que abrir esse arquivo adquire os mesmos privilégios como dono do mesmo.
chmod u-s /bin/file1 ? desabilitar o bit SUID em um arquivo binário.
chmod g+s /home/public ? colocar um bit SGID em um diretório –igual ao SUID mas por diretório.
chmod g-s /home/public ? desabilitar um bit SGID em um diretório.
chmod o+t /home/public ? colocar um bit STIKY em um diretório. Permite que somente superusuários apaguem os arquivos.
chmod o-t /home/public ? desabilitar um bit STIKY em um diretório.
Atributos especiais em arquivos (usar “+” para colocar permissões y “-” para eliminar)
chattr +a file1 ? permite escrever abrindo um arquivo somente no modo append.
chattr +c file1 ? permite que um arquivo seja compactado/descompactado automaticamente.
chattr +d file1 ? assegura que o programa ignore apagar os arquivos durante a cópia de segurança.
chattr +i file1 ? converte o arquivo em imutável ou invariável, impedindo que seja eliminado, alterado, renomeado, nem aberto.
chattr +s file1 ? permite que um arquivo seja fechado de forma segura.
chattr +S file1 ? assegura que um arquivo seja modificado, e as trocas são escritas em modo synchronous como com sync.
chattr +u file1 ? permite recuperar o conteúdo de um arquivo ainda que este tenha sido apagado.
lsattr ? mostrar atributos especiais.

Arquivos normais e compactados

7za a -mx=9 -ms=on -mhe=on -p arquivocomprimido diretório1 archivo1 archivo2 ? comprimir um diretório e dois arquivos no formato 7zip, com compressão máxima, e proteção por senha (a extensão 7z aparece automaticamente).
7za x arquivocomprimido.7z ? extrair um arquivo compactado em 7zip (7zip também permite descomprimir outros formatos, como por exemplo, zip).
bunzip2 file1.bz2 ? descomprime um arquivo chamado ‘file1.bz2’.
bzip2 file1 ? comprime um arquivo chamado ‘file1’.
gunzip file1.gz ? descomprimeum arquivo chamado ‘file1.gz’.
gzip file1 ? comprimeum arquivo chamado ‘file1’.
gzip -9 file1 ? comprime com compressão máxima.
rar a file1.rar test_file ? criar um arquivo rar chamado ‘file1.rar’.
rar a file1.rar file1 file2 dir1 ? comprimir ‘file1’, ‘file2’ e ‘dir1’ simultaneamente.
rar x file1.rar ? descomprimir arquivo rar.
unrar x file1.rar ? descomprimir arquivo rar.
tar -cvf archive.tar file1 ? criar um tarball descomprimido.
tar -cvf archive.tar file1 file2 dir1 ? criar um arquivo contendo ‘file1’, ‘file2′ y’dir1’.
tar -tf archive.tar ? mostrar os conteúdos de um arquivo.
tar -xvf archive.tar ? extrair um tarball (se o arquivo também está compactado com gzip, bzip2 o xz, será descompactado automaticamente).
tar -xvf archive.tar -C /tmp ? extrair um tarball en /tmp.
tar -cjvf archive.tar.bz2 dir1 ? criar um tarball comprimido en bzip2.
tar -xjvf archive.tar.bz2 ? descomprimir um arquivo tar que havia sido compactado em bzip2
tar -cJvf archive.tar.xz dir1 ? criar um tarball compactado em xz.
XZ_OPT=-9e tar -cJvf archive.tar.xz dir1 ? criar um tarball compactado em xz (com máxima compressão).
tar -xJvf archive.tar.xz ? descompactar um arquivo tar compactado em xz.
tar -czvf archive.tar.gz dir1 ? criar um tarball compactado em gzip.
tar -I pigz -cf archive.tar.gz dir1 ? criar um tarball compactado em gzip, mas utilizando pigz, que comprime em paralelo aproveitando todos os núcleos dos microprocesadores da equipe.
GZIP=-9 tar -czvf archive.tar.gz dir1 ?criar um tarball compactado em gzip (com máxima compressão).
tar -xzvf archive.tar.gz ? descompactar um arquivo tar compactado en gzip.
zip file1.zip file1 ? criar um arquivo compactado em zip.
zip -r file1.zip file1 file2 dir1 ? comprimir, em zip, vários arquivos e diretórios de forma simultânea.
unzip file1.zip ? descompactar um arquivo zip.

Pacotes rpm (Red Hat, Fedora e similares)

rpm -ivh package.rpm ? instalar um pacote rpm.
rpm -ivh –nodeeps package.rpm ? instalar um pacote rpm ignorando dependencias.
rpm -U package.rpm ? atualizar um pacote rpm sem modificar a configuração dos arquivos.
rpm -F package.rpm ? atualizarum pacote rpm somente se este está instalado.
rpm -e package_name.rpm ? eliminar um pacote rpm.
rpm -qa ? mostrar todos pacote rpm instalados no sistema.
rpm -qa | grep httpd ? mostrar todos os pacotes rpm com o nome “httpd”.
rpm -qi package_name ? obter informação em um paquete específico instalado.
rpm -qg “System Environment/Daemons” ? mostar os pcotes rpm de um grupo software.
rpm -ql package_name ? mostrar lista de arquivos dados por um pacote rpm instalado.
rpm -qc package_name ? mostrar lista de configuração de arquivos dados por um pacote rpm instalado.
rpm -q package_name –whatrequires ? mostrar lista de dependencias solicitada para um pacote rpm.
rpm -q package_name –whatprovides ? mostar a capacidade dada por um pacote rpm.
rpm -q package_name –scripts ? mostrar os scripts iniciados durante a instalação/eliminação.
rpm -q package_name –changelog ? mostar o histórico de revisões de um pacote rpm.
rpm -qf /etc/httpd/conf/httpd.conf ? verificar qual pacote rpm pertence a dado arquivo.
rpm -qp package.rpm -l ? mostrar lista de arquivos dados por um pacote rpm que ainda não foi instalado.
rpm –import /media/cdrom/RPM-GPG-KEY ? importar a assinatura digital da chave pública.
rpm –checksig package.rpm ? verificar a integridade de um pacote rpm.
rpm -qa gpg-pubkey ? verificar a integridade de todos os pcotes rpm instalados.
rpm -V package_name ? conferir o tamanho dos arquivos, licenças, tipos, grupo, conferir  resumo de MD5 e última modificação.
rpm -Va ? checar todos os pacotes rpm instalados no sistema. Usar com cuidado.
rpm -Vp package.rpm ? verificar um pacote rpm não instalado ainda.
rpm2cpio package.rpm | cpio –extract –make-directories *bin ? extrair arquivo executável de um pacote rpm.
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm ? instalar um pacote construido a partir de uma fonte rpm.
rpmbuild –rebuild package_name.src.rpm ? construir um pacote rpm a partir de uma fonte rpm.

Atualizador de pacotes yum (Fedora, Redhat  e derivados)

yum install package_name ? descarregar e instalar um pacote rpm.
yum localinstall package_name.rpm ? este instalará um RPM e tratará de resolver todas as dependencies para ti, usando teus repositórios.
yum update ? atualizar todos os pacotes rpm instalados no sistema.
yum update package_name ? modernizar/atualizar um pacote rpm.
yum remove package_name ? eliminar um pacote rpm.
yum list ? listar todos os pacotes instalados no sistema.
yum search package_name ? Encontrar um pacotes no repositório rpm.
yum clean packages ? limpar um caché rpm apagando os pacotes descarregados.
yum clean headers ? eliminar todos os arquivos de encabeçamento que el sistema usa para resolver a dependência.
yum clean all ? eliminar desde los paquetes caché y ficheros de encabezado.

Gestão de pacotes deb (Debian, Ubuntu e derivados)

dpkg -i pacote.deb ? instalar/atualizar um pacote.
dpkg -r pacote ? eliminar um pacote deb do sistema.
dpkg -l ? mostrar todos os pacotes deb instalados no sistema.
dpkg -l | grep httpd ? mostrar todos os pacotes deb com o nome “httpd”
dpkg -s pacote ? obter informação em um pacote específico instalado no sistema.
dpkg -L pacote ? mostar lista de arquivos utilizados por um pacote instalado no sistema.
dpkg -c pacote.deb ? mostrar conteúdo de um pacote (não necessariamente instalado).
dpkg -S /bin/ping ? verificar a qual pacote pertence um dado arquivo.

Atualizador de pacotes apt e aptitude (Debian, Ubuntu e derivados)

apt-get install package_name ? instalar/atualizar um pacote deb.
apt-cdrom install package_name ? instalar/atualizar um pacote deb a partir de um cdrom.
apt-get update ? atualizar a lista de pacotes.
apt-get upgrade ? atualizar todos os pacotes instalados.
apt-get remove package_name ? eliminar um pacote deb do sistema.
apt-get check ? verificar a correta resolução das dependências.
apt-get clean ? limpar cache dos pacotes baixados.
apt-cache search searched-package ? retorna lista de pacotes que correspondem a serie «paquetes buscados».
aptitude search pacote ? busca um pacote pelo nome.
aptitude search ~dpacote ? busca um pacote pela descripção.
aptitude show pacote | less ? mostra informação sobre um pacote.
aptitude install pacote1 pacote2 … ? instala vários pacotes com suas dependências e recomendações.
aptitude -R install pacote ? instala um pacote com suas dependências, mas sem as recomendações.
aptitude why pacote ? lista as razões pelas quais se deveria instalar o pacote.
aptitude why-not pacote ? lista as razões pelas quais não se pode instalar o pacote.
aptitude -rsvW install pacote ? simula a instalação de um pacote com suas dependências e recomendações, detalhando cada uma.
aptitude remove pacote ? desinstala um pacote.
aptitude purge pacote ? desinstala um pacote e o limpa do cache.
aptitude clean ? limpa o cache de pacotes.
apt-file -xi search ‘sql’ ? busca todos os pacotes que contenhan um arquivo ou diretório com a expressão sql (sem considerar maiúsculas ou minúsculas).

Ver o conteúdo de um arquivo

cat file1 ? ver os conteúdos de um arquivo desde a primeira linha.
tac file1 ?ver os conteúdos de um arquivo desde a última linha.
more file1 ? ver os conteúdos de um arquivo de maneira paginada.
less file1 ? parecido com comando ‘more’ mas permite avançar, retroceder, e buscar (compatível com alguns comandos de vi).
head -2 file1 ? ver as duas primeiras linhas de um arquivo (ou 10, se não se especifica a quantidade).
tail -2 file1 ? ver as duas últimas linhas de um arquivo (ou 10, se não se especifica a quantidade).

Manipulação de texto

cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt ? sintaxis geral para a manipulação de texto utilizando PIPE, STDIN y STDOUT.
cat file1 | command( sed, grep, awk, grep, etc…) > result.txt ? sintaxis geral para manipular um texto de um arquivo e escrever o resultado em um novo.
cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt ?sintaxis geral para manipular um texto de um arquivo e adicionar resultado em um arquivo existente.
grep Aug /var/log/messages ? buscar palavras “Aug” no arquivo ‘/var/log/messages’.
grep ^Aug /var/log/messages ? buscar palavras que començan com “Aug” no arquivo ‘/var/log/messages’
grep [0-9] /var/log/messages ? selecionar todas as línhas do arquivo ‘/var/log/messages’ que contêm números.
grep Aug -R /var/log/ ? buscar a cadeia “Aug”  no diretório ‘/var/log’ e abaixo dele.
sed ‘s/string1/string2/g’ exemplo.txt ? substituir em exemplo.txt todas las ocorrências de “string1” com “string2”
sed ‘/^$/d’ ejemplo.txt ? eliminar todas las línhas em branco de exemplo.txt
sed ‘/ *#/d; /^$/d’ exemplo.txt ? eliminar comentarios y líneas en blanco de ejemplo.txt
echo ‘exemplo’ | tr ‘[:lower:]’ ‘[:upper:]’ ? converter “exemplo” de minúsculas a maiúsculas.
sed -e ‘1d’ exemplo.txt ? elimina a primeira linha do arquivo exemplo.txt
sed -n ‘/string1/p’ ? visualizar somente as línhas que contêm a palavra “string1”.
sed -r ‘s/(cadeia1)(cadeia2)/\2\1/g’ ? utilizar expressões regulares extendidas para intercambiar a ordem de duas cadeias de texto, em todas as instancias que apareçam.

Definir conversão de caracteres e arquivos

dos2unix filedos.txt fileunix.txt ? converter um formato de arquivo de texto do MSDOS para UNIX.
unix2dos fileunix.txt filedos.txt ? converter um formato de arquivo de texto do MSDOS para UNIX.
recode ..HTML < page.txt > page.html ? converter um arquivo de texto em html.
recode -l | more ? mostrar todas as conversões de formato disponíveis.

Análise de sistema de arquivos

badblocks -v /dev/hda1 ? Checar os blocos defeituosos no disco hda1.
fsck /dev/hda1 ? reparar/checar a integridade do arquivo do sistema Linux no disco hda1.
fsck.ext2 /dev/hda1 ? reparar/checar a integridade do arquivo do sistema ext 2 no disco hda1.
e2fsck /dev/hda1 ? reparar/checar a integridade do arquivo do sistema ext 2 no disco hda1.
e2fsck -j /dev/hda1 ?reparar/checar a integridade do arquivo do sistema ext 3 no disco hda1.
fsck.ext3 /dev/hda1 ? reparar/checar a integridade do arquivo do sistema ext 3 no disco hda1.
fsck.vfat /dev/hda1 ? reparar/checar a integridade do arquivo do sistema fat no disco hda1.
fsck.msdos /dev/hda1 ?reparar/checar a integridade do arquivo do sistema dos no disco hda1.
dosfsck /dev/hda1 ?reparar/checar a integridade do arquivo do sistema dos no disco hda1.

Formatar um sistema de arquivos

mkfs /dev/hda1 ? criar um arquivo de sistema tipo Linux na partição hda1.
mke2fs /dev/hda1 ? criar um arquivo de sistema tipo Linux ext 2 em hda1.
mke2fs -j /dev/hda1 ? criar um arquivo de sistema tipo Linux ext3 (periódico) na partição hda1.
mkfs -t vfat 32 -F /dev/hda1 ?criar um arquivo de sistema FAT32 em hda1.
fdformat -n /dev/fd0 ? formatar em disco flooply.
mkswap /dev/hda3 ?criar um arquivo de sistema swap.

Partição de sistema swap

mkswap /dev/hda3 ? criar arquivo de sistema swap.
swapon /dev/hda3 ? ativando uma nova partição swap.
swapon /dev/hda2 /dev/hdb3 ? ativar duas partições swap.

Salvar

dump -0aj -f /tmp/home0.bak /home ? backup completo do diretório ‘/home’.
dump -1aj -f /tmp/home0.bak /home ? backup incremental do diretório ‘/home’.
restore -if /tmp/home0.bak ? restaurando um backup interativamente.
rsync -rogpav –delete /home /tmp ? sincronização entre diretórios.
rsync -rogpav -e ssh –delete /home ip_address:/tmp ? rsync através do SSH.
rsync -az -e ssh –delete ip_addr:/home/public /home/local ? sincronizar um diretório local com um diretório remoto através de ssh y de compressão.
rsync -az -e ssh –delete /home/local ip_addr:/home/public ? sincronizar um diretório remoto com um diretório local através de ssh y de compressão.
dd bs=1M if=/dev/hda | gzip | ssh [email protected]_addr ‘dd of=hda.gz’ ? fazer backup de um HD  em um host remoto através de ssh.
dd if=/dev/sda of=/tmp/file1 ? salvar o conteúdo de um  HD em um arquivo. (neste caso o HD é “sda” e o arquivo “file1”).
tar -Puf backup.tar /home/user ? backup incremental do diretório ‘/home/user’.
tar -czv –exclude=/root/dir1/* -f /var/salvas/cfg_$(date +%F_%H%M).tgz /etc /root ? salvar os diretórios /etc y /root (excluindo o conteúdo do subdiretório /root/dir1/) em um arquivo comprimido, cujo nome contenha a data e hora atual.
( cd /tmp/local/ && tar c . ) | ssh -C [email protected]_addr ‘cd /home/share/ && tar x -p’ ? copiar o conteúdo de um diretório em um diretório remoto através de ssh.
( tar c /home ) | ssh -C [email protected]_addr ‘cd /home/backup-home && tar x -p’ ? copiar um diretório local em um diretório remoto através de ssh.
tar cf – . | (cd /tmp/backup ; tar xf – ) ? copia local conservando as licenças e enlaces de um diretório a outro.
find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents ? encontrar e copiar todos os arquivos com extensão ‘.txt’ de um diretório a outro.
find ~/ -type f -not -iname ‘*.mp*’ -not \( -iregex ‘.*\.mozilla/.*’ -o -iregex ‘.*\.thumbnails/.*’ \) -prune -mtime 14 -print0 | xargs -0 tar -czf /var/salvas/myhome.tgz ? realizar backup de todos os arquivos do perfil de usuário modificados dentro dos últimos 14 dias, excetuando os arquivos mp3, mpg e similares, e os diretórios .mozilla/ y .thumbnails/.
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2 ? encontrar todos os arquivos com extensão ‘.log’ e fazer um arquivo bzip.
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 ? fazer uma cópia do MRB (Master Boot Record) para um disco floppy.
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 ? restaurar a cópia do MBR (Master Boot Record) salva no floppy.

CDROM

cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force ? limpar ou apagar um cd regravável.
mkisofs /dev/cdrom > cd.iso ? criar uma imagem iso de cdrom no disco.
mkisofs /dev/cdrom | gzip > cd_iso.gz ? criar uma imagem comprimida iso de cdrom no disco.
mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd ? criar uma imagem iso de um diretório.
cdrecord -v dev=/dev/cdrom cd.iso ? queimar uma imagem iso.
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom – ? queimar uma imagem iso comprimida.
mount -t udf,iso9660 -o loop cd.iso /mnt/iso ? montar uma imagem iso.
cd-paranoia -B ? transformar canções de um cd a arquivos wav.
cd-paranoia — ”-3” ?transformar as 3 primeiras canções de um cd a arquivos wav.
cdrecord –scanbus ? escanear bus para identificar o canal scsi.
dd if=/dev/hdc | md5sum ? fazer funcionar um md5sum em um dispositivo, como um CD.
eject -v ? ejetar um meio ou disco, oferecendo informação adicional.

Trabalho com a rede (LAN e WIFI)

ifconfig eth0 ? mostrar a configuração de uma interface de rede Ethernet.
ifup eth0 ? ativar a interface eth0.
ifdown eth0 ? desabilitar a interface eth0.
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 ? configurar um endereço IP.
ifconfig eth0 promisc ? configurar eth0 em modo promiscuo para obter os pacotes (sniffing).
dhclient eth0 ? ativar a interface ‘eth0’ no modo dhcp.
route -n ? mostrar tabela de rotas.
route add -net 0/0 gw IP_Gateway ? configurar entrada predeterminada.
ip route show | grep default | awk {‘print $3’} ? conhecer a porta de enlace predeterminada.
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 ? configurar rota estática para buscar a rede 192.168.0.0/16.
route del 0/0 gw IP_gateway ? eliminar a rota estática.
echo 1 > /proc/sys/net/ipv4/ip_forward ? ativar el redirecionamento de pacotes ip.
hostname ? mostrar o nome do host do sistema.
host www.example.com ? buscar o nome do host para direcionar o nome a um endereço ip (1).
nslookup www.example.com ? buscar o nome do host para direcionar o nome a um endereço ip e vice versa (2).
ip link show ? mostrar o estado de enlace de todas as interfaces.
mii-tool eth0 ? mostrar o estado de enlace de eth0.
ethtool eth0 ? mostrar as estatísticas da interface de rede eth0.
netstat -tup ? mostrar todas as conexões de rede ativas e seus PID.
netstat -tupl ? mostrar todos os serviços de escuta de rede no sistema e seus PID.
netstat -punta ? mostrar todas as conexões ativas por endereço IP e porto.
tcpdump tcp port 80 ? mostrar todo o tráfego HTTP.
iwlist scan ? mostrar as redes sem fio.
iwconfig eth1 ? mostrar a configuração de uma interface de rede sem fio.
whois www.example.com ? buscar na base de dados Whois.
iftop -nNP -i eth0 ? mostrar em tempo real as conexões abertas em eth0 e sua taxa de transferência.
sockstat ? mostrar informação sobre as conexões abertas.
arp-scan -l ? descubrir na rede os endereços IP e MAC.
nm-tool ? mostra configuração de rede (no caso de usar Network Manager obtém o DNS).

Redes de Microsoft Windows (Samba)

nbtscan ip_addr ? resolução de nome de rede bios.
nmblookup -A ip_addr ? resolução de nome de rede bios.
smbclient -L ip_addr/hostname ? mostrar ações remotas de um host em windows.

Firewall (iptables)

iptables -t filter -L ? mostrar todas as cadeias da tabela de filtro.
iptables -t nat -L ? mostrar todas as cadeias da tabela nat.
iptables -t filter -F ? limpar todas as regras da tabela de filtro.
iptables -t nat -F ? limpar todas as regras da tabela nat.
iptables -t filter -X ? apagar qualquer cadeia criada pelo usuário.
iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT ? permitir as conexões telnet para entrar.
iptables -t filter -A OUTPUT -p tcp –dport http -j DROP ? bloquear as conexões HTTP para sair.
iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT ? permitir as conexões POP a uma cadeia de frente.
iptables -t filter -A INPUT -p tcp -m multiport –dports 80,443,8080 -m state –state NEW -m limit –limit 4/sec –limit-burst 8 -j ACCEPT ? establecer um limite de 4 pedidos por segundo de novas conexões, com possíveis rajadas ocasionais (útil para políticas de negação padrão).
iptables -t filter -A INPUT -p tcp -m multiport –dports 80,443,8080 -m state –state ESTABLISHED,RELATED -m connlimit ! –conlimit-above 6 -j ACCEPT ? establecer um limite de 6 conexões simultâneas por equipe ao  servidor web (útil para políticas denegação padrão).
iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT” ? registrando una cadeia de entrada.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ? configurar um PAT (Porto de Tradução de endereço) en eth0, ocultando os pacotes de saída forçada. (Indicado para links tipo ppp)
iptables -t nat -A POSTROUTING -s 192.168.0.127 -o eth0 -j SNAT –to-source 169.158.158.169 ? rotear os pacotes desde 192.168.0.127 até outras redes por eth0 e designar-lhes um endereço ip externo. (Indicado para links tipo ADSL)
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 ? redireccionar os pacotes de um host a outro.
iptables -t nat -S ? Listar todas as regras ativas na tabela nat.
iptables-save -c > archivo ? Salvar as regras num arquivo (incluindo os contadores de pacotes e bytes).
iptables-restore -c < archivo ? Restaurar as regras de um arquivo (incluindo os contadores de pacotes e bytes).

Segurança e criptografia

base64 /home/arquivo > /home/arquivo-codificado ? codifica “arquivo” en ‘base64’ e o guarda em /home
base64 -d /home/arquivo-codificado > /home/arquivo ? decodifica “arquivo-codificado” e o guarda em /home
openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -out /etc/millave.crt -keyout /etc/millave.key ? cria um certificado auto-assinado para codificar o tráfego web com SSL.
htpasswd -c -m /etc/apache2/.htpasswd nomeusuario ? gera um arquivo ‘.htpasswd’ para proteger um site web com auntenticação.

Outros comandos úteis

apropos palavrachave ? mostrar uma lista de comandos que pertencem a palavras chaves de um programa; são úteis quando se sabe o que faz o programa mas se desconhece o nome do comando.
man ping ? mostrar as páginas do manual on-line; por exemplo, em um comando ping, usar a opção ‘-k’ para encontrar qualquer comando relacionado.
man -t ping | ps2pdf – ping.pdf ? converter as páginas do manual de comando ping em um arquivo pdf (para o qual é necessário haver instalado Ghostscript).
mkbootdisk –device /dev/fd0 `uname -r` ? criar um floppy bootável.
gpg -c file1 ? codificar um arquivo com chave de segurança GNU.
gpg file1.gpg ? decodificar um arquivo com chave de segurança GNU.
wget -r www.example.com ? baixar um site completo.
wget -c www.example.com/file.iso ? baixar um arquivo com a possibilidade de de pausar a descarga e continuar mais tarde.
echo ‘wget -c www.example.com/files.iso’ | at 09:00 ? Começar uma descarga a qualquer hora. Neste caso começaria às 9 horas.
ldd /usr/bin/ssh ? mostrar as bibliotecas compartilhadas requeridas pelo programa ssh.
alias hh=’history’ ? colocar um apelido para um comando. Neste caso, para invocar o histórico com hh.
chsh ? mudar o comando Shell.
chsh –list-shells ? é um comando adequado para saber se será preciso acessar remotamente em outro terminal.
who -a ? mostrar quem está registrado, e imprimir hora do último sistema de importação, processos mortos, processos de registro de sistema, processos ativos produzidos por init, funcionamento atual e últimas mudanças do relógio do sistema.
echo “128*1024*1024” | bc ? calcular no terminal o tamanho em bytes de 128 MiB.
sudo !! ? executar como superusuario o último comando teclado.
clear ? limpar a tela.
umcomando > arquivodesaida.txt 2>&1 ? executa um comando e redireciona a saída de um arquivo, combinando tanto STDOUT como STDERR.
umcomando >arquivodesaida.txt 2> arquivoerros.txt ? executa um comando, redireciona a saída (STDOUT) para um arquivo, e os erros (STDERR) para outro.
umcomando | tee arquivodesaida.txt ? executa um comando, mostra a saída  de tela e simultaneamente a escreve para  um arquivo.
Claylson
Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão.

Dicas do Desenvolvedor: Melhorando sua aplicação!

Previous article

Google Plus Code: Google cria código para substituir coordenadas geográficas e endereços postais

Next article

You may also like

More in Tutoriais