Перенаправление ввода/вывода

от автора

в

С помощью перенаправления ввода/вывода мы можем перенаправить вывод одной программы в файл или на стандартный ввод другой программы.

Например, у вас не получается настроить сеть, и вы хотите перенаправить вывод команды ifconfig в файл, а затем разместить этот файл на форуме, где вам помогут разобраться с проблемой. А можно командой ps -ах перенаправить список всех процессов команде grep, которая найдет в списке интересующий вас процесс.
Рассмотрим следующую команду:

echo "some text " > file . txt

Символ > означает, что вывод команды, находящейся слева от этого символа, будет записан в файл, находящийся справа от символа, при этом файл будет перезаписан.
Чуть ранее мы говорили о перенаправлении вывода программы i fconfig в файл.
Команда будет выглядеть так:

ifconfig > ifconfig . txt

Если вместо > указано », то исходный файл не будет перезаписан, а вывод команды добавится в конец файла:

echo «some text» > file.txt

echo «more text» >> file.txt

cat file . txt

some text

more text

Кроме символов > и >> для перенаправления ввода/вывода часто употребляется вертикальная черта | .

Предположим, что мы хотим вывести содержимое файла Big_text:

cat Big_text

Но в файле Big_text много строк, они быстро проскочат по экрану, и мы ничего не успеем прочитать.

Следовательно, целесообразно отправить вывод команды cat какой-то программе, которая будет выводить файл на экран постранично, например:

cat Big_text I more

Конечно, этот пример не очень убедительный, потому что для постраничного вывода гораздо удобнее команда less:

less Big_text 

Вот еще один интересный пример. Допустим, мы хотим удалить файл file.txt без запроса -для этого можно указать команду:

echo у I rm file.txt 

Команда rm запросит подтверждение удаления (нужно было бы нажать клавишу <У>), но за нас это сделает команда echo.

И еще один пример. Пусть имеется большой файл, и нам нужно найти в нем все строки, содержащие подстроку 555-555. Чтобы не делать это вручную, можно воcпользоваться командой:

cat file . txt I grep "555-555"

Надеюсь, приведенная в этом разделе информация сделает вашу работу в командной строке максимально комфортной.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Аватар пользователя yuliaadmin

Об авторе


Поиск по сайту


Полезные ссылки

Ссылки, которые я считаю полезными и хочу поделиться.