Любопытные возможности ls
Команда ls является, пожалуй, одной из самых часто используемых команд, и не без оснований. С ее помощью можно увидеть, что находится в каталоге, и узнать некоторые важные атрибуты файлов и каталогов. Как мы уже видели, чтобы получить список файлов и подкаталогов в текущем рабочем каталоге, достаточно ввести команду ls:
[me@linuxbox ~]$ ls
Desktop Documents Music Pictures Public Templates Videos
Команде можно явно указать каталог, содержимое которого требуется вывести:
me@linuxbox ~]$ ls /usr
bin games kerberos libexec sbin src
etc include lib local share tmp
и даже несколько каталогов. Следующий пример выведет содержимое домашнего каталога пользователя (обозначен символом ~) и каталога /usr:
[me@linuxbox ~]$ ls ~ /usr
/home/me:
Desktop Documents Music Pictures Public Templates Videos
/usr:
bin games kerberos libexec sbin src
etc include lib local share tmp
Можно также изменить формат вывода, чтобы получить больше информации:
[me@linuxbox ~]$ ls -l
total 56
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Desktop
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Documents
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Music
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Pictures
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Public
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Templates
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Videos
Параметр -l, добавленный в команду, требует использования «длинного» (long) формата вывода.
Параметры и аргументы
Мы подошли к очень важному моменту, касающемуся особенностей работы большинства команд. Команды часто сопровождаются одним или несколькими параметрами, изменяющими их поведение, и дополнительными, одним или несколькими, аргументами, на которые воздействует команда. Поэтому большинство команд выглядят примерно так:
команда -параметры аргументы
Большинство команд используют параметры, состоящие из одного символа, которому предшествует дефис, например: -l. Но многие команды, в том числе команды из проекта GNU, поддерживают параметры с длинными именами, состоящие из слова, которому предшествуют два дефиса. Кроме того, многие команды позволяют объединять вместе параметры с короткими именами. В следующем примере команде ls передаются два параметра: параметр l, требующий использовать длинный (long) формат вывода, и параметр t, требующий сортировать результаты по времени (time) изменения:
[me@linuxbox ~]$ ls -lt
Добавим параметр с длинным именем --reverse, чтобы изменить порядок сортировки на обратный:
[me@linuxbox ~]$ ls -lt --reverse
Команда ls имеет огромное число допустимых параметров. Наиболее популярные из них перечислены в табл. 3.1.
Таблица 3.1. Наиболее популярные параметры команды ls