J'ai étudié la ligne de commande et appris que |
(pipeline) est censé rediriger la sortie d'une commande vers l'entrée d'une autre. Alors, pourquoi la commande ls | file
ne fonctionne pas?
file
l’entrée est l’un des noms de fichiers suivants, comme file filename1 filename2
ls
la sortie est une liste de répertoires et de fichiers sur un dossier, donc je pensais ls | file
était censé montrer le type de fichier de chaque fichier d'un dossier.
Quand je l'utilise cependant, la sortie est:
Usage: file [-bcEhikLlNnprsvz0] [--apple] [--mime-encoding] [--mime-type]
[-e testname] [-F separator] [-f namefile] [-m magicfiles] file ...
file -C [-m magicfiles]
file [--help]
Comme il y avait une erreur avec l'utilisation de la file
commande
file *
est le moyen le plus intelligent, je me demandais simplement pourquoi l’utilisation de la ls
sortie ne fonctionnait pas. Le doute est
ls
est généralement une mauvaise idée.
ls
, cela signifie que vous voulez que tous les fichiers du répertoire en cours soient gérés avec lafile
commande. ... Alors pourquoi ne pas simplement faire:,file *
qui répondra avec une ligne pour chaque fichier, dossier.