В чем разница между операторами перенаправления > и >> в командной строке Linux?

«В чем разница между операторами перенаправления > и >> в командной строке Linux?» — вопрос из категории Linux и командная строка, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Оба оператора перенаправляют вывод команды (stdout) в файл.

  • > (перезапись) — создает новый файл или полностью перезаписывает содержимое существующего.
  • >> (добавление) — создает новый файл или добавляет вывод в конец существующего файла.

Примеры:

# Создает или перезаписывает file.txt текстом "Hello"
echo "Hello" > file.txt

# Добавляет "World" на новой строке в конец file.txt
echo "World" >> file.txt

Результат в file.txt:

Hello
World

Важно: Если файла не существует, оба оператора создадут его. Оператор > — деструктивный, он удаляет предыдущее содержимое.