Come usare il comando fd in Linux

Contenuti

Una finestra di terminale su un PC Linux con un desktop in stile Ubuntu.

En Linux, fd è un'alternativa più semplice a find comando. Ha una sintassi semplificata, utilizza impostazioni predefinite ragionevoli e ha un comportamento di buon senso integrato. Mettiamolo alla prova.

fd contro trova: Qual è la differenza?

il fd il comando non è destinato a sostituire il tradizionale find comando, che cosa c'è che non va stato su linux, bene, da sempre. Invece di, fd cerca di soddisfare la maggior parte degli usi comuni di find in modo più semplice e, spesso, è otto o nove volte più veloce di find. Puoi vedere alcuni dei tuoi punti di riferimento nel progetto Pagina del repository GitHub.

fd ha una presa colorata, simile a quello di alcuni ls modalità. è ricorsivo, ma non cerca le directory nascoste per impostazione predefinita. Lui sa su git y además ignorará automáticamente cualquier patrón en su archivo “.gitignore”.

fd non fa distinzione tra maiuscole e minuscole per impostazione predefinita. Nonostante questo, se il tuo modello di ricerca contiene una lettera maiuscola, fd opera in una modalità con distinzione tra maiuscole e minuscole. Decisamente, puoi sovrascrivere le impostazioni predefinite, ma, in diversi casi, lavorare a tuo favore.

IMPARENTATO: Come usare tutti i comandi di ricerca di Linux

Installazione Fd

Da Ubuntu 19.04 (Disco Dingo,) può installare fd direttamente chiamando il pacchetto mantenuto ufficialmente con apt-get. Se stai utilizzando una versione precedente di Ubuntu, segnalo instrucciones de instalación en la página del concentrador de Git.

Scrivi quanto segue:

sudo apt-get install fd-find

In Ubuntu, il comando è fdfind para evitar un conflicto de nombre con otra utilidad existente. Si pretendes que sea fd, puede configurar un alias:

alias fd=fdfind

Para hacer que el alias sea persistente y permanecer disponible después de reiniciar, colóquelo en su archivo “.bashrc” o “.bash_aliases”.

IMPARENTATO: Come creare alias e funzioni di shell in Linux

Installare fd in Fedora, scrivi questo comando:

sudo dfn install fd-find

A Manjaro, scrivi quanto segue:

sudo pacman -Syu fd

fd versus fdfind

Per evitare confusioni, dejamos el comando con su nombre predeterminado, fdfind, en nuestra PC de prueba Ubuntu. fd e fdfind sono esattamente lo stesso comando, come vedrai nell'esempio seguente (Se lo chiede fdfind per mostrare la tua versione, se llama a sí mismofd”):

fdfind --version

Llamaremos al comandofed”, ma negli esempi, usaremos Ubuntu “fdfind”. Su altre distribuzioni Linux, puoi digitare “fd” invece di “fdfind” para ahorrar algunas pulsaciones de teclas.

Ricerche semplici con fd

Se usi fd nessuna opzione della riga di comando, si comporta un po' come ls, tranne che elenca i file nelle sottodirectory per impostazione predefinita.

Scrivi quanto segue:

fdfind

L'output appare in diversi colori per diversi tipi di file e directory.

Per visualizzare file di un tipo specifico, usa el -e (estensione) opzione. Nota che non è necessario far precedere l'estensione da un punto (.), Né fa distinzione tra maiuscole e minuscole.

Come esempio, puoi scrivere quanto segue:

fdfind -e png

Ora, gli unici file elencati sono file immagine PNG.

Per cercare un singolo file, digita il tuo nome sulla riga di comando, Così:

fdfind index.page

Il file si trova e si trova in una sottodirectory. Non dovevamo dirlo fd cercare in modo ricorsivo.

Affinché la ricerca inizi in una directory particolare, includere un percorso di file nella riga di comando. El siguiente comando iniciará una búsqueda en el directorio “/ eccetera” y buscará archivos que incluyan “passwd” sono preceduti da:

fdfind passwd /etc

Qui, buscamos todos los archivos de código fuente C que contienencoord” sono preceduti da:

fdfind -e c coord

Sono stati trovati due file corrispondenti.

fd e git

Git è estremamente popolare sistema di controllo della versione del codice sorgente. Se usi Git sul tuo computer, probabilmente usi i file ".gitignore" per dire a Git di quali file dovrebbe preoccuparsi e quali può ignorare. Predefinito, fd respeta la configuración de sus archivos “.gitignore”.

In questa directory, tenemos un repositorio Git y un archivo “.gitignore”. Scriviamo quanto segue:

ls -nome .git*

Chiediamo fd para enumerar cualquier archivo que contengacoord” sono preceduti da. Successivamente ripeteremo la ricerca e utilizzeremo il -I (non ignorare) opzione. Questo dice fd para ignorar la configuración en el archivo “.gitignoree informar cada archivo coincidente.

Per fare tutto questo, scriviamo quanto segue:

fdfind coord
fdfind coord -I

I due file aggiuntivi nel secondo set di risultati sono file oggetto. Questi vengono creati durante la compilazione di un programma da file. Successivamente, il linker li usa per creare la versione eseguibile finale del programma.

I programmi di controllo della versione del codice sorgente spesso ignorano i file oggetto. Vengono rigenerati ogni volta che compili il tuo programma, quindi non devi archiviarne copie. Hay una entrada en el archivo “.gitignoreque le indica a Git que ignore los archivos de objeto y, per impostazione predefinita, fd li ignora anche.

il -I (non ignorare) le forze della scelta fd per restituire tutto quello che trova, en lugar de guiarse por el archivo “.gitginore”.

Tipi di file e distinzione tra maiuscole e minuscole

Puoi chiedere fd per cercare nelle directory, record (inclusi eseguibili e vuoto) e collegamenti simbolici. Puoi farlo usando il -t (tipo) opzione, seguito da una delle seguenti lettere:

  • F: Procedimenti.
  • D: directory.
  • io: collegamento simbolico.
  • X: File eseguibile.
  • me: File vuoto.

Quanto segue cerca una directory chiamata immagini:

fdfind -td immagini

È stata trovata una corrispondenza, una sottodirectory inferiore a quella corrente.

Vediamo come funziona la distinzione tra maiuscole e minuscole con i modelli di ricerca. Escribimos lo siguiente para buscar primero los archivos que contienengeoen sus nombres de archivo, y después aquellos que contienenGeoen sus nombres de archivo:

fdfind -tf geo
fdfind -tf Geo

Nel primo comando, usiamo un modello di ricerca minuscolo, cosa ha causato fd operare senza distinzione tra maiuscole e minuscole. Esto significa que tantoGeo” Che cosa “geoson coincidencias válidas.

Il nostro secondo comando conteneva un carattere maiuscolo, cosa ha causato fd operare con distinzione tra maiuscole e minuscole. Esto significa que soloGeoes una coincidencia válida.

Esecuzione del comando

il fd comando ti consente di lanciare un altro comando ed eseguirlo su ciascuno dei file trovati.

Diciamo che sappiamo che c'è un Archivio zip da qualche parte nel nostro albero di directory del codice sorgente. Possiamo cercarlo usando il seguente comando, che cerca file con estensione ZIP:

fdfinf -e zip

Con il -x (eseguire), puoi passare ogni file trovato a un altro comando per l'elaborazione. Come esempio, possiamo scrivere quanto segue per chiamare utilità di decompressione per decomprimere il nostro file ZIP (il “{}” es un marcador de posición que representa el archivo encontrado):

fdfind -e zip -x unzip {}

Questo decomprimerà il file nella directory di lavoro corrente. Se vogliamo che venga decompresso nella directory che contiene il file ZIP, possiamo usare uno dei seguenti segnaposto:

  • {}: Il percorso completo del file e il nome del file trovato.
  • {/}: Il nome del file trovato.
  • {//}: La directory contenente il file trovato.
  • {/.}: Il nome del file trovato, senza l'estensione.

In modo che il nostro file ZIP venga trovato e decompresso nella directory che lo contiene, possiamo usare il comando unzip -d (directory) e passa il segnaposto della directory principale ({//}):

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

Prossimo, il file ZIP è localizzato e decompresso nella sua directory principale.

La tua ricerca preferita?

Perché copre gli usi più comuni così facilmente, fd puede convertirse fácilmente en su comando “Cercare”. Ogni volta che hai bisogno delle sue funzionalità più avanzate, puoi sempre tornare a quel veterano stagionato, find.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.