Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
24
Добавлен:
05.06.2015
Размер:
168.01 Кб
Скачать

22. Дайте определение следующим терминам: команда, опция и параметр. Назначение команды ls, расширенный вывод данных по команде ls, приведите основные опции команды. Использование команды совместно с метасимволами.

Команды командного интерпретатора

̶ Интерфейсом командного интерпретатора является интерфейс командной строки, в которой вводится команда совместно с опциями, параметрами и действиями.

̶ Опция – это предваряемый дефисом символ, состоящий из одной буквы, который модифицирует работу команды.

̶ Параметр – это слово, которое вводится в командной строке после команды, а при наличии опций – после опций.

Команды записываются в виде

команда -опции параметры

ls

ls - отображение объектов файловой системы, например, ls –la /home;

ls –F Выводит список имен файлов и каталогов, ставя после имени каталога косую черту;

ls –R Выводит содержимое рабочего каталога со всеми его подкаталогами

Метасимволы

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

Символ

Функция

* ? [ ]

Эти метасимволы позволяют указывать сокращенные имена файлов при поиске по шаблону

&

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

;

Точка с запятой разделяет команды в командной строке

\

Отменяет специальное значение символов, таких как *, ?, [, ], &, ;, <, >, |

'...'

Одиночные кавычки отменяют значение пробела как разделителя и специальное значение всех символов

"..."

Двойные кавычки отменяют значение пробела как разделителя и специальное значение всех символов, за исключением $ и \

>

Перенаправляет вывод команды в файл

<

Перенаправляет ввод для команды из файла

>>

Перенаправляет вывод команды, который должен быть добавлен в конец существующего файла

|

Создает канал, направляющий вывод одной команды во ввод другой команды

`...`

Используется в паре; позволяет использовать вывод команды как аргументы в командной строке

$

Используется с позиционными параметрами и определенными пользователем переменными; также используется по умолчанию в качестве подсказки shell

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

В командном интерпретаторе используется ряд специальных символов, называемых групповыми символами, с помощью которых файлы можно искать, сравнивать, а также создавать список имен файлов. Этими символами являются «звездочка», «вопросительный знак» и квадратные скобки ( *, ?, [ ] ). Получив частичное имя файла, командный интерпретатор использует эти символы как образец для поиска и формирования cписка имен обнаруженных файлов. Параметр с неполным именем файла заменяется списком совпавших с ним имен файлов. Этот список имен может использоваться как параметр в командах, оперирующих с несколькими файлами (например, ls).

С помощью «звездочки» (*) можно обращаться к файлам, имена которых на­чинаются или заканчиваются определенной комбинацией символов. При этом «звездочка» поме­щается до или после комбинации, являющейся образцом, который нужно найти в именах файлов. Если «звездочка» стоит перед образцом, производится поиск всех файлов, имена которых заканчиваются этим образцом. Если «звездочка» стоит после образца, то производится поиск имен файлов, которые начинаются этим образцом. Найденные имена копируются в список имен файлов, создаваемый посредством данной операции.

В следующем примере осуществляется поиск имен файлов, начинающихся комбинацией символов «BMT», и составляется соответствующий список.

Имена файлов часто содержат расширения, состоящие из точки и нескольких символов. Например, расширение .cmd обозначает командные файлы САПР, .par файлы с электрофизическими параметрами САПР, .dat – файл с данными для визуализатора PICASSO, .log файл с комментариями текстового сопровождения выполнения приложений, .txt текстовые файлы, .с файлы языка С, .срр файлы программ C++, a .jpg файлы изображений JPEG. Расширение имени файла не является обязательным, не может применяться отдельно от имени и должно составлять часть имени файла. Использование символа «звездочки» облегчает выделение файлов с данным расширением.

Групповой символ «звездочки» можно использовать с командой rm для удаления сразу не­скольких файлов. Сначала с помощью «звездочки» задается список файлов с данным расширением, либо начинающихся, либо заканчивающихся данной комбинацией символов, а затем этот список передается команде rm для удаления. Если в командной строке поставить «звездочку» без дополнительных символов, то это будет соответствовать всем файлам. Если исполь­зовать ее как параметр в команде rm, то будут удалены все файлы. В следующем примере команда ls * выдает список всех файлов, а команда rm * удаляет все файлы:

[antonk@lab4236sl ~]$ ls *

1 3.txt BMT_dio.cmd c.c te cplot.phy

l.txt 4.txt BMT_mdr.dat d.c tecswb.pref

2 5.txt BMT_mdr.grd dessis.par vnc2swf-0.5.0.tar.gz

2.txt BMT.log a.c pyvnc2swf-0.8.2.tar.gz

3 BMT_des.cmd b.c script

DBtest:

genesis_layout_antonk.X-2005.10 inspect_macro.par

inspect_layout_antonk.X-2 0 0 5.10

Desktop:

TCL_License.terms bin tcad

temp:

a.c b.c c.c d.c list

[antonk@lab4236sl ~]$

Символом * в команде rm следует пользоваться очень осторожно и осмотрительно. Такая комбинация может оказаться весьма опасной. «Звездочка», по ошибке поставленная в команде rm без опции -i, может привести к случайному удалению всех ваших файлов в текущей директории.

[antonk@lab4236sl ~]$ rm *

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

[antonk@lab4236sl ~]$ rm *.c

Далее покажем вывод всех файлов, имена которых начинаются на комбинацию символов «BMT».

[antonk@lab4236sl ~]$ ls BMT*

BMT.log BMT_des.cmd BMT_dio.cmd BMT_mdr.dat BMT_mdr.grd

[antonk@lab4236sl ~]$

Групповые символы «звездочка» и «знак вопроса» задают неуказанные части имени файла, а «квадратные скобки» позволяют задавать набор допустимых символов для поиска. Система будет искать в имени файла любой из этих символов.

Набор символов можно задавать в виде диапазона. Дефис между верхним и нижним пределами набора символов позволяет указать сразу на все символы в данном диапазоне. Диапазон, как правило, определяется используемым набором символов. В наборе сим­волов ASCII диапазон [a-g] означает все строчные буквы от а до g включительно. В следующем примере выбираются имена файлов, имеющих в своем названии один символ с первого по четвёртый включительно.

[antonk@lab4236sl ~]$ ls [1-4]

1 2 3

[antonk@lab4236sl ~]$

При комбинации «квадратных скобок» с другими групповыми символами можно формировать очень гибкие шаблоны поиска по образцу. Иногда групповой символ входит в состав имени файла. В этом случае перед ним нужно поставить обратную косую черту [ \ ].

В следующем примере пользователю нужно обозначить файл, который начинается на три фиксированные буквы «bmt» и заканчивается символом «?». Здесь ? – групповой символ, который обозначит все имена файлов, начинающиеся комбинацией букв «bmt» и имеющие далее один символ. Если спецсимвол обратной косой черты перед знаком вопроса не поставить, то отобразятся все файлы, имеющие сначала комбинацию букв «bmt», а затем один любой произвольный символ, а если спецсимвол обратной косой черты стоит, то отобразится только тот файл, который в имени имеет сначала «bmt», а затем только знак вопроса. Ниже приведен пример, в котором шаблон формируется сначала нправильно, а затем правильно.

[antonk@lab4236s ~]$ ls -l bmt?

-rw-rw-r– 1 antonk antonk 0 Sep 21 15:11 bmtl

-rw-rw-r– 1 antonk antonk 0 Sep 21 15:11 bmt2

-rw-rw-r– 1 antonk antonk 0 Sep 21 15:11 bmt3

-rw-rw-r– 1 antonk antonk 42 Sep 21 15:11 bmt?

[antonk@lab4236s ~]$ ls -l bmt\?

-rw-rw-r– 1 antonk antonk 42 Sep 21 15:11 bmt?

[antonk@lab4236s ~]$

NAME

ls - list directory contents

SYNOPSIS

ls [OPTION]... [FILE]...

DESCRIPTION

List information about the FILEs (the current directory by default).

Sort entries alphabetically if none of -cftuvSUX nor --sort.

Mandatory arguments to long options are mandatory for short options

too.

-a, --all do not ignore entries starting with .

-A, --almost-all do not list implied . and ..

--author with -l, print the author of each file

-b, --escape print octal escapes for nongraphic characters

--block-size=SIZE use SIZE-byte blocks

-B, --ignore-backups do not list implied entries ending with ~

-c with -lt: sort by, and show, ctime (time of last modification of file status information) with -l: show ctime and sort by name otherwise: sort by ctime

-C list entries by columns

--color[=WHEN] control whether color is used to distinguish file types. WHEN may be `never', `always', or `auto'

-d, --directory list directory entries instead of contents, and do not dereference symbolic links

-D, --dired generate output designed for Emacs' dired mode

-f do not sort, enable -aU, disable -lst

-F, --classify append indicator (one of */=>@|) to entries

--file-type likewise, except do not append `*'

--format=WORD across -x, commas -m, horizontal -x, long -l, single-column -1, verbose -l, vertical -C

--full-time like -l --time-style=full-iso

-g like -l, but do not list owner

-G, --no-group like -l, but do not list group

-h, --human-readable with -l, print sizes in human readable format (e.g., 1K 234M 2G)

--si likewise, but use powers of 1000 not 1024

-H, --dereference-command-line

follow symbolic links listed on the command line

--dereference-command-line-symlink-to-dir

follow each command line symbolic link that points to a directory

--hide=PATTERN do not list implied entries matching shell PATTERN (overridden by -a or -A)

--indicator-style=WORD

append indicator with style WORD to entry names: one (default), slash (-p), file-type (--file-type), classify (-F)

-i, --inode with -l, print the index number of each file

-I, --ignore=PATTERN do not list implied entries matching shell PATTERN

-k like --block-size=1K

-l use a long listing format

-L, --dereference when showing file information for a symbolic link, show information for the file the link references rather than for the link itself

-m fill width with a comma separated list of entries

-n, --numeric-uid-gid like -l, but list numeric user and group IDs

-N, --literal print raw entry names (don't treat e.g. control characters specially)

-o like -l, but do not list group information

-p, --indicator-style=slash

append / indicator to directories

-q, --hide-control-chars print ? instead of non graphic characters

--show-control-chars show non graphic characters as-is (defaultunless program is `ls' and output is a terminal)

-Q, --quote-name enclose entry names in double quotes

--quoting-style=WORD use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape

-r, --reverse reverse order while sorting

-R, --recursive list subdirectories recursively

-s, --size with -l, print size of each file, in blocks

-S sort by file size

--sort=WORD extension -X, none -U, size -S, time -t, version -v, status -c, time -t, atime -u, access -u, use -u

--time=WORD with -l, show time as WORD instead of modification time: atime, access, use, ctime or status; use specified time as sort key if --sort=time

--time-style=STYLE with -l, show times using style STYLE: full-iso, long-iso, iso, locale, +FORMAT. FORMAT is interpreted like `date'; if FORMAT isFORMAT1<newline>FORMAT2, FORMAT1 applies to non-recent files and FORMAT2 to recent files; if STYLE is prefixed with `posix-', STYLEtakes effect only outside the POSIX locale

-t sort by modification time

-T, --tabsize=COLS assume tab stops at each COLS instead of 8

-u with -lt: sort by, and show, access time; with -l: show access time and sort by name; otherwise: sort by access time

-U do not sort; list entries in directory order

-v sort by version

-w, --width=COLS assume screen width instead of current value

-x list entries by lines instead of by columns

-X sort alphabetically by entry extension

-1 list one file per line

SELINUX options:

--lcontext Display security context. Enable -l. Lines will probably be too wide for most displays.

-Z, --context Display security context so it fits on most displays. Displays only mode, user, group, security context and file name.

--scontext Display only security context and file name.

--help display this help and exit

--version output version information and exit

Соседние файлы в папке KTNI_Kozlov_otvety