Take a fresh look at your lifestyle.

Conheça alguns comandos GNU/Linux para terminal

Neste tutorial conheça alguns dos principais comandos para serem usados em terminais GNU/Linux.

1.978

Get real time updates directly on you device, subscribe now.

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.
Através da JovenClub Desde Linux

Get real time updates directly on you device, subscribe now.

Comentários