Dans ce cas, cela typen'a rien à voir avec le bash intégré type, mais plus à ce sujet plus tard.
Un peu de "type"
La typecommande intégrée BASH vous donne des informations sur les commandes. Donc:
$ type type
type is a shell builtin
La syntaxe est:
type [-tap] [name ...]
-t: imprimer uniquement le type, s'il est trouvé
-a: affiche toutes les occurrences de la commande, intégrées et autres.
-p: imprime le fichier disque qui serait exécuté sur appel à la commande, ou rien.
Si nous regardons time, killet à cattitre d'exemple:
$ type time kill cat
time is a shell keyword
kill is a shell builtin
cat is /bin/cat
$ type -t time kill cat
keyword
builtin
file
$ type -a time kill cat
time is a shell keyword
time is /usr/bin/time
kill is a shell builtin
kill is /bin/kill
cat is /bin/cat
$ type -ta time kill cat
keyword
file
builtin
file
file
Maintenant, cela spécifie que si vous êtes dans un shell et un type Bash time some_cmd, le code bash timeest utilisé. Pour utiliser le système, timevous pouvez le faire /usr/bin/time some_cmd.
Une façon souvent utilisée pour s'assurer que la commande système, et non intégrée, est utilisée est d'utiliser which.
tt=$(which time)
puis utilisez $ttpour appeler le système time.
La commande en question
Dans ce cas, -typec'est une option de la commande find. L'option prend un argument par lequel spécifier le type d'entité. Exemple
find . -type f # File
find . -type d # Directory
Il y a plus, vérifiez man findle reste.
Pour rechercher l'option spécifique que vous pouvez faire (en étant chez l'homme):
/ ^ \ s * -typeEnter
Ensuite, utilisez npour le prochain jusqu'à ce que vous le trouviez.
Un peu sur la commande shell
C'est un peu une interprétation personnelle.
Certaines des choses qui méritent d'être mentionnées, dans ce cas spécifique, sont les commandes, les options, les arguments et les canaux.
C'est un peu vaguement utilisé, mais dans mon vocabulaire, nous avons en bref:
- commande: un programme ou intégré .
- paramètre: une entité après le mot de commande.
- option: un paramètre facultatif .
- argument: un paramètre obligatoire.
Dans une spécification de commande, les crochets sont utilisés pour spécifier les options et, éventuellement moins / plus grands ensuite, pour spécifier les arguments. Donc:
foo [-abs] [-t <bar>] <file> ...
foo [-abs] [-t bar] file ...
Donne -a -bet en -stant que paramètres facultatifs, et filerequis.
-test facultatif, mais s'il est spécifié, prend l'argument requis bar. Les points indiquent qu'il peut prendre plusieurs fichiers.
Ce n'est pas une spécification exacte, et souvent manou helpest nécessaire pour être sûr.
Le positionnement des options d'arguments et la saisie peuvent souvent être mélangés, mais il est généralement préférable de conserver une approche basée sur la position car certains systèmes ne gèrent pas le positionnement mixte des arguments. Par exemple:
chmod -R nick 722 foo
chmod nick 722 foo -R
Les deux fonctionnent sur certains systèmes, tandis que ce dernier ne fonctionne pas sur d'autres.
Dans votre commande exacte, tous les paramètres appartiennent à find- donc si vous vous interrogez sur une propriété, man findc'est le bon endroit à regarder. Dans les cas où vous devez consulter les pages de manuel du shell, etc., par exemple:
find . $(some command)
find . `some command`
find . $some_var
find . -type f -exec some_command {} \;
find . -type f | some_command
...
Le -execest un -exec some_command {} \;paramètre spécial où tous les paramètres sont attribués à find, mais la some_command {} \;partie est développée, à l'intérieur findde some_command string_of_found_entity.
Plus loin
- citer
- expansion
- substitution de commande
- et bien plus
Vous pourriez trouver cela utile .
typecommande intégrée n'est pas utilisée parfind. L'-typeoption de fairefindautre chose. Voirhelp typeetman findobtenir vos réponses.