Core utilities (Português)
Utilitários principais (ou Core utilities) são as ferramentas básicas e fundamentais de um sistema GNU/Linux. Este artigo fornece uma visão geral incompleta deles, vincula sua documentação e descreve alternativas úteis. O escopo deste artigo inclui, mas não está limitado a, o GNU coreutils. A maioria dos utilitários principais é ferramenta tradicional Unix (veja Heirloom) e muitos foram padronizados pela POSIX, mas foram desenvolvidos para fornecer mais recursos.
A maioria das interfaces de linha de comando está principalmente documentada em páginas man, utilitários pelo Projeto GNU estão documentados em manual info, alguns shells fornecem um help
comando para comandos embutidos shell. Além disso, a maioria dos utilitários imprime seu uso quando executado com o sinalizador --help
.
Essenciais
A tabela a seguir lista alguns utilitários importantes com os quais os usuários do Arch Linux devem estar familiarizados. Veja também intro(1).
Pacote | Utilitário | Descrição | Documentação | Alternativas |
---|---|---|---|---|
embutido no shell | cd | muda o diretório | cd(1p) | |
GNU coreutils | ls | lista o diretório | ls(1), info | tree, #Alternativas ao ls |
cat | concatena para stdout | cat(1), info | tac(1), bat | |
mkdir | cria diretório | mkdir(1), info | ||
rmdir | remove diretório vazio | rmdir(1), info | ||
rm | remove arquivos ou diretórios | rm(1), info | shred | |
cp | copia arquivos ou diretórios | cp(1), info | #Alternativas ao cp | |
mv | move arquivos ou diretórios | mv(1), info | ||
ln | cria links absolutos ou simbólicos | ln(1), info | ||
chown | altera dono e grupo de arquivo | chown(1), info | chgrp(1) | |
chmod | altera permissões de arquivo | chmod(1), info | ||
dd | converte e copia um arquivo | dd(1), info | ||
df | relata uso de espaço em disco pelos sistemas de arquivos | df(1), info | ||
GNU tar | tar | arquivador tar | tar(1), info | arquivadores |
GNU less | less | paginador de terminal | less(1) | paginadores de terminal |
GNU findutils | find | pesquisa por arquivos ou diretórios | find(1), info, GregsWiki | #Alternativas ao find |
GNU diffutils | diff | compara arquivos linha por linha | diff(1), info | #Alternativas ao diff |
GNU grep | grep | imprime linhas correspondendo a um padrão | grep(1), info | #Alternativas ao grep |
GNU sed | sed | editor de fluxo | sed(1), info, uma linha | |
GNU gawk | awk | linguagem de varredura e processamento de padrão | gawk(1), info | nawk, mawkAUR |
util-linux | dmesg | exibe ou controla o ring buffer do kernel | dmesg(1) | journal do systemd |
lsblk | lista dispositivos de bloco | lsblk(8) | ||
mount | monta um sistema de arquivos | mount(8) | ||
umount | desmonta um sistema de arquivos | umount(8) | ||
su | substitui o usuário | su(1) | sudo | |
kill | encerra um processo | kill(1) | pkill(1), killall(1) | |
procps-ng | pgrep | procura por processos por nome ou atributos | pgrep(1) | pidof(1) |
ps | mostra informações sobre processos | ps(1) | top(1), htop | |
free | exibe a quantidade de memória livre e usada | free(1) |
Prevenindo perda de dados
Os redirecionamentos rm
, mv
, cp
e shell excluem ou sobrescrevem arquivos sem perguntar. rm
, mv
e cp
possuem suporte ao sinalizador -i
para avisar o usuário antes de cada remoção/sobrescrita. Alguns usuários gostam de ativar o sinalizador -i
por padrão usando aliases. Depender dessas opções de shell pode ser perigoso porque você se acostuma a elas, resultando em perda de dados em potencial quando você usa outro sistema ou usuário que não as possui. A melhor maneira de evitar a perda de dados é criar backups.
Não essenciais
Essa tabela lista utilitários principais que geralmente são úteis.
Pacote | Utilitário | Descrição | Documentação | Alternativas |
---|---|---|---|---|
embutido no shell | alias | define ou exibe aliases | alias(1p) | |
type | imprime o tipo de um comando | type(1p) | which(1) | |
time | obtenha o tempo de um comando | time(1p) | ||
GNU coreutils | tee | lê a stdin e escreve para stdout e arquivos | tee(1), info | |
mktemp | cria um arquivo ou diretório temporário | mktemp(1), info | ||
cut | imprime partes selecionadas de linhas | cut(1), info | ||
tr | traduz ou exclui caracteres | tr(1), info | ||
od | despeja arquivos em octal e outros formatos | od(1), info | hexdump(1), vim's xxd(1) | |
sort | ordena linhas | sort(1), info | ||
uniq | relata ou omite linhas repetidas | uniq(1), info | ||
comm | compara dois arquivos ordenados linha por linha | comm(1), info | ||
head | imprime a parte inicial dos arquivos | head(1), info | ||
tail | imprime a parte final dos arquivos, ou segue arquivos | tail(1), info | ||
wc | imprime contagem de nova linha, palavra e byte | wc(1), info | ||
GNU binutils | strings | emite caracteres imprimíveis em arquivos binários | strings(1), info | |
GNU glibc | iconv | converte codificações de caracteres | iconv(1) | recode |
file | file | advinha o tipo de arquivo | file(1) |
O pacote moreutils fornece ferramentas úteis como o sponge(1) que não estão presentes no GNU coreutils.
Alternativas
Utilitários principais alternativos são fornecidos por BusyBox, o Heirloom Toolchest, 9base, sbase-gitAUR e ubase-gitAUR.
Alternativas ao cp
O uso de rsync como uma alternativa a cp/mv permite retomar uma transferência com falha, mostrar o status da transferência, pular arquivos já existentes e certificar-se da integridade dos arquivos de destino usando somas de verificação.
Alternativas ao ls
- broot — Uma nova forma de ver e navegar por árvores de diretórios.
- exa — Outro substituto do ls com suporte a cores, visão de árvore, integração com git e outros recursos.
- lsd — Um ls moderno com muitas cores bonitas e ícones legais.
Alternativas ao find
-
fd — Alternativa simples, rápida e amigável ao find. Ignora arquivos ocultos e inseridos em
.gitignore
por padrão.
- fuzzy-find — Completação aproximada para localizar arquivos.
- mlocate — Implementação de fusão entre locate e updatedb.
Para pesquisadores gráficos de arquivo, veja Lista de aplicativos/Utilitários#Busca de arquivos.
Alternativas ao diff
Enquanto diffutils não oferece suporte a diferenciação por palavras, vários outros programas oferecem:
-
git diff pode fazer um diff de palavras com
--color-words
, usando--no-index
ele também pode ser usado para arquivos fora de árvores de trabalho Git. - dwdiff — Um front-end diferenciador de palavras para o programa dif; tem suporte a cores.
- GNU wdiff — Uma implementação de diferenciação de palavras do GNU diff; não possui suporte a cores.
- cwdiff — Um interfaceador do GNU wdiff que coloriza a saída.
- icdiff — Uma ferramenta diff colorida escrita em Python. "Improved color diff" serve para complementar o uso normal do diff.
Veja também Lista de aplicativos/Utilitários#Comparação, diff, merge.
Alternativas ao grep
- mgrep — Um grep multilinha.
- ripgrep-all — Pesquisa em arquivos textos e também em PDFs, E-Books, documentos Office, zip, tar.gz.
Pesquisadores de código
As três ferramentas a seguir visam substituir o grep na pesquisa de código. Elas fazem pesquisa recursiva por padrão, ignoram arquivos binários e respeitam o .gitignore
.
- ack — Um substituto do grep baseado em Perl, tendo com alvo programadores com grandes árvores de código-fonte heretogêneo.
- ripgrep (rg) — Uma ferramenta de pesquisa que combina a usabilidade do ag com a velocidade bruta do grep.
- The Silver Searcher (ag) — Ferramenta de pesquisa de código similar ao Ack, porém mais rápido.
Filtros interativos
- fzf — Localizador aproximado de linha de comando de propósito geral, movido a find por padrão.
- fzy — Um seletor de texto aproximado rápido e simples com um algoritmo avançado de pontuação.
- peco — Ferramenta simplista de filtragem interativa.
- percol — Adiciona o sabor da filtragem interativa ao conceito tradicional de pipe do shell do UNIX.