Требуется два параметра, которые являются дескрипторами.Это делает второй эквивалент первого.Вы можете использовать их взаимозаменяемо с несколькими небольшими исключениями ... см. Справочную страницу для более подробной информации о случаях использования.
Вы могли бы сделать это, например, чтобы перенаправить дескрипторы консоли 1, 2 или 3, на другое устройство или файл.Причина, по которой вы не хотите закрывать их, а затем снова открывать, заключается в том, что нет никакой гарантии, что вы получите тот же дескриптор номера при следующем открытом вызове.Вот почему вы должны использовать open (), чтобы получить дескриптор файла, а затем dup2(new_descriptor, 1);
, чтобы заставить дескриптор 1 перейти куда-нибудь, кроме консоли.