Добавить файл в файл linux
Обновлено: 21.11.2024
У меня есть два файла: файл1 и файл2. Как добавить содержимое файла2 в файл1, чтобы содержимое файла1 сохранялось в процессе?
8 ответов 8
@BijayRungta: Похоже, вы сами ответили на свой вопрос. Вы должны добавить sudo к команде cat (и ввести учетные данные, если будет предложено).
вы должны . chmod 777 /etc/default/docker, чтобы дать себе права на запись в этот файл — после этого обязательно восстановите старые права доступа к файлу
@Sigur: Если нет способа направить вывод в два файла одновременно, это потребует двух вызовов команды.
@Sigur или взгляните на программу tee: cat 1 | тройник -а 2 3 . Вы можете поместить сколько угодно файлов после переключателя --append (или -a для краткости).
каталог файл2 >> файл1
Оператор >> добавляет выходные данные в именованный файл или создает именованный файл, если он не существует.
cat файл1 файл2 > файл3
Это объединяет два или более файлов в один. У вас может быть столько исходных файлов, сколько вам нужно. Например,
cat *.txt >> новый файл.txt
Обновление 20130902
В комментариях Юмиро предлагает «не пытайтесь использовать cat файл1 файл2 > файл1 ». Причина, по которой это может не привести к ожидаемому результату, заключается в том, что файл, получающий перенаправление, подготавливается до выполнения команды слева от >. В этом случае первый файл file1 усекается до нулевой длины и открывается для вывода, затем команда cat пытается объединить файл нулевой длины с содержимым файла file2 в файл file1. В результате исходное содержимое файла1 теряется, а его место занимает копия файла2, что, вероятно, не соответствует ожидаемому.
Перед выполнением команды ее ввод и вывод могут быть перенаправлены с использованием специальной нотации, интерпретируемой оболочкой.
Хотя это и сообщает читателю то, что ему нужно знать, его легко пропустить, если вы не ищете его и не анализируете утверждение слово за словом. Самое важное слово здесь — «до». Перенаправление завершается (или не выполняется) до выполнения команды.
В примере cat файл1 файл2 > файл1 оболочка сначала выполняет перенаправление, чтобы дескрипторы ввода-вывода находились на месте в среде, в которой будет выполняться команда, до ее выполнения.
Более удобную версию, в которой подробно рассматривается приоритет перенаправления, можно найти на веб-сайте Яна Аллена в виде учебных курсов по Linux. На его странице I/O Redirection Notes можно многое сказать по этой теме, включая наблюдение, что перенаправление работает даже без команды. Передача этого в оболочку:
<р>. создает пустой файл с именем out. Оболочка сначала настраивает перенаправление ввода-вывода, затем ищет команду, не находит ее и завершает операцию.В Linux при работе с файлами в терминале иногда нам нужно добавить одни и те же данные вывода команды или содержимого файла. Добавить означает просто добавить данные в файл, не стирая существующие данные. Сегодня мы увидим, как мы можем добавить текст в файл на терминале.
Использование >> оператора:
Оператор >> перенаправляет вывод в файл. Если указанный файл не существует, файл создается, а затем текст добавляется к файлу.
Примеры:
Мы можем использовать команду echo для добавления текста в файл, например
В качестве альтернативы мы можем использовать команду printf для добавления текста в файл.
Мы также можем использовать команду cat для добавления содержимого одного файла в другой файл.
Пример:
В этом примере мы должны добавить содержимое файла file1.txt к файлу file2.txt
Примечание. Не используйте > или >> Это приведет к удалению данных целевого файла. Это может привести к потере данных.
Использование команды tee:
Команда tee копирует текст из стандартного ввода и записывает его в стандартный выходной файл. Тройник предоставляет возможность добавления текста в файл.
Мы также можем добавить содержимое файла в другой файл с помощью команды tee
Пример:
В этом примере мы должны добавить содержимое файла file1.txt к файлу file2.txt
В Linux существует шесть основных способов создания файлов. Все они имеют свое предназначение и преимущества. Они следующие:
1. кошачья команда
Это наиболее универсальная команда/инструмент для создания файлов в системах Linux. Мы не можем редактировать файл с помощью команды cat. Основные операции, которые можно выполнить с его помощью, следующие:
Чтобы создать файлы и записать в них данные
Эта команда создает новый файл file1 (в режиме записи), если он не существует в текущем рабочем каталоге. Если в текущем каталоге существует какой-либо файл с именем файла1, он перезаписывается.
Примечание. После записи текста в файл нажмите ctrl+d, чтобы сохранить и выйти из режима записи.
Чтобы просмотреть содержимое файла
Эта команда просто выводит содержимое файла1 на экран терминала.
Объединить файлы — добавить содержимое двух файлов в новый или существующий файл
Эта команда создает новый файл файл3 с содержимым файлов файл1 и файл2, если файл3 не существует в текущем рабочем каталоге. Если в текущем каталоге существует файл с именем файл3, то он перезаписывается содержимым файлов файл1 и файл2.
Чтобы добавить содержимое в конец файла
Эта команда создает новый файл file2 (в режиме записи), если он не существует в текущем рабочем каталоге. Если в текущем каталоге существует какой-либо файл с именем файла2, то он открывается (в режиме добавления).
Чтобы скопировать данные файла (содержимое одного файла в другой)
Эта команда создает новый файл файл2 с содержимым файла1, если файл2 не существует в текущем рабочем каталоге. Если в текущем каталоге существует файл с именем файл2, то он перезаписывается содержимым файла1.
Чтобы изменить данные файла (tac)
2. сенсорная команда
С помощью этой команды мы можем создать пустой файл (или несколько пустых файлов). Но его основная цель — изменить или обновить временную метку файла. Основные операции, которые можно выполнить с его помощью, следующие:
Создание файла
Примечание. Создайте файл, а затем используйте команду cat для просмотра данных.
Чтобы изменить временную метку файла
Примечание. Мы используем stat имя_файла для проверки временной метки файла. Мы видим, что доступ, изменение и изменение теперь обновлены.
Изменить только время доступа
Время доступа — это время последнего доступа к файлу.
Изменить только время модификации
Время изменения — это время, когда файл был изменен.
3. команда vi
Его основная функция — редактировать файлы. Он обычно используется программистами для редактирования текстового содержимого любого файла в текстовом редакторе vi. Основные операции, которые можно выполнить с его помощью, следующие:
Примечание. Чтобы сохранить текстовый редактор vi и выйти из него, нажмите клавишу Escape, затем введите :wq и нажмите Enter.
Создать файл
Эта команда создает новый файл file_1 и открывает его в текстовом редакторе vi, если он не существует в текущем рабочем каталоге.Если файл с именем файла file_1 существует в текущем каталоге, эта команда просто открывает файл в текстовом редакторе vi.
Открыть и отредактировать файл
4. нано команда
Его можно найти или не найти во всех дистрибутивах LINUX. Мы можем создавать и редактировать файлы.
Примечание. Чтобы выйти из текстового редактора nano, нажмите ctrl + x.
5. команда gedit
Пользователи Linux обычно используют интерфейс командной строки (CLI) для записи или редактирования текстовых файлов. Но если мы хотим графически отредактировать текстовый файл на компьютерах с Linux, не изучая мощные редакторы, такие как vim и nano, тогда текстовый редактор gedit облегчит нам задачу.
“gedit” означает текстовый редактор GNOME. Это стандартный текстовый редактор по умолчанию, который можно найти в любой системе со средой рабочего стола GNOME, включая Ubuntu, Fedora, Debian, CentOS и Red Hat. Используя gedit, мы можем создавать, а также записывать/редактировать текстовые файлы.
Создать файл
Эта команда создает новый файл file_2 (в режиме записи) в текстовом редакторе gedit, если он не существует в текущем рабочем каталоге. Если какой-либо файл с именем файла file_2 существует в текущем каталоге, он открывается (в режиме редактирования) в текстовом редакторе gedit.
Примечание. Чтобы снова использовать терминал, нажмите Ctrl + C.
Открыть и отредактировать файл
Когда мы создаем или редактируем файл с помощью команды gedit, по умолчанию файл открывается в текстовом редакторе gedit и ждет, пока он закроется, прежде чем он вернет вас в окно терминала. Если вы хотите использовать окно терминала при открытом текстовом редакторе gedit, вместо этого запустите gedit с помощью следующей команды.
Эта команда открывает текстовый редактор gedit в качестве фоновой задачи. Мы сразу получаем приглашение командной строки и продолжаем использовать окно терминала, даже когда запущен текстовый редактор gedit.
6. команда mv
Обычно мы используем команду mv для перемещения файлов или каталогов из одного места в другое в системах Linux. Но мы также можем использовать его для создания новых файлов с содержимым какого-либо другого файла в системе.
Эта команда создает новый файл файл_3 с содержимым файла_2, если файл_3 не существует в текущем рабочем каталоге. Если какой-либо файл с именем файла file_3 существует в текущем каталоге, он перезаписывается содержимым файла file_2.
Примечание. Эта команда копирует содержимое файла_2 в файл_3 и удаляет файл_2.
Лори Кауфман
Лори Кауфман
Писатель
Лори Кауфман – специалист по технологиям с 25-летним опытом работы. Она была старшим техническим писателем, работала программистом и даже управляла собственным бизнесом в нескольких местах. Подробнее.
Команда cat очень полезна в Linux. У него есть три основные функции, связанные с управлением текстовыми файлами: их создание, отображение и объединение.
Мы обсудили использование команды cat (среди прочего) для создания и просмотра текстовых файлов в командной строке в Linux.Но давайте предположим, что у вас есть три текстовых файла: file1.txt, file2.txt и file3.txt. Вы хотите объединить (или объединить) их в один текстовый файл, содержащий информацию из всех трех, в указанном порядке. Вы также можете сделать это с помощью команды cat.
Просто откройте терминал и введите следующую команду:
Очевидно, замените имена файлов в приведенном выше примере своими собственными.
В терминале появится объединенное содержимое трех текстовых файлов.
Обычно, однако, вы, вероятно, захотите объединить эти текстовые файлы в другой текстовый файл, а не просто вывести результаты на экран. К счастью, это очень просто. Все, что вам нужно сделать, это добавить символ перенаправления вывода ( > ) после списка объединяемых файлов, а затем указать имя конечного текстового файла.
ПРИМЕЧАНИЕ. Файл, указанный после символа перенаправления вывода, будет перезаписан, если он уже существует. Поэтому будьте внимательны при указании имени объединенного текстового файла. Позже в этой статье мы покажем вам, как добавлять файлы в конец существующего файла.
Если вы откроете файл 4.txt (либо с помощью команды cat, либо в текстовом редакторе по вашему выбору), вы обнаружите, что он содержит текст первых трех текстовых файлов.
Если вы объединяете списки элементов из нескольких файлов и хотите расположить их в алфавитном порядке в объединенном файле, вы можете отсортировать объединенные элементы в результирующем файле. Для этого введите базовую команду cat, которую мы вам показывали ранее, а затем команду канала (|) и команду sort. Затем введите символ перенаправления вывода ( > ), а затем имя файла, в который вы хотите скопировать объединенный текст. Все строки текста в результирующем файле будут отсортированы по алфавиту.
Как мы упоминали ранее, существует также способ добавления файлов в конец существующего файла. Введите команду cat, а затем файл или файлы, которые вы хотите добавить в конец существующего файла. Затем введите два символа перенаправления вывода ( >> ), а затем имя существующего файла, в который вы хотите добавить.
Если вы хотите добавить немного нового текста в существующий текстовый файл, используйте команду cat, чтобы сделать это непосредственно из командной строки (вместо открытия в текстовом редакторе). Введите команду cat, за которой следует двойной символ перенаправления вывода ( >> ) и имя файла, в который вы хотите добавить текст.
Курсор появится на следующей строке под подсказкой. Начните вводить текст, который хотите добавить в файл. Когда вы закончите, нажмите Enter после последней строки, а затем нажмите Ctrl+D, чтобы скопировать этот текст в конец файла и закрыть cat.
Если после объединения текстовых файлов у вас получится очень длинный файл, вы можете использовать символ вертикальной черты с командой less при просмотре файла в окне терминала. Например, cat file4.txt | меньше . В этой статье мы обсудим использование команды less.
Команды Linux | |
Файлы | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm |
Процессы | alias · screen · top · nice · renice · прогресс · strace · systemd · tmux · chsh · история · at · пакетное · бесплатное · которое · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · стена · yes · kill · спать · sudo · su · время · groupadd · usermod · группы · lshw · выключение · перезагрузка · halt · poweroff · passwd · lscpu · crontab · date · bg · fg |
Сеть | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · копать · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
- › Как установить Google Play Маркет в Windows 11
- › Почему прозрачные чехлы для телефонов желтеют?
- ›5 шрифтов, которые следует прекратить использовать (и лучшие альтернативы)
- › Как восстановить метки панели задач в Windows 11
- › Почему не было Windows 9?
- › Что означает XD и как вы его используете?
Читайте также: