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