Como usar o comando fd no Linux

Conteúdo

Uma janela de terminal em um PC Linux com uma área de trabalho estilo Ubuntu.

En Linux, fd é uma alternativa mais fácil para find comando. Tem uma sintaxe simplificada, usa padrões razoáveis ​​e tem um comportamento de bom senso embutido. Vamos testar.

fd versus find: Qual é a diferença?

a fd o comando não se destina a substituir o tradicional find comando, o que tem esteve no linux, Nós vamos, desde sempre. Ao invés de, fd tenta satisfazer a maioria dos usos comuns de find de uma forma mais simples e, frequentemente, é oito ou nove vezes mais rápido que find. Você pode ver alguns de seus marcos no projeto Página do repositório GitHub.

fd tem uma tomada colorida, semelhante ao de alguns ls modos. É recursivo, mas não procura por diretórios ocultos por padrão. Sabe sobre git e também ignorará automaticamente quaisquer padrões em seu arquivo “.gitignore”.

fd não diferencia maiúsculas de minúsculas por padrão. Apesar disto, se o seu padrão de pesquisa contém uma letra maiúscula, fd opera em um modo que diferencia maiúsculas de minúsculas. Decididamente, você pode substituir os padrões, mas, em vários casos, trabalhe a seu favor.

RELACIONADO: Como usar todos os comandos de pesquisa do Linux

Instalação Fd

Do Ubuntu 19.04 (Disco Dingo,) pode instalar fd diretamente ligando para o pacote mantido oficialmente com apt-get. Se você estiver executando uma versão mais antiga do Ubuntu, marca-lo instruções de instalação na página do hub Git.

Escreva o seguinte:

sudo apt-get install fd-find

No Ubuntu, o comando é fdfind para evitar um conflito de nome com outro utilitário existente. Se você fingir que é fd, você pode definir um alias:

alias fd = fdfind

Para tornar o pseudônimo persistente e permanecer disponível após o reinício, colocá-lo em seu arquivo ".bashrc" ou ".bash_aliases".

RELACIONADO: Como criar aliases e funções de shell no Linux

Instalar fd no Fedora, escreva este comando:

sudo dfn instalar fd-find

Em manjaro, escreva o seguinte:

sudo pacman -Syu fd

fd versus fdfind

Para evitar confusões, deixamos o comando com seu nome padrão, fdfind, em nosso PC teste Ubuntu. fd e fdfind são exatamente o mesmo comando, como você verá no exemplo a seguir (se você perguntar fdfind para exibir sua versão, chama-se “Fd”):

fdfind --versão

Chamaremos o comando. “FED”, mas nos exemplos, vamos usar o Ubuntu “fdfind”. Em outras distribuições Linux, Você pode digitar “Fd” ao invés de “fdfind” para salvar algumas teclas.

Pesquisas simples com fd

Se você usar fd sem opções de linha de comando, se comporta um pouco como ls, exceto que lista os arquivos em subdiretórios por padrão.

Escreva o seguinte:

fdfind

A saída aparece em cores diferentes para diferentes tipos de arquivos e diretórios.

Para ver arquivos de um tipo específico, usar el -e (extensão) opção. Observe que você não precisa preceder a extensão com um ponto (.), Nem é sensível a maiúsculas e minúsculas.

Como um exemplo, você pode escrever o seguinte:

fdfind -e png

Agora, os únicos arquivos listados são arquivos de imagem PNG.

Para procurar um único arquivo, digite seu nome na linha de comando, Então:

fdfind index.page

O arquivo está localizado e está em um subdiretório. Não tivemos que dizer fd para pesquisar recursivamente.

Para que a pesquisa comece em um diretório específico, inclui um caminho de arquivo na linha de comando. o seguinte comando vai iniciar uma busca do diretório “/ etc” e procurar por arquivos que incluem “senha” Vamos procurar arquivos:

fdfind passwd / etc

Aqui, buscamos por todos os arquivos de código fonte C que contêm “coord” Vamos procurar arquivos:

fdfind -e c coord

Dois arquivos correspondentes foram encontrados.

fd y Git

Git é extremamente popular sistema de controle de versão de código fonte. Se você usa Git no seu computador, você provavelmente usa arquivos ".gitignore" para dizer ao Git com quais arquivos ele deve se preocupar e quais ele pode ignorar. Por padrão, fd respeita as configurações de seus arquivos “.gitignore”.

Neste diretório, temos um repositório Git e um arquivo “.gitignore”. Nós escrevemos o seguinte:

ls -name .git *

Vamos perguntar fd para listar quaisquer arquivos que contenham “coord” Vamos procurar arquivos. Mais tarde, vamos repetir a pesquisa e usar o -I (não ignore) opção. Isso diz fd para ignorar as configurações no arquivo “.gitignore” e relatar cada arquivo correspondente.

Para fazer tudo isso, nós escrevemos o seguinte:

fdfind coord
fdfind coord -I

Os dois arquivos adicionais no segundo conjunto de resultados são arquivos-objeto. Eles são criados ao compilar um programa a partir de arquivos. Subseqüentemente, o vinculador os usa para criar a versão executável final do programa.

Os programas de controle de versão de código-fonte geralmente ignoram os arquivos-objeto. Eles são regenerados toda vez que você compila seu programa, para que você não precise armazenar cópias deles. Há uma entrada no arquivo “.gitignore” instruindo Git a ignorar arquivos de objetos e, por padrão, fd também os ignora.

a -I (não ignore) as forças de escolha fd para devolver tudo o que encontrar, em vez de ser guiado pelo arquivo “.gitginore”.

Tipos de arquivo e distinção entre maiúsculas e minúsculas

Você pode perguntar fd para pesquisar diretórios, registros (incluindo executáveis ​​e vazios) e links simbólicos. Você pode fazer isso usando o -t (Gentil) opção, seguido por uma das seguintes letras:

  • F: Processos.
  • D: diretório.
  • eu: Link simbólico.
  • X: Arquivo executável.
  • mim: Arquivo vazio.

O seguinte procura por um diretório chamado imagens:

imagens fdfind -td

Uma correspondência foi encontrada, um subdiretório menor que o atual.

Vamos ver como a diferenciação de maiúsculas e minúsculas funciona com os padrões de pesquisa. Nós escrevemos o seguinte para primeira pesquisar os arquivos que eles contêm “Geo” em seus nomes de arquivo, e, em seguida, aqueles que contêm “Geo” em seus nomes de arquivo:

fdfind -tf geo
fdfind -tf Geo

No primeiro comando, usamos um padrão de pesquisa em letras minúsculas, o que causou fd para operar de forma insensível a maiúsculas e minúsculas. Isso significa que ambos “Geo” O que “Geo” são partidas válidas.

Nosso segundo comando continha um caractere maiúsculo, o que causou fd para operar de maneira sensível a maiúsculas e minúsculas. Isso significa que apenas “Geo” é uma partida válida.

Execução de comando

a fd comando permite a você lançar outro comando e executá-lo em cada um dos arquivos encontrados.

Digamos que sabemos que existe um Arquivo zip em algum lugar em nossa árvore de diretório de código-fonte. Podemos pesquisá-lo usando o seguinte comando, que procura por arquivos com extensão ZIP:

fdfinf -e zip

Com ele -x (exec), você pode passar cada arquivo encontrado para outro comando para processamento. Como um exemplo, podemos escrever o seguinte para ligar utilitário de descompactação para descompactar nosso arquivo ZIP (a “{}” é um espaço reservado que representa o arquivo encontrado):

fdfind -e zip -x unzip {}

Isso irá descompactar o arquivo no diretório de trabalho atual. Se quisermos que seja descompactado no diretório que contém o arquivo ZIP, podemos usar um dos seguintes marcadores:

  • {}: O caminho completo do arquivo e o nome do arquivo encontrado.
  • {/}: O nome do arquivo encontrado.
  • {//}: O diretório que contém o arquivo encontrado.
  • {/.}: O nome do arquivo encontrado, sem a extensão.

Para que nosso arquivo ZIP seja encontrado e descompactado no diretório que o contém, podemos usar o comando unzip -d (diretório) e passar o marcador de posição do diretório pai ({//}):

fdfind -e zip -x unzip {} -d {//}

A seguir, o arquivo ZIP está localizado e descompactado em seu diretório principal.

Sua busca preferida?

Porque cobre os usos mais comuns tão facilmente, fd pode facilmente se tornar seu comando “procurar”. Sempre que você precisar de seus recursos mais avançados, você sempre pode voltar para aquele veterano experiente, find.

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.