Командная строка Linux. Полное руководство - [7]
Параметры и аргументы
Мы подошли к очень важному моменту, касающемуся особенностей работы большинства команд. Команды часто сопровождаются одним или несколькими параметрами, изменяющими их поведение, и дополнительными, одним или несколькими, аргументами, на которые воздействует команда. Поэтому большинство команд выглядят примерно так:
>команда -параметры аргументы
Большинство команд используют параметры, состоящие из одного символа, которому предшествует дефис, например: -l. Но многие команды, в том числе команды из проекта GNU, поддерживают параметры с длинными именами, состоящие из слова, которому предшествуют два дефиса. Кроме того, многие команды позволяют объединять вместе параметры с короткими именами. В следующем примере команде ls передаются два параметра: параметр l, требующий использовать длинный (long) формат вывода, и параметр t, требующий сортировать результаты по времени (time) изменения:
>[me@linuxbox ~]$ ls -lt
Добавим параметр с длинным именем --reverse, чтобы изменить порядок сортировки на обратный:
>[me@linuxbox ~]$ ls -lt --reverse
Команда ls имеет огромное число допустимых параметров. Наиболее популярные из них перечислены в табл. 3.1.
Таблица 3.1. Наиболее популярные параметры команды ls
Параметр | Длинный параметр | Описание |
-a | --all | Список всех (all) файлов, даже с именами, начинающимися с точки, которые обычно не выводятся (то есть скрытых) |
-d | --directory | Обычно в присутствии этого параметра команда ls выводит информацию о самом каталоге, а не его содержимое. Используйте этот параметр в сочетании с параметром -l, чтобы получить дополнительную информацию о каталоге, а не о его содержимом |
-F | --classify | Добавляет в конец каждого имени символ-индикатор (например, прямой слеш, если это имя каталога) |
-h | --human-readable | При использовании длинного формата вывода отображает размеры файлов не в байтах, а в величинах с единицами измерения |
-l | Выводит результаты с использованием длинного формата | |
-r | --reverse | Выводит результаты в обратном порядке. Обычно команда ls выводит результаты в алфавитном порядке |
-S | Сортировать результаты по размеру (size) | |
-t | Сортировать результаты по времени (time) последнего изменения |
Пристальный взгляд на длинный формат
Как было показано выше, параметр -l заставляет команду ls выводить результаты с использованием длинного формата. Этот формат предусматривает вывод большого количества полезной информации. Ниже приводится пример вывода содержимого каталога Examples в системе Ubuntu:
>-rw-r--r-- 1 root root 3576296 2012-04-03 11:05 Experience ubuntu.ogg
>-rw-r--r-- 1 root root 1186219 2012-04-03 11:05 kubuntu-leaflet.png
>-rw-r--r-- 1 root root 47584 2012-04-03 11:05 logo-Edubuntu.png
>-rw-r--r-- 1 root root 44355 2012-04-03 11:05 logo-Kubuntu.png
>-rw-r--r-- 1 root root 34391 2012-04-03 11:05 logo-Ubuntu.png
>-rw-r--r-- 1 root root 32059 2012-04-03 11:05 oo-cd-cover.odf
>-rw-r--r-- 1 root root 159744 2012-04-03 11:05 oo-derivatives.doc
>-rw-r--r-- 1 root root 27837 2012-04-03 11:05 oo-maxwell.odt
>-rw-r--r-- 1 root root 98816 2012-04-03 11:05 oo-trig.xls
>-rw-r--r-- 1 root root 453764 2012-04-03 11:05 oo-welcome.odt
>-rw-r--r-- 1 root root 358374 2012-04-03 11:05 ubuntu Sax.ogg
Рассмотрим различные поля для одного из файлов и их назначение (табл. 3.2).
Таблица 3.2. Поля длинного формата вывода команды ls
Поле | Назначение |
-rw-r-r-- | Права доступа к файлу. Первый символ указывает тип файла. Например, символом дефиса обозначаются обычные файлы, а символом d — каталоги. Следующие три символа сообщают о правах доступа для владельца файла, следующие три — для членов группы, которой принадлежит файл, и последние три — для всех остальных. Более полное обсуждение прав доступа приводится в главе 9 |
1 | Число жестких ссылок на файл. Подробнее о ссылках рассказывается в конце этой главы |
root | Имя пользователя, владеющего файлом |
root | Имя группы, владеющей файлом |
32059 | Размер файла в байтах |
2012-04-03 11:05 | Дата и время последнего изменения файла |
oo-cd-cover.odf | Имя файла |
Определение типов файлов командой file
Занимаясь исследованием системы, полезно иметь возможность определять тип содержимого файлов. В этом нам поможет команда file. Как отмечалось выше, имена файлов в Linux не обязаны отражать тип содержимого файлов. Например, увидев имя файла picture.jpg, можно предположить, что он содержит изображение в формате JPEG, но в Linux такие предположения могут не оправдываться. Вызвать команду file можно так:
>file имя_файла
Команда file выводит краткое описание содержимого файла. Например:
>[me@linuxbox ~]$ file picture.jpg
>picture.jpg: JPEG image data, JFIF standard 1.01
Существует множество разных типов файлов. Одна из известных идей в Unix-подобных системах, таких как Linux, гласит: «Все сущее есть файл». По мере чтения книги вы убедитесь в истинности этого утверждения.
Типы многих файлов в вашей системе будут вам знакомы, например файлы MP3 и JPEG, но иногда будут попадаться файлы с малоизвестными и даже странными типами.
Просмотр содержимого файлов командой less
Команда less — это программа для просмотра текстовых файлов. В системе Linux присутствует множество файлов, содержащих обычный, удобочитаемый текст. Программа less предоставляет удобный способ исследовать их содержимое.