Командная строка Linux - Шоттс Уильям Страница 14
- Категория: Компьютеры и Интернет / Интернет
- Автор: Шоттс Уильям
- Страниц: 113
- Добавлено: 2020-09-16 22:20:50
Командная строка Linux - Шоттс Уильям краткое содержание
Прочтите описание перед тем, как прочитать онлайн книгу «Командная строка Linux - Шоттс Уильям» бесплатно полную версию:Книга Уильяма Шоттса "Командная строка Linux: Полное руководство" представляет обширный обзор «жизни» в командной строке Linux. В отличие от других книг, посвященных одной программе, такой как командный интерпретатор bash, в этой книге автор попытается рассказать, как поладить с интерфейсом командной строки в более широком аспекте. Как он работает? Что можно сделать с его помощью? Как лучше его использовать? Эта книга не об администрировании системы Linux. Эта книга исключительно о Linux. В книге материал излагается в тщательно выверенной последовательности, как в школе, где учитель руководит вами и направляет вас по правильному пути. Многие авторы грешат тем, что подают материал в «систематическом» порядке, имеющем определенный смысл для писателя, но способном вызывать путаницу у начинающих пользователей. Цель данной книги — познакомить вас с идеологией Unix, которая отличается от идеологии Windows.
Командная строка Linux - Шоттс Уильям читать онлайн бесплатно
4 Перевод:
create_floppy_devices (8) - вызов udev для создания всех возможных устройств
накопителей на гибких дисках на основе типа CMOS
fdformat (8) - выполняет низкоуровневое форматирование гибкого диска
floppy (8) - выполняет форматирование гибких дисков
gfloppy (1) - простая программа форматирования гибких дисков для GNOME
mbadblocks (1) - тестирует гибкий диск и помечает плохие
блоки в FAT
mformat (1) - создает файловую систему MSDOS на гибком диске,
отформатированном на низком уровне
5 Перевод:
Файл: coreutils.info, Узел: команда ls, Следующий: команда dir, Up:
Содержимое каталога
10.1 `ls’: выводит содержимое каталога
==================================
Программа `ls’ выводит информацию о файлах (любого типа, включая
каталоги). Параметры и аргументы могут смешиваться произвольно, как
обычно.
Для аргументов без параметров, представляющих каталоги, по умолчанию `ls’
выводит содержимое каталогов нерекурсивно и пропускает файлы с именами,
начинающимися с `.’. Для других аргументов без параметров по умолчанию `ls’
выводит только указанный файл. В отсутствие аргументов без параметров `ls’ выводит содержимое текущего каталога, действуя, как если бы была вызвана с единственным аргументом `.’.
По умолчанию вывод сортируется в алфавитном порядке, согласно
--zz-Info: (coreutils.info.gz)команда ls, 63 строки --Top----------
6. Перенаправление
В этом уроке мы познакомимся с самой крутой возможностью командной строки: перенаправлением ввода/вывода. Благодаря этой возможности мы сможем перенаправлять ввод и вывод команд из файлов и в файлы, а также составлять из команд целые конвейеры. Для демонстрации этой возможности введем в обиход следующие команды:
• cat — объединяет файлы.
• sort — сортирует строки текста.
• uniq — сообщает о повторяющихся строках или удаляет их.
• wc — выводит число символов перевода строки, слов и байтов в каждом указанном файле.
• grep — находит и выводит строки, соответствующие шаблону.
• head — выводит первые строки из файла.
• tail — выводит последние строки из файла.
• tee — читает данные со стандартного ввода и записывает в стандартный вывод и в файлы.
Стандартный ввод, вывод и вывод ошибок
Многие программы, которыми мы уже пользовались, что-нибудь выводят на консоль. Этот вывод часто делится на два типа. Первый — результаты работы программы, то есть данные, для получения которых создавалась программа. Второй — сообщения о состоянии или об ошибках, извещающие нас о самочувствии программы. Например, если взглянуть на вывод программы ls, можно увидеть, что она выводит на экран результаты своей работы и иногда сообщения об ошибках.
Согласно центральной идее Unix, что «все сущее есть файл», такие программы, как ls, в действительности выводят свои результаты в специальный файл, который называется стандартным выводом (standard output, часто обозначается как stdout), а сообщения о состоянии — в специальный файл стандартный вывод ошибок (standard error, stderr). По умолчанию оба файла, стандартный вывод и стандартный вывод ошибок, связаны с экраном и не сохраняются на диске.
Кроме того, многие программы принимают ввод из специального файла с названием стандартный ввод (standard input, stdin), который по умолчанию связан с клавиатурой.
Механизм перенаправления ввода/вывода позволяет изменять направление вывода и ввода. Обычно вывод осуществляется на экран, а ввод — с клавиатуры, но механизм перенаправления ввода/вывода позволяет изменить этот порядок вещей.
Перенаправление стандартного вывода
Механизм перенаправления ввода/вывода позволяет явно указать, куда должен осуществляться стандартный вывод. Чтобы перенаправить стандартный вывод в другой файл вместо экрана, нужно добавить в команду оператор перенаправления > и имя файла. Где это может пригодиться? Иногда полезно сохранить вывод команды в файл. Например, можно сообщить командной оболочке, что она должна направить вывод команды ls в файл ls-output.txt вместо экрана:
[[email protected] ~]$ ls -l /usr/bin > ls-output.txt
Здесь мы создали длинный список содержимого файла /usr/bin и отправили результаты в файл ls-output.txt. Давайте исследуем перенаправленный вывод команды:
[[email protected] ~]$ ls -l ls-output.txt
-rw-rw-r-- 1 me me 167878 2012-02-01 15:07 ls-output.txt
Неплохой файл получился. Если вывести содержимое ls-output.txt с помощью команды less, можно увидеть, что он действительно содержит результаты работы команды ls:
[[email protected] ~]$ less ls-output.txt
Давайте теперь повторим эксперимент с перенаправлением, но с небольшим усложнением: укажем имя несуществующего каталога:
[[email protected] ~]$ ls -l /bin/usr > ls-output.txt
ls: невозможно получить доступ к '/bin/usr': Нет такого файла или каталога
Мы получили сообщение об ошибке. Все логично — мы указали несуществующий каталог /bin/usr, но почему же сообщение появилось на экране, а не было перенаправлено в файл ls-output.txt? Дело в том, что программа ls не выводит сообщения об ошибках в стандартный вывод. Как и многие добропорядочные программы для Unix, она выводит сообщения об ошибках в стандартный поток вывода ошибок. Поскольку мы перенаправили только стандартный вывод, а стандартный вывод ошибок — нет, сообщение об ошибке появилось на экране. Как перенаправить стандартный вывод ошибок, будет показано чуть ниже, но перед этим посмотрим, что произошло с нашим файлом:
[[email protected] ~]$ ls -l ls-output.txt
-rw-rw-r-- 1 me me 0 2012-02-01 15:08 ls-output.txt
Файл очистился! Это объясняется тем, что при перенаправлении вывода с помощью оператора > файл назначения всегда перезаписывается с самого начала. Поскольку команда ls не вывела никаких результатов, а только сообщение об ошибке, оператор перенаправления перезаписал файл, а затем остановился из-за ошибки, что привело к его очистке. Получается, что если вам понадобится очистить какой-нибудь файл (или создать новый, пустой файл), это можно сделать с помощью следующего трюка:
[[email protected] ~]$ > ls-output.txt
Простой оператор перенаправления, без предшествующей ему команды, очистит существующий файл или создаст новый, пустой файл.
Так как же добавить вывод в конец существующего файлa, не затерев его? Для этого используем оператор перенаправления >>:
[[email protected] ~]$ ls -l /usr/bin >> ls-output.txt
Оператор >> просто добавит результаты в конец файла. Если файл не существует, он будет создан, как при использовании оператора >. Давайте протестируем его:
[[email protected] ~]$ ls -l /usr/bin >> ls-output.txt
[[email protected] ~]$ ls -l /usr/bin >> ls-output.txt
[[email protected] ~]$ ls -l /usr/bin >> ls-output.txt
[[email protected] ~]$ ls -l ls-output.txt
-rw-rw-r-- 1 me me 503634 2012-02-01 15:45 ls-output.txt
Мы повторили команду трижды и получили файл втрое большего размера.
Перенаправление стандартного вывода ошибок
Перенаправление стандартного вывода ошибок осуществляется не так просто, как стандартного вывода. Чтобы перенаправить стандартный вывод ошибок, нужно указать его дескриптор файла. Программа может производить вывод в любой из нескольких нумерованных файловых потоков. Первые три из них мы упомянули как стандартный ввод, вывод и вывод ошибок. Командная оболочка ссылается на них как на файловые дескрипторы 0, 1 и 2 соответственно. Командная оболочка поддерживает синтаксис перенаправления файлов с использованием номеров файловых дескрипторов. Так как стандартному выводу ошибок соответствует файловый дескриптор 2, мы можем перенаправить его, как показано ниже:
Жалоба
Напишите нам, и мы в срочном порядке примем меры.