Читать «Linux. От новичка к профессионалу.Денис Колисниченко» онлайн - страница 58

Автор неизвестен

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

echo "some text" > file.txt

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

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 | more

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

less big_text

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

echo у | rm file.txt

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

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

cat file.txt | grep "555-555"

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

глава 4

Файловая система Linux

4.1. Файловые системы,

поддерживаемые Linux

Linux поддерживает много различных файловых систем. Начинающий пользова-тель просто теряется, когда видит такое многообразие выбора, — ведь в качестве корневой файловой системы доступны: ext2, ext3, ext4, XFS, ReiserFS, JFS и еще несколько.