Header Ads

Como usar o comando fd no Linux

Fatmawati Achmad Zaenuri / Shutterstock

No Linux, fd é uma alternativa mais fácil ao comando find. Ele possui uma sintaxe simplificada, usa padrões sensíveis e possui um comportamento de senso comum embutido. Vamos levá-lo através de seus passos.

fd vs find: Qual é a diferença?

O comando fd não pretende substituir o comando find tradicional, que está no Linux, bem, para sempre. Em vez disso, o fd tenta satisfazer a maioria dos usos comuns de encontrar de maneira mais direta e, geralmente, é oito ou nove vezes mais rápido que encontrar. Você pode ver alguns de seus benchmarks na página do repositório GitHub do projeto.

fd tem uma saída colorida, semelhante à de alguns modos sl. É recursivo, mas não pesquisa diretórios ocultos por padrão. Ele conhece o Git e também ignorará automaticamente quaisquer padrões no seu & gt ;ignitore & ” arquivo.

fd não diferencia maiúsculas de minúsculas por padrão. No entanto, se seu padrão de pesquisa contiver uma letra maiúscula, fd funcionará em um modo que diferencia maiúsculas de minúsculas. Obviamente, você pode substituir os padrões, mas, em muitos casos, eles funcionam a seu favor.

RELACIONADO: Como usar todos os comandos de pesquisa do Linux

Instalando fd

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

Digite 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ê quiser que ele seja fd, você pode configurar um alias:

 alias fd = fdfind 

Para tornar o alias persistente e permanecer disponível após a reinicialização, coloque-o no seu “ . bashrc ” ou “ . bash_aliases ” arquivo.

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

Para instalar o fd no Fedora, digite este comando:

 sudo dfn install fd-find 

No Manjaro, digite o seguinte:

 sudo pacman -Syu fd 

fd versus fdfind

Para evitar confusão, deixamos o comando com o nome padrão, fdfind, em nosso PC de teste do Ubuntu. fd e fdfind são exatamente o mesmo comando, como você verá no exemplo a seguir (se você pedir ao fdfind para mostrar sua versão, ele se chamará '“ fd' ”):

 fdfind --version 

Vamos chamar o comando "alimentado", ” mas nos exemplos, usaremos o Ubuntu 'fdfind'. ” Em outras distribuições Linux, você pode digitar “ fd ” em vez de “ fdfind ” para salvar algumas teclas.

Pesquisas simples com fd

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

Digite 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, use a opção -e (extensão). Observe que você não precisa preceder a extensão com um ponto (.), Nem faz distinção entre maiúsculas e minúsculas.

Por exemplo, você pode digitar 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, assim:

 fdfind index. page 

O arquivo foi encontrado e está em um subdiretório. Não precisamos dizer ao fd para pesquisar recursivamente.

Para iniciar a pesquisa em um diretório específico, inclua um caminho de arquivo na linha de comando. O comando a seguir iniciará uma pesquisa no “ / etc ” diretório e procure por arquivos que incluam & pass; 82 & passwd ” no nome do arquivo:

 fdfind passwd / etc 

Aqui, estamos pesquisando todos os arquivos de código-fonte C que contêm & coord; ” no nome do arquivo:

 fdfind -e c coord 

Dois arquivos correspondentes foram encontrados.

fd e Git

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

Nesse diretório, temos um repositório Git e o 'gitignore' ” Arquivo. Digitamos o seguinte:

 ls -adl . git * 

Vamos pedir ao fd para listar todos os arquivos que contêm “ coord ” no nome do arquivo. Em seguida, repetiremos a pesquisa e usaremos a opção -I (sem ignorar). Isso diz ao fd para ignorar as configurações no & gt ;ignitore ” arquivar e relatar todos os arquivos correspondentes.

Para fazer tudo isso, digitamos o seguinte:

 fdfind coord 

 fdfind coord -I 

Os dois arquivos extras no segundo conjunto de resultados são arquivos de objetos. Eles são criados quando um programa de arquivo é compilado. Eles são então usados ​​pelo vinculador para criar a versão executável final do programa.

Os arquivos de objetos geralmente são ignorados pelos programas de controle de versão do código-fonte. Eles são regenerados toda vez que você compila seu programa, assim você não precisa armazenar cópias deles. Há uma entrada no "gitignore". arquivo que instrui o Git a ignorar arquivos de objetos e, por padrão, o fd também os ignora.

A opção -I (sem ignorar) força o fd a retornar tudo o que encontra, em vez de ser guiado pelo “ . gitginore ” arquivo.

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

Você pode pedir ao fd para procurar diretórios, arquivos (incluindo aqueles executáveis ​​e vazios) e links simbólicos. Você pode fazer isso usando a opção -t (type), seguida por uma das letras abaixo:

  • f: Arquivo.
  • d: Diretório.
  • l: Link simbólico.
  • x: Arquivo executável.
  • < li> e: Arquivo vazio.

O seguinte procura um diretório chamado images:

 fdfind -td imagens 

Foi encontrada uma correspondência, um subdiretório menor que o atual.

Vamos ver como a diferenciação entre maiúsculas e minúsculas funciona com os padrões de pesquisa. Digitamos o seguinte para pesquisar primeiro os arquivos que contêm "geo" ” em seus nomes de arquivo e, em seguida, naqueles que contêm "Geo" ” nos nomes dos arquivos:

 fdfind -tf geo 

 fdfind -tf Geo 

No primeiro comando, usamos um padrão de pesquisa em minúsculas, que fazia com que o fd operasse de maneira que não diferencia maiúsculas de minúsculas. Isso significa que o “ Geo ” e "geografia" ” são correspondências válidas.

Nosso segundo comando continha um caractere maiúsculo, que fazia com que o fd operasse de maneira sensível a maiúsculas e minúsculas. Isso significa apenas "Geo" ” é uma correspondência válida.

Execução de comando

O comando fd permite iniciar outro comando e executá-lo em cada um dos arquivos encontrados.

Digamos que sabemos que existe um arquivo Zip em algum lugar da nossa árvore de diretórios de código-fonte. Podemos procurá-lo usando o seguinte comando, que procura arquivos com a extensão ZIP:

 fdfinf -e zip 

Com a opção -x (exec), você pode passar cada arquivo encontrado para outro comando a ser processado por ele. Por exemplo, podemos digitar o seguinte para chamar o utilitário descompactar para descompactar nosso arquivo ZIP (o “ {} ” é um espaço reservado que representa o arquivo encontrado):

 fdfind-e zip -x descompacte {} 

Isso descompactará o arquivo no diretório de trabalho atual. Se quisermos descompactá-lo no diretório que contém o arquivo ZIP, podemos usar um dos seguintes espaços reservados:

  • {}: 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 a opção descompactar -d (diretório) e passar o espaço reservado para o diretório pai ({//}):

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

O arquivo ZIP é então localizado e descompactado em seu diretório pai.

O que você vai encontrar?

Como ele cobre os usos mais comuns com tanta simplicidade, o fd pode facilmente se tornar o seu favorito para encontrar a ” comando. Sempre que precisar de seus recursos mais avançados, você poderá sempre retornar ao veterano experiente.

Via: How to Geek

Veja Também:

Nenhum comentário