В НауЛинукс имеется утилита, которая поможет вам сохранить короткие списки, соединить несколько списков в один и даже получить информацию о системе.
Эта утилита позволяет сливать несколько файлов в один и называется cat, сокращение от
concatenate.
Кроме того, при помощи команды cat можно вывести на экран содержимое указанного файла. Для этого
введите
cat <имя_файла>Перенаправление означает, что система должна использовать файл или устройство, указанное пользователем, вместо стандартного ввода или стандартного вывода.
Чтобы перенаправить стандартный вывод, используйте символ >.
Размещение > после команды cat (или после
любой другой команды, которая выдает результаты своей работы на
стандартный вывод) перенаправит результат ее работы в файл, указанный за
символом >.
Использование команды cat без
аргументов приведет к тому, что все, что вы будете вводить в командной
строке, после нажатия клавиши [Enter] будет еще раз
отображаться на экране:
[user@localhost ~]$ cat
line 1
line 1
line 2
line 2
line 3
line 3Чтобы перенаправить результаты работы команды cat в файл, введите в командной строке
cat > example1.txtПоследующее нажатие клавиши [Enter] приведет к появлению пустой строки.
Введите несколько строк текста. Для перехода к следующей пустой строке
используйте клавишу [Enter], для выхода из
cat используйте комбинацию клавиш
[Ctrl]-[D].
В следующем примере три строки текста перенаправлены в файл с названием
example1.txt:
[user@localhost ~]$ cat > example1.txt
line 1
line 2
line 3Как было сказано выше, команду cat можно использовать, чтобы прочесть файл:
[user@localhost ~]$ cat example1.txt
line 1
line 2
line 3Используем перенаправление вывода для другого файла, назовем его
example2.txt:
[user@localhost ~]$ cat > example2.txt
line a
line b
line cЗатем при помощи команды cat добавим содержимое файла
example2.txt в конец файла example1.txt и перенаправим результат в новый файл с названием
model.txt:
[user@localhost ~]$ cat example1.txt example2.txt > model.txtПросмотрим содержимое файла model.txt с помощью команды cat:
[user@localhost ~]$ cat model.txt
line 1
line 2
line 3
line a
line b
line c![]() | Предостережение |
|---|---|
Будьте осторожны с перенаправлением в файл, так как при этом можно переписать существующий файл! Убедитесь, что имя файла, которое вы задаете, не совпадает ни с каким из существующих файлов, если только вы не хотите заменить содержимое существующего файла. |
Вы можете использовать перенаправление вывода, чтобы добавлять информацию в конец существующего файла. Так же, как при использовании символа >, вы передадите системе указание направить информацию не в стандартный вывод, а в указанный вами файл.
Однако, когда вы используете двойной символ >>, вы добавляете информацию в файл, а не заменяете его содержимое полностью.
Возьмем два уже существующих файла (example1.txt и
example2.txt) и объединим их, используя символ
добавления. Чтобы добавить содержимое файла example2.txt в файл example1.txt, введите:
cat example2.txt >> example1.txtТеперь при помощи команды cat example1.txt просмотрим содержимое последнего файла, и увидим, что содержимое файла
example2.txt было добавлено в конец файла example1.txt:
[user@localhost ~]$ cat example2.txt >> example1.txt
[user@localhost ~]$ cat example1.txt
line 1
line 2
line 3
line a
line b
line c
Введенная нами команда добавила вывод текста из файла
example2.txt к файлу
example1.txt.
Добавляя результаты к уже существующему файлу, а не создавая новый, вы экономите время и немного дискового пространства.
Сравнив содержимое файлов example1.txt и
model.txt, вы увидите, что они идентичны. Чтобы произвести сравнение, введите:
cat example1.txt; cat model.txtНа экран будет выведено содержимое сначала файла
example2.txt, а затем файла model.txt:
[user@localhost ~]$ cat example1.txt; cat model.txt
line 1
line 2
line 3
line a
line b
line c
line 1
line 2
line 3
line a
line b
line c
Для сравнения файлов можно также воспользоваться командой diff:
[user@localhost ~]$ diff example1.txt model.txt
[user@localhost ~]$Поскольку файлы идентичны, работа команды diff закончится выводом на экран приглашения командной строки.
Можно перенаправить не только стандартный вывод, но и стандартный ввод.
Когда вы используете символ перенаправления стандартного ввода <, вы сообщаете оболочке, что входные данные для программы следует брать из указанного вами файла.
Используем уже созданные файлы, чтобы показать, как работает этот механизм. Введите:
cat < example1.txtТак как вы использовали символ меньше (<), чтобы отделить команду
cat от имени файла, команда
cat прочитает содержимое файла example1.txt.
[user@localhost ~]$ cat < example1.txt
line 1
line 2
line 3
line a
line b
line c