Вход/Регистрация
Linux
вернуться

Стахнов Алексей Александрович

Шрифт:

Стандартный ввод/вывод, перенаправление

Во многих операционных системах существует понятие стандартного устройства ввода, стандартного устройства вывода и стандартного устройства отображения ошибок. Эти устройства можно задать самостоятельно. По умолчанию используется клавиатура и терминал. Концепция стандартного ввода/вывода очень удобна для автоматизации ввода/вывода.

Для перенаправления стандартного ввода используется символ перенаправления <. Пример использования перенаправления ввода:

mysql <2.sql

Передает программе mysql данные, содержащиеся в файле 2.sql.

Для перенаправления стандартного вывода используются символы перенаправления > и». В чем их отличие? Символ > не проверяет наличие файла, в который сохраняется стандартный вывод программы. Если такой файл существует, то его содержимое полностью заменяется выводом программы. Символ» проверяет существование файла, и если он существует, то вывод программы дописывается в конец существующего файла.

Примеры:

df > 1.txt Is -A >> 1.txt

Операции перенаправления ввода/вывода можно использовать одновременно.

Конвейер (поток)

Конвейер (поток, pipe) используется для объединения нескольких команд в одной операции. Обозначается символом |. Применяется для передачи стандартного вывода одной программы на стандартный ввод другой программы. В одной командной строке можно использовать несколько операций конвейера.

Пример:

Is | grep

Команды

Операционная система Linux очень многое наследует от UNIX, в том числе и большую часть команд и утилит. Конечно, эти команды адаптированы и усовершенствованы, но, тем не менее, в целом они сохранили синтаксис соответствующих команд UNIX. Поэтому, по большому счету, не важно, в чем вы работаете: в UNIX или в Linux – система команд на 98 % совпадает. Далее мы рассмотрим наиболее часто используемые команды и утилиты. Обратите внимание – наиболее часто используемые. Это означает, что в данной главе упоминаются далеко не все команды и утилиты. Никакая самая объемистая книга не отменяет команду man, документацию и файлы HOWTO. За время написания любой книги выходят новые версии программ, и зачастую их возможности кардинально изменяются. Эта глава является обзорной, поэтому в описании команд не всегда (или не в полном объеме) приводятся ключи и параметры вызова.

Дата, время

cal

Команда cal выводит на консоль календарь. Если не указаны параметры – выводится календарь на текущий месяц. Если указывается месяц и год – выводится календарь на соответствующий месяц, а если указывается только год – выводится календарь на соответствующий год.

Пример:

cal

Октябрь 2001

date

Команда date выводит текущие дату и время в указанном формате. Так же эта команда позволяет изменять системные дату и время.

Параметры:

• + – формат отображения времени и даты в указанном формате;

• -s – установка времени и даты;

• -u – вывод времени и даты по Гринвичу.

При установке даты и времени можно указывать их как в числовом, так и в нечисловом формате. При использовании числового формата строка данных представляется в следующем виде:

MMddhhmmyy

где:

• MM – месяц;

• dd – день;

• hh – часы;

• mm – минуты;

• уу – две последние цифры года.

Пример:

date Сбт Окт 6 19:57:30 EEST 2001

Более подробную информацию можно получить по команде man date.

Файлы и каталоги

В этом разделе представлены команды и утилиты, которые напрямую взаимодействуют с файлами и каталогами.

Административные команды Здесь собраны команды, которые отвечают за «административную работу» с файлами и каталогами.

chgrp

Команда chgrp изменяет группу каждого заданного файла на группу, которая может быть представлена как именем группы, так и ее числовым идентификатором (GID).

Более подробную информацию можно получить по команде man chgrp.

chmod

Команда chmod изменяет права доступа файла в соответствии с правами доступа, указанными в параметре, который может быть представлен как в символьном виде, так и в виде восьмеричного числа.

Формат символьного режима:

[ugoa…][[+-=][rwxXstugo…]…][,…]

Здесь каждый аргумент – это список символьных команд изменения прав доступа, разделенных запятыми. Каждая такая команда начинается с какой-нибудь из букв ugoa (впрочем, букв может вообще не быть) или их комбинации, которая указывает, чьи права доступа к файлу будут изменены:

• u – владельца;

• g – группы;

• о – других пользователей, не входящих в данную группу;

• а – всех пользователей. Буква а эквивалентна ugo. В том случае, если не задана ни одна буква, то будет использоваться буква а;

• + – добавляет выбранные права доступа к уже имеющимся;

• – – удаляет эти права;

• = – присваивает только эти права файлу.

Буквы rwxXstugo выбирают новые права доступа для пользователя, заданного одной из букв ugoa:

• r – чтение;

• w – запись;

• х – выполнение;

• X – выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя;

• S – setuid– или setgid-бит;

• t – sticky-бит;

• u – установка для остальных таких же прав доступа, какие имеет пользователь, владеющий этим файлом;

• g – установка для остальных таких же прав доступа, какие имеет группа файла;

• о – установка для остальных таких же прав доступа, какие имеют остальные пользователи.

Установка sticky-бита для каталога приводит к тому, что только владелец файла и владелец этого каталога могут удалять файл из каталога.

В операционной среде Linux, если на файле установлен бит setgid, но не установлен бит выполнения группой, то блокировки этого файла становятся жесткими (mandatory), в отличие от обычных – информационных (advisory). Подробная информация по этому вопросу находится в файле /usr/src/linux/Documentation/mandatory.txt.

Числовой режим состоит из четырех восьмеричных цифр, которые складываются из битовых масок 4, 2 и 1. Любые пропущенные разряды дополняются лидирующими нулями:

• первая цифра выбирает установку идентификатора пользователя – setuid (4), идентификатора группы – setgid (2) или sticky-бита (1);

• вторая цифра выбирает права доступа для пользователя, владеющего данным файлом: чтение (4), запись (2) и выполнение (1);

• третья цифра выбирает права доступа для пользователей, входящих в группу;

• четвертая цифра выбирает права доступа для остальных пользователей, не входящих в группу.

Эту команду может применять либо владелец файла, либо пользователь root. Более подробную информацию можно получить по команде man chmod.

chown

Команда chown изменяет владельца и/или группу для заданного файла.

В качестве имени владельца/группы берется первый аргумент, не являющийся опцией. Если задано только имя пользователя (или его числовой идентификатор), то данный пользователь становится владельцем каждого из указанных файлов, а группа этих файлов не изменяется. Если за именем пользователя через двоеточие следует имя группы (или числовой идентификатор группы) без пробелов между ними, то изменяется также и группа файла. Если двоеточие стоит за именем пользователя, но группа не задана, то данный пользователь становится владельцем указанных файлов, а группа указанных файлов изменяется на основную группу пользователя. Если опущено имя пользователя, а двоеточие или точка вместе с группой заданы, то будет изменена только группа указанных файлов.

Как и предыдущие команды, ее может применять либо владелец файла, либо пользователь root.

chroot Команда chroot используется только пользователем root, который с помощью команды

chroot имя_каталога

делает каталог корневым каталогом. Эта команда используется администратором для повышения безопасности системы. Более подробную информацию можно получить по команде man chroot.

lockflle Команда lockfile используется для создания специальных семафорных файлов.

mknod

Команда mknod создает именованный канал (FIFO), специальный символьный или специальный блочный файл (файл устройства).

Специальный файл именуется с помощью тройки параметров: один логический и два целых. Логический параметр говорит о том, является ли специальный файл символьным или блочным. Два целых параметра задают старший и младший номера устройства.

Специальный файл практически не занимает места на диске и используется только для общения с операционной системой, а не для хранения данных. Часто специальные файлы указывают на аппаратные устройства или на службы операционной системы.

Специальные блочные файлы обычно являются устройствами, подобными диску. Все другие устройства являются специальными символьными файлами.

Аргумент, следующий за именем, задает тип файла, который нужно создать:

• р – для FIFO;

• b – для блочного специального файла;

• с – для символьного специального файла.

В файле /usr/src/linux/Documentation/devices.tex находится список устройств, где есть имена устройства, тип, старший и младший номер.

Более подробную информацию можно получить по команде man mknod.

Общие команды В этом разделе собраны команды, тем или иным способом воздействующие на файлы и каталоги.

  • Читать дальше
  • 1
  • ...
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: