/ root - это просто домашний каталог пользователя root.
Обычно / root - это довольно "неинтересный" каталог, используемый только при интерактивном входе в систему как root. Если вы не помните, что вы вручную редактировали или создавали там интересные файлы, я бы вообще не синхронизировал это.
С другой стороны, монтирование привязки / root не должно вызывать никаких проблем. Возможно, есть некоторые (автоматически сгенерированные) файлы конфигурации, которые удобно синхронизировать, например .ssh / known_hosts или .ssh / authorized_keys.
Если вы сомневаетесь, см.
diff -rq /path/to/old/root /root
, если вы видите что-то, что вы хотите сохранить от старой установки.
Команды связаны с конвейером (здесь я говорю о системном примитиве - очевидно, они связаны с |
). Когда конец канала для чтения ( stdin
из head
) становится close
d (== когда head
либо явно ( ] close
) или неявно (exit) закрывает его), попытки записи в конец записи ( stdout
of yes
) завершатся ошибкой.
По умолчанию это не просто обычная ошибка errno
, а сбой, в результате которого процесс записи получает сигнал SIGPIPE
.По умолчанию обработчик сигнала SIGPIPE завершает работу.
Короче говоря, если вы напишете на сломанный канал, система отправит вам SIGPIPE
и по умолчанию SIGPIPE
убьет вас. Вот почему да
завершается, когда голова
заканчивается (и тем самым разрывает трубу).
Если вы проигнорируете SIGPIPE
в родительской оболочке, то команды унаследуют это расположение, и запись
в сломанный канал просто вызовет ошибку errno
. из EPIPE
. Как оказалось, да
преобразовывает эту ошибку в строку и печатает ее:
$ (trap "" SIGPIPE; yes | head -n 5)
y
y
y
y
yes: standard output: Broken pipe
yes: write error