Quelle est la différence entre "" et "" dans la commande shell?

30

Quelqu'un pourrait-il m'expliquer la différence entre > et >> lors de l'utilisation de commandes shell?

Exemple:

ps -aux > log
ps -aux >> log

Il semble que le résultat soit le même dans tous les cas.

    
posée whale_steward 27.11.2013 - 06:35
la source

3 réponses

35

> est utilisé pour écrire dans un fichier et >> est utilisé pour ajouter un fichier.

Ainsi, lorsque vous utilisez ps aux > file , la sortie de ps aux sera écrite dans file et si un fichier nommé file était déjà présent, son contenu sera remplacé.

Et si vous utilisez ps aux >> file , le résultat de ps aux sera écrit dans file et si le fichier nommé file était déjà présent, le fichier contiendra désormais son contenu précédent ainsi que le contenu de ps aux , écrit après son ancien contenu de file .

    
réponse donnée jobin 27.11.2013 - 06:46
la source
8

si vous écrivez dans le terminal

ps aux > log

Cela affichera la sortie de ps aux pour consigner le fichier nommé.

alors si vous mettez

ps aux >> log

alors la sortie suivante sera ajoutée en dessous du premier. si vous ne mettez qu'un seul > , il écrasera le fichier précédent.

    
réponse donnée souravc 27.11.2013 - 06:41
la source
4

Oui, >> ajoute, > écrase / détruit toujours le contenu précédent.

ps -aux > log

est le même que

rm log 2>/dev/null
ps -aux >> log

Sur Wintel, il en va de même pour les scripts .bat , .cmd et .ps1 ; patrimoine commun, bon sens.

    
réponse donnée mckenzm 09.03.2015 - 02:10
la source

Lire d'autres questions sur les étiquettes