Ls

Материал из Wiki Open book
Перейти к: навигация, поиск

Оглавление

Программа ls может показать:

  • содержимое директории;
  • список файлов;
  • подробную информацию о файлах и т.д.
ls [опции] [файл...]

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

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

ls -a

В файловой системе Linux у файлов нет атрибута «скрытый файл». Принято считать, что если имя файла начинается с точки — то это скрытый файл. К таким файлам можно отнести директории . и .. .

Для того, что бы посмотреть содержимое директории совсем не обязательно сначала переходить в эту директорию. Достаточно явно указать путь к той директории, содержимое которой Вы хотите посмотреть:

ls /etc

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

$ ls -l /etc
итого 1656
-rw-r--r--   1 root root    15067 2002-02-24 23:37 a2ps.cfg
-rw-r--r--   1 root root     2584 2003-10-30 17:21 a2ps-site.cfg
drwxr-xr-x   3 root root     4096 2004-11-05 11:20 acpi/
-rw-r--r--   1 root root       47 2005-05-12 21:30 adjtime
drwxr-xr-x   2 root root     4096 2005-04-04 04:26 apache/
drwxr-xr-x   3 root root     4096 2004-02-24 14:50 apsfilter/
-rw-r--r--   1 root root     6299 2005-02-17 22:47 asound.state
-rw-r--r--   1 root root        0 2003-11-24 03:22 at.deny
-rw-r--r--   1 root root       79 2003-10-14 22:19 bashrc
......
$

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

Затем отображается подробная информация о файлах, один файл — одна строка:

  • Первое поле — в этом поле показаны тип файла и права доступа. Обратите внимание на то, что в Linux права доступа не наследуются. То есть нельзя как в Windows или Novell Netware определить права доступа для директории, которые будут автоматически распространяться на все файлы, которые находятся в этой директории. В Linux у каждого объекта файловой системы права доступа свои и их значение не наследуется.
  • Второе поле — количество ссылок на файл (Имеются в виду жесткие ссылки). Файл существует до тех пор, пока существует хотя бы одна ссылка на него. Что такое ссылка будет рассказано дальше в этой главе.
  • Третье поле — владелец файла. В Linux у каждого файла обязательно должен быть владелец. У файла может быть только один владелец.
  • Четвертое поле — группа, которой принадлежит данный файл. Это тоже особенность Linux — любой файл должен принадлежать группе пользователей. Файл может принадлежать только одной группе пользователей.
  • Пятое поле — размер файла в байтах.
  • Шестое поле — время последней модификации (изменения) файла.
  • Седьмое поле — имя файла.

Какие поля будут выводиться на экран, зависит от параметров, переданных при вызове программы ls.

Если программе был передан параметр –F — тогда после каждого исполняемого файла будет выводиться символ *, после директории символ /, символьной ссылки -> и т.д. Обычно этот параметр передается по умолчанию.

Если Вы хотите получить информацию о конкретном файле, программе ls следует указать путь к интересующему Вас файлу:

ls -l /etc/hosts

Иногда возникает необходимость посмотреть содержимое сразу нескольких директорий. В этом случае, программе ls следует указать пути к этим директориям, разделяя их пробелами.

ls /etc/ssh /etc/ssl

Если необходимо посмотреть содержимое директории и всех поддиректорий, используйте параметр –R (Помните? Большие и маленькие буквы в Linux различаются.):

ls -R /etc

Перечисленные выше опции программы ls определены в стандарте POSIX и могут использоваться в любой POSIX совместимой операционной системе.

В Linux используется вариант программы ls, написанный сообществом GNU. И при ее вызове можно использовать дополнительные параметры.

Среди параметров, свойственных GNU версии программы можно выделить параметр «--color». Он позволяет различные типы файлов выводить различными цветами. Или наоборот, отключать эту возможность.

При использовании параметра --color, требуется указать дополнительный аргумент (Все GNU параметры обязательно начинаются с двух тире «--». Если параметру требуется передавать дополнительный аргумент, он указывается после символа «=».). Можно использовать перечисленные ниже аргументы:

  • none — не использовать цвета при выводе;
  • auto — использовать цвета только в том случае, если программа выводит данные на терминал;
  • always — при выводе всегда использовать цвета.

Какие цвета будут использоваться при выводе, определяет переменная среды окружения LS_COLORS. Чтобы посмотреть ее содержимое, можно выполнить следующую команду:

echo $LS_COLORS

Цифры, которые Вы увидите — это не запись в формате RGB. Для определения цвета используется специальный формат.

Откуда берутся значения переменной LS_COLORS и как определить свои собственные цвета, описано в приложении Цвета программы ls.

В Slackware Linux используется еще одна переменная среды окружения, которая влияет на работу программы ls — LS_OPTIONS. В этой переменной содержатся параметры программы, которые передаются программе по умолчанию. Что бы посмотреть её содержимое можно выполнить следующую команду:

echo $LS_OPTIONS

В других дистрибутивах Linux для передачи параметров по умолчанию используется механизм псевдонимов (aliases), о котором будет рассказано позже.

Источник — «http://kryukov.biz/wiki/Ls»
Инструменты
    
Личные инструменты