При работе с файлами конфигурации в Linux иногда необходимо добавить текст, например параметры конфигурации, в существующий файл.
Добавить просто означает добавить текст в конец или конец файла.
🐧 Что такое EOF (End Of File)? Примеры с PHP, C ++, C, Python, Java
В этой короткой статье вы узнаете, как добавлять текст в конец файла в Linux.
Добавить текст используя оператор >>
Оператор >> перенаправляет вывод в файл, если файл не существует, он создается, но если он существует, вывод будет добавлен в конец файла.
Например, вы можете использовать команду echo, чтобы добавить текст в конец файла, как показано ниже:
# echo "/mnt/pg_master/wal_archives 10.20.20.5(rw,sync,no_root_squash)" >> /etc/exports
# printf "/mnt/pg_master/wal_archives 10.20.20.5(rw,sync,no_root_squash)\n" >> /etc/exports
Вы также можете использовать команду cat для объединения текста из одного или нескольких файлов и добавления его в другой файл.
В следующем примере дополнительные общие ресурсы файловой системы, которые будут добавлены в файл конфигурации /etc/exports, добавляются в текстовый файл shares.txt.
# cat /etc/exports # cat shares.txt # cat shares.txt >> /etc/exports # cat /etc/exports
Кроме того, вы также можете использовать следующий трюк, чтобы добавить текст конфигурации в конец файла, как показано ниже:
# cat /etc/exports # cat >>/etc/exports<s<EOF > /backups 10.20.20.0/24(rw,sync) > /mnt/nfs_all 10.20.20.5(rw,sync) > EOF # cat /etc/exports
Внимание: не путайте оператор перенаправления> >> и > , который удалить содержимое этого файла, а затем перезапишет его. Это может привести к потере данных.
Добавить текст с помощью команды tee
Команда tee копирует текст из стандартного ввода и вставляет / записывает его в стандартный вывод и файлы.
Вы можете использовать его флаг -a, чтобы добавить текст в конец файла, как показано на примере ниже
# echo "/mnt/pg_master/wal_archives 10.20.20.5(rw,sync,no_root_squash)" | tee -a /etc/exports или # cat shares.txt | tee -a /etc/exports
# cat <<EOF | tee -a /etc/exports >/backups 10.20.20.0/24(rw,sync) >/mnt/nfs_all 10.20.20.5(rw,sync) EOF