ЗНАЕТЕ ЛИ ВЫ?

Команда more - вывести файл на экран порциями



Синтаксис:

more file

Команда more (в отличие от команды cat) позволяет просматривать файлы, заданные аргументами file по страницам.

Установка и изменение прав доступа к файлам (команда chmod)

Синтаксис:

chmod mode file

Команда chmod изменяет атрибуты защиты заданного файла.

Поиск файлов (команда find)

Синтаксис:

find <список_имен> <выражение>

Команда find рекурсивно сканирует все каталоги и подкаталоги, определенные "списком_имен" (одно и более имен каталогов), в поисках файлов, соответствующих булевскому выражению "выражение".

Аргумент "выражение" конструируется их следующих атомарных выражений:

-name file задает файл для поиска. Могут использоваться метасимволы командного языка.

-type c истинно, если тип текущего файла совпадает с "с";

"с" может принимать значения:

b - блок-ориентированный файл;

c - байт-ориентированный файл;

d - каталог;

f - обычный файл;

p - FIFO-файл (именованный программный канал);

Примеры:

-type f

-type d

 

-size n[c] истинно, если размер текущего файла равен n блокам (блок - 512 байтов);

Если после числа указано "с", размер задается в байтах.

Пример:

-size +500 файл размером больше чем 500*512 байтов

-atime n истинно, если был доступ к текущему файлу в последние n дней;

Время доступа к каталогу изменяется в ходе выполнения команды find.

-mtime n истинно, если в последние n дней осуществлялась модификация текущего файла;

Пример

-mtime -3 файл модифицировался менее3-х дней назад

-ctime n истинно, если в последние n дней осуществлялась модификация атрибутов файла;

-newer file истинно, если текущий файл модифицировался позднее файла, указанного в аргументе file.

Ключи-действия (другой тип атомарных выражений):

-print распечатать полное имя файла

-exec command {} \; выполнить команду над файлом

Здесь: command - коанда Unix;

{} - заменяется именем найденного файла;

подстрока command всегда завершается конструкцией "\;"

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

! отрицание;

-o логическое сложение ИЛИ (операция OR);

-a логичекое умножение И (операция AND).

Выход из системы

Для выхода из системы применяются (в зависимости от реализации Unix) команды logout, logoff. Часто (например в реализации FreeBSD) достаточно выполнить встроенную команду интерпретатора команд - exit для выхода из интерпретатора, что ведет к выходу из системы.

 

 

Дополнительные возможности интерпретатора команд: перенаправление ввода-вывода. Конвейеры. Фоновые команды. Группирование команд.

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

Когда в Unix начинает работать команда или программа, автоматически открываются три направления ввода-вывода:

· стандартный ввод;

· стандартный вывод

· стандартный протокол (стандартное устройство для вывода сообщений об ошибках).

Многие команды берут исходные данные из стандартного ввода и печатают результаты в стандартный вывод.

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

Стандартный интерпретатор команд (sh) позволяет изменять первоначально установленные направления ввода-вывода.

Для изменения направления вывода используется операция ‘>’ (знак «больше»):

команда > имя_файла.

Конструкция ‘>>’ позволяет дописать в существующий файл (иначе файл усекается до 0 и запись в него ведется с начала).

Для изменения направления ввода следует использовать операцию ‘<’:

команда < имя_файла.

И, наконец, для изменения направления вывода для стандартного протокола применяют конструкцию ‘2>’:

команда 2> имя_файла.

Здесь цифра 2 указывает дескриптор файла стандартного протокола.

Конвейеры

Интерпретатор командного языка Unix позволяет перенаправлять выход одной команды на вход другой. Для этого служит операция ‘|’ – вертикальная черта.

Примечания. 1). Команды или программы, которые вводят данные со стандартного ввода, а выводят на стандартный вывод – называются фильтрами. 2). Синхронизация работы фильтров в конвейере производится ядром ОС Unix.

вариант с конвейером:

%ls –l | wc

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

Фоновые команды

При работе с операционной системой в режиме командной строки пользователь после подсказки операционной системы (% или $) вводит очередную команду и дожидается завершения работы команды. Затем после подсказки операционной системы вводится следующая команда.

В ОС Unix можно указать выполнение команды в «фоновом» режиме. Для этого необходимо после команды через пробел набрать символ ‘&’.

«Попросим» компилятор языка Си изготовить исполняемый файл (см. раздел 3.7) в фоновом режиме.

%cc prog.c & запуск программы cc в фоновом режиме
№ процесса, который выполняет процесс cc (выводится для контроля за его работой)
% подсказка операционной системы

Теперь можно вводить новую команду (в то время как программа выполняется в фоновом режиме).

Группирование команд

Если последовательность команд, которую вы собираетесь ввести, вам хорошо известна, можно ввести их в одной строке, разделяя точкой с запятой:

%ls –l > file; wc < file; rm file

Для группирования команд используются и другие способы. Один из них – применение круглых скобок:

%(cd /usr/a; cat a.c)

Здесь запускается субинтерпретатор sh, затем выполняются команды в скобках и по закрывающей круглой скобке происходит возврат в текущий каталог.

 





Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.238.107.166 (0.007 с.)