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
.