Encore un autre bash qui a besoin d’explication

Voici une autre commande bash qui nécessite des explications. Quelqu’un peut-il expliquer ce que signifie l’option pour la commande $ find? Je sais que la commande trouve le fichier avec 0 octets et les jette.

$find . – type f –size 0 | xargs rm ls -ld 

Que fait le . signifier? Qu’est-ce que le | signifier?

qu’est-ce que – taper f – taille 0

qu’est-ce que xargs?

qu’est-ce que ça veut dire?

rm = remove ls = liste

Find prend un paramètre: le répertoire à utiliser comme racine de la recherche. Tous les autres parameters sont transmis en tant qu’options.

 find . -type f -size 0 find : The name of the program. . : The directory to use as the root for the search. -type f : Find only regular files. (Excludes directories, sym links, etc.) -size 0 : Finds only empty files. 

La sortie de la commande find sera une liste de fichiers vides. Cette sortie est ensuite introduite dans xargs. xargs est un programme qui prend une liste de chaînes en entrée et exécute ensuite une commande donnée sur chacune d’entre elles.

La commande xargs rm ls -ld vous avez saisie semble erronée. Je vais utiliser xargs rm comme exemple à la place.

 xargs rm xargs : The name of the program. rm : The command to run on each file. 

Ainsi, la commande complète find . -type f -size 0 | xargs rm find . -type f -size 0 | xargs rm find . -type f -size 0 | xargs rm trouve tous les fichiers vides et les supprime.

. est le répertoire actuel

| conduit la sortie d’une commande (find) dans l’entrée d’un autre (xargs)

Je suggère que vous utilisiez man find , man xargs et man ls pour déterminer les options pour find et ce que font exactement xargs et ls .