Может ли кто-нибудь объяснить мне разницу, используя > и >> при использовании команды оболочки?
Пример:
ps -aux > log
ps -aux >> log
Кажется, что результаты одинаковы.
, если вы пишете в терминале
ps aux > log
, он выведет выход ps aux в журнал с именем файла.
, если вы положите
ps aux >> log
, то следующий вывод будет добавлен ниже первого. если вы поместите только один >, он перезапишет предыдущий файл.
Да, >> добавляет, > всегда перезаписывает / уничтожает предыдущий контент.
ps -aux > log
совпадает с
rm log 2>/dev/null
ps -aux >> log
В Wintel это то же самое для скриптов .bat, .cmd и .ps1; общее наследие, здравый смысл.