Compartilhamento de pacotes e comandos para facilitar o dia dia

Se você está começando segue 30 comandos básicos

Há uma grande quantidade de comandos no Linux. O propósito deste tópico é facilitar a busca por comandos que facilitam o dia a dia. Apesar de poder fazer no ambiente gráfico, muitas das vezes via comando é mais prático e rápido.

Muitos já conhecem find, cp , mv e outros comandos que utilizamos. Aqui vou colocando alguns comandos que para alguns devem ser desconhecidos e são uma mão na roda.

No momento não posso colocar as saídas de todos os comandos apresentados, mas se o pessoal achar interessante mais tarde adiciono. Vou apresentar só alguns comando agora, mas depois vou adicionando mais.


Apropos pesquisa e exibe o nome e a descrição abreviada de uma palavra-chave, por exemplo, um nome de comando, conforme escrito na página de manual desse comando. Serve para procurar um comando

Pesquisar pela palavra rm

$ apropos rm

Pesquisar pelo texto

$ apropos 'remove file'


As páginas TLDR (significa “Too Long; Didn’t Read“. - “Longo Demais” e “Não Li”.) São resumidos exemplos práticos de uso de comandos em diferentes sistemas operacionais, incluindo Linux. Eles simplificam as páginas de manual, oferecendo exemplos práticos.
Mais infformação em https://tldr.sh/ que vc encontrará uma demonstração antes de instalar https://tldr.ostera.io/

  • Mostrar sumário do ls

$ tldr ls

$ tldr -u #atualizar cache local
ou
$ tldr -c #limpar cache local


FD, é uma ferramenta simples, rápida e fácil de usar, cujo objetivo é simplesmente executar mais rapidamente do que encontrar. Não se destina a substituir completamente o find, mas fornece uma alternativa fácil de usa e que ao executar é um pouco mais rápido, de modo fácil e prático.

  • Encontre arquivos que correspondam a amostra especificada no diretório atual:

$ fd teste

  • Encontrar arquivos que iniciam com “foo”:

$ fd '^foo'

  • Encontrar arquivos com uma especifica extensão:

$ fd --extension txt

  • Encontrar arquivos em um específico diretório:

$ fd teste path/to/dir

  • Incluir arquivos ignorados e ocultos na pesquisa:

$ fd --hidden --no-ignore teste


O comando findmnt é um utilitário de linha de comando simples usado para exibir uma lista de sistemas de arquivos atualmente montados ou procurar um sistema de arquivos em /etc/fstab, /etc/mtab or /proc/self/mountinfo.

  • Para listar de modo árvore

$ findmnt

  • Para usar saída no formato de lista

$ findmnt -l

  • Para limitar o conjunto de sistemas de arquivos por tipos no fstab

$ findmnt --fstab -t ext4

  • Saida do fstab convertendo rótulos (LABEL,UUID,PARTUUID,PARTLABEL)

$ findmnt --fstab --evaluate

OBS: Você pode usar um alias para uma demostração do mount parecida com findmint

alias cmount='mount | column -t'


SDIFF é um utilitário de linha de comando simples para mostrar as diferenças entre dois arquivos e mesclar interativamente. É fácil de usar e vem com opções simples de uso.

$ cal >cal.txt
$ df -h >du.txt
$ sdiff du.txt cal.txt

$ sdiff du.txt cal.txt
Sist. Arq.     Tipo      Tam. Usado Disp. Uso% Montado em     |    fevereiro 2020   
dev            devtmpfs  3,4G     0  3,4G   0% /dev           | do se te qu qu se sá
run            tmpfs     3,4G  9,3M  3,4G   1% /run           |                    1
/dev/sda6      ext4       25G   13G   11G  54% /              |  2  3  4  5  6  7  8
tmpfs          tmpfs     3,4G   79M  3,3G   3% /dev/shm       |  9 10 11 12 13 14 15
tmpfs          tmpfs     3,4G     0  3,4G   0% /sys/fs/cgroup | 16 17 18 19 20 21 22
tmpfs          tmpfs     3,4G   37M  3,4G   2% /tmp           | 23 24 25 26 27 28 29
/dev/sda5      vfat       50M  135K   50M   1% /boot/efi      |                     
/dev/sdb2      ext4       30G  8,3G   20G  30% /var           <
/dev/sdb3      ext4      457G  223G  212G  52% /home          <
tmpfs          tmpfs     690M   12K  690M   1% /run/user/1000 <

Como mostrar asteriscos ao digitar a senha do Sudo no Linux

$ sudo EDITOR=nano visudo

Procure a seguinte linha.

Defaults env_reset

E acrescente pwfeedback a ele, para que fique assim.

Defaults env_reset,pwfeedback

Salve a modicação

E corra o comando env_reset

$ reset


GREP - Como encontrar uma seqüência específica ou Word em arquivos e diretórios

Use o grep

Onde a opção -R diz ao grep para ler todos os arquivos em cada diretório, seguindo recursivamente, seguindo os links simbólicos apenas se estiverem na linha de comandos e a opção -w instrui-o a selecionar apenas as linhas que contêm correspondências que formam palavras inteiras e -e é usado para especificar a sequência (padrão) a ser pesquisada.

$ sudo grep -Rw / -e 'teste'

Adicione í para igonrar palavras maiúsculas e minúsculas

$ sudo grep -Riw / -e 'teste'

Procurar mais de uma palavra

sudo grep -Riw /home/ -e 'teste' -e 'Documentos'


EXA - Um substituto moderno para “ls Command” escrito em Rust

  • Saida simples

$ exa

  • Sainda listando

$ exa -l

  • Saida com visual facil de ler, mostrando inodes, tamanho, blocos e etc…

$ exa -bghHliS


INXI - Um comando simples e completo para obter informações da sua distro Linux

  • Para uma visualização completamente

$ inxi -F

Adicionado

Pode utilizar como um CP
O Rsync é melhor, pois copia apenas as partes atualizadas do arquivo atualizado caso necessário, em vez do arquivo inteiro. Ele também usa compactação e criptografia, se desejar. Alem de ter um tipo de progresso da cópia usando --info=progress2

$ sudo rsync -rtpl --info=progress2 /home/. /backup

Outros exemplos

  • Transfer file from local to remote host:

$ rsync path/to/local_file remote_host:path/to/remote_directory

  • Transfer file from remote host to local:

$ rsync remote_host:path/to/remote_file path/to/local_directory

  • Transfer file in archive (to preserve attributes) and compressed (zipped) mode with verbose and human-readable progress:

$ rsync -azvhP path/to/local_file remote_host:path/to/remote_directory

  • Transfer a directory and all its children from a remote to local:

$ rsync -r remote_host:path/to/remote_directory path/to/local_directory

  • Transfer directory contents (but not the directory itself) from a remote to local:

$ rsync -r remote_host:path/to/remote_directory/ path/to/local_directory

  • Transfer only updated files from remote host:

$ rsync -ru remote_host:path/to/remote_directory path/to/local_directory

  • Transfer file over SSH and delete local files that do not exist on remote host:

$ rsync -e ssh --delete remote_host:path/to/remote_file path/to/local_file

  • Transfer file over SSH and show global progress:

$ rsync -e ssh --info=progress2 remote_host:path/to/remote_file path/to/local_file

5 Curtidas

Mais alguns comandos e pacotes para facilitar certos procedimentos

Pacote progress GitHub - Xfennec/progress: Linux tool to show progress for cp, mv, dd, ... (formerly known as cv)

O Progress, Coreutils Progress Viewer, é um comando C que pesquisa comandos básicos do coreutils, como cp, mv, tar, dd, gzip / gunzip, cat, grep etc. atualmente em execução no sistema e mostra a porcentagem de dados copiados , ele é executado apenas nos sistemas operacionais Linux e Mac OS X.

A few examples. You can:

  • monitor all current and upcoming instances of coreutils commands in a simple window:
  watch progress -q
  • see how your download is progressing:
  watch progress -wc firefox
  • look at your Web server activity:
  progress -c httpd
  • launch and monitor any heavy command using $! :
  cp bigfile newfile & progress -mp $!

Como copiar um arquivo para vários diretórios no Linux usando cp e xargs

$ echo /home/teste/test/ /home/teste2/tmp | xargs -n 1 cp -v /home/teste/script/sys_infomação.sh

Usando xargs

  • xargs

    Execute a command with piped arguments coming from another command, a file, etc.
    The input is treated as a single block of text and split into separate pieces on spaces, tabs, newlines and end-of-file.

  • Run a command using the input data as arguments:

arguments_source | xargs command

  • Run multiple chained commands on the input data:

arguments_source | xargs sh -c "command1 && command2 | command3"

  • Delete all files with a .backup extension (-print0 uses a null character to split file names, and -0 uses it as delimiter):

find . -name '*.backup' -print0 | xargs -0 rm -v

  • Execute the command once for each input line, replacing any occurrences of the placeholder (here marked as _) with the input line:

arguments_source | xargs -I _ command _ optional_extra_arguments

  • Parallel runs of up to max-procs processes at a time; the default is 1. If max-procs is 0, xargs will run as many processes as possible at a time:

arguments_source | xargs -P max-procs command


Como encontrar a diferença entre dois diretórios usando as ferramentas Diff

Por padrão, sua saída é ordenada alfabeticamente pelo nome do arquivo / subdiretório. Nesse comando, a opção -q informa ao diff para relatar apenas quando os arquivos diferem.
Adicionando a opção -r para ler subdiretórios

$ diff -q teste-1/ teste-2/
$ diff -qr teste-1/ teste-2/


Trash-cli - Uma ferramenta de Lixeira para gerenciar o ‘Lixo’ por linha de comando no Linux

* trash-put         # coloca arquivos na lixeira 
* trash-empty       #  esvazia  a lixeira
* trash-list        # lista arquivos da lixeira.
* trash-restore     # restaure um arquivo na lixeira.
* trash-rm          #remove arquivos individuais da lixeira.

E pode remover apenas os arquivos que foram excluídos há mais de :

$ trash-empty <dias>

1 Curtida