ls

Поделись знанием:
Перейти к: навигация, поиск

ls (dir, vdir) — утилита Unix, которая печатает в стандартный вывод содержимое каталогов.





Синтаксис

ls [опции] [файл…]
dir [файл…]
vdir [файл…]

Описание

Команда ls сначала выводит список всех файлов (не каталогов), перечисленных в командной строке, а затем выводит список всех файлов, находящихся в каталогах, перечисленных в командной строке. Если не указано ни одного файла, то по умолчанию аргументом назначается . (текущий каталог). Опция -d заставляет ls не считать аргументы-каталоги каталогами. Будут отображаться только файлы, которые не начинаются с . или все файлы, если задана опция -a.

Каждый список файлов (для файлов, которые не являются каталогами и для каждого каталога, содержащего список файлов) сортируется отдельно в алфавитной последовательности текущих региональных настроек (locale). Когда указана опция -l, то перед каждым списком выводится итоговая строка с общим размером всех файлов в списке, который измеряется в блоках (размер блока по умолчанию 1024 байта, и может быть изменен с помощью опции --block-size).

Результаты печатаются на стандартный вывод, по одному файлу на строку, если с помощью опции -C не задан многоколоночный вывод. Однако при выводе на терминал не определено, будет ли вывод осуществляться в одну колонку или в несколько. Для задания одноколоночного или многоколоночного режима вывода могут использоваться опции -1 и -C, соответственно.

Получить список каталогов в текущем каталоге можно при помощи команды:

ls -F | grep / | sed 's/\///g' 
#или так 
ls -d */
#наконец дерево катологов рекурсивно
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'

Ключи POSIX

-C — напечатать список файлов в колонках с вертикальной сортировкой.

-F — для каждого имени каталога добавлять суффикс `/', для каждого имени FIFO — `|' и для каждого имени исполняемого файла `*'.

-R — включить рекурсивную выдачу списка каталогов.

-a — включать в список файлы с именем, начинающимся с точки (показывать скрытые файлы).

-c — использовать при сортировке (при задании опции -t или -l) время изменения состояния файла вместо времени последней модификации файла.

-d — выдавать имена каталогов, как будто они обычные файлы, вместо того, чтобы показывать их содержимое.

-i — предварять вывод для каждого файла его серийным номером (номером inode).

-l — выдавать (в одноколоночном формате) тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла (в байтах), временной штамп и имя файла.

Типы файлов могут принимать следующие значения: - для обычного файла, d для каталога, b для блочного устройства, c для символьного устройства, l для символической ссылки, p для FIFO и s для гнезда (socket).

По умолчанию, временной штамп является временем последней модификации; опции -c и -u позволяют выбрать два других временных штампа. Для файлов устройств, поле размера обычно заменяется на старший и младший номера устройства.

-q — вместо непечатаемых символов в имени файла при выводе будут ставиться знаки вопроса. (Эта опция включена по умолчанию при выводе на терминал.)

-r — производить сортировку в обратном порядке.

-t — сортировать по показываемому временному штампу.

-u — использовать при сортировке (опция -t) или перечислении (опция -l) время последнего доступа к файлу вместо времени последней модификации файла.

-1 — выдавать в одноколоночном формате.

— завершает список ключей.

Подробности версии GNU

Если стандартный вывод является терминалом, то вывод производится в многоколоночном формате (с вертикальной сортировкой).

Ключи GNU

-1, --format=single-column — выдавать один файл на строку. Эта опция включается по умолчанию, если стандартный вывод не является терминалом.

-a, --all — выдавать все файлы в каталогах, включая скрытые файлы, начинающиеся с точки.

-b, --escape, --quoting-style=escape — Заменять неграфические символы в именах файлов, используя алфавитно-цифровые последовательности, а также последовательности вида -Q, за исключением того, что имена файлов не заключаются в двойные кавычки.

-c, --time=ctime, --time=status — сортировать содержимое каталога в соответствии с временем изменения состояния файла (поле `ctime' в inode). Если с помощью опции -l задан длинный формат, то выдавать время изменения состояния файла вместо времени его модификации.

-d, --directory — выдавать имена каталогов, как будто они обычные файлы, вместо того, чтобы показывать их содержимое.

-f — не сортировать содержимое каталога; выдавать файлы в том порядке, в котором они записаны на диск. Эта опция также разрешает -a и -U и запрещает -l, --color, -s, и -t, если они были заданы перед -f.

-g — игнорируется; нужна для совместимости с Unix.

-h, --human-readable — добавлять к каждому размеру файла букву размера, например, M для двоичных мегабайт (`мебибайт'). (Новое в fileutils-4.0.)

-i, --inode — выдавать номер inode (также называемый серийным номером файла и номером индекса) каждого файла, слева от его имени. (Этот номер однозначно идентифицирует каждый файл в каждой файловой системе)

-k, --kilobytes — если выдаются размеры файлов, то выдавать их в килобайтах.

-l, --format=long, --format=verbose — в дополнении к имени каждого файла, выводятся тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла в байтах и временной штамп (время последней модификации файла, если не задано другое). Для файлов с временем больше чем 6 месяцев назад или больше, чем 1 час в будущее, временной штамп содержит год вместо времени дня.

Каждый каталог со списком содержимого предваряется строкой `total blocks', где blocks — это общее дисковое пространство, используемое всеми файлами в данном каталоге. По умолчанию, размер блока составляет 1024 байта; если установлена переменная окружения POSIXLY_CORRECT , то используется размер блока 512 байт (если не задана опция -k). blocks считает каждую жёсткую ссылку отдельно; задать по другому через аргументы невозможно. Права доступа отображаются в практически обычном символьном виде, но ls комбинирует несколько битов в третий символ каждого набора прав доступа:

  • s — setuid или setgid бит установлены вместе с соответствующим битом прав на выполнение.
  • S — setuid или setgid бит установлены, но соответствующий бит прав на выполнение не установлен.
  • t — sticky-бит установлен вместе с битом прав на выполнение остальными.
  • T — sticky-бит установлен, но бит прав на выполнение остальными нет.
  • x — бит прав на выполнение установлен, и не выполняется ни одно из вышеуказанных условий.
  •  — Во всех остальных случаях.

-m, --format=commas — выдавать список файлов в строчку с максимально возможным количеством имён файлов на строку, разделяя имена запятой и пробелом.

-n, --numeric-uid-gid — выдавать числовые UID и GID вместо имён владельца и группы.

-o — применять длинный формат, но не показывать информацию о группе. Данная опция эквивалентна --format=long --no-group и предоставляется для совместимости с другими версиями ls.

-p, --file-type, --indicator-style=file-type — добавлять символ, показывающий тип файла, к каждому имени файла. Данная опция похожа на -F, за исключением того, что исполняемые файлы не помечаются. (Фактически в fileutils-4.0 опция --file- type эквивалентна --classify.)

-q, --hide-control-chars — выдавать знаки вопроса вместо неграфических символов в имени файла. Эта опция включена по умолчанию.

-r, --reverse — сортировать содержимое каталога в обратном порядке.

-s, --size — выдавать размер каждого файла в блоках по 1024 байта слева от имени файла. Если установлена переменная окружения POSIXLY_COR- RECT, то применяется размер блока 512, если не задана опция -k .

-t, --sort=time — сортировать по времени последней модификации (поле `mtime' в inode) вместо того, чтобы производить сортировку по алфавиту. Самые свежие файлы будут отображаться первыми.

-u, --time=atime, --time=access, --time=use — сортировать по времени последнего доступа к файлу, вместо времени последней модификации (поле `atime' в inode). Если задан длинный формат вывода, выдавать время последнего доступа вместо времени последней модификации.

-v — производить сортировку в соответствии с номером версии файлов. При этом учитывается, что имена файлов часто содержат номера версий или порядковые номера. Стандартные функции сортировки обычно не обеспечивают сортировку, которую мог бы ожидать человек, так как сортировка производится на основе посимвольного сравнения. Сортировка по версиям решает эту проблему и особенно полезна, когда производится просмотр каталогов, содержащих много файлов, у которых в имени есть номер версии. Например:

           > ls -1            > ls -1v
           foo.zml-1.gz       foo.zml-1.gz
           foo.zml-100.gz     foo.zml-12.gz
           foo.zml-12.gz      foo.zml-25.gz
           foo.zml-25.gz      foo.zml-100.gz

Цифровые части с лидирующими нулями определяются как более маленькие:

            > ls -1            > ls -1v
            abc-1.007.tgz      abc-1.007.tgz
            abc-1.012b.tgz     abc-1.01a.tgz
            abc-1.01a.tgz      abc-1.012b.tgz

-w, --width cols — назначает вывод на экран в cols колонок. По умолчанию, если это возможно, данное значение узнается от драйвера терминала; в противном случае используется значение переменной окружения COLUMNS, если она установлена; в противном случае, по умолчанию, устанавливается 80.

-x, --format=across, --format=horizontal — выдавать список файлов в многоколоночном режиме, с сортировкой по горизонтали.

-A, --almost-all — выдавать все файлы, кроме `.' и `..'.

-B, --ignore-backups — не показывать файлы, которые заканчиваются на `~', если они не заданы в командной строке.

-C, --format=vertical — выдавать файлы в многоколоночном режиме, с сортировкой по вертикали. Опция устанавливается по умолчанию, если стандартный вывод является терминалом. Данная опция всегда устанавливается по умолчанию для программ dir и d.

-D, --dired — при длинном формате (-l), после основного вывода, выдавать дополнительную строку вида: //DIRED// BEG1 END1 BEG2 END2 …

Здесь BEGn и ENDn — это целые беззнаковые числа, которые для каждой записи показывают байтовую позицию начала и конца каждого имени файла. Таким образом, Emacs может легко найти имена, даже когда они содержат необычные символы, такие как пробелы или символы новой строки.

Если каталоги отображаются рекурсивно (-R), то похожая строка выводится после каждого подкаталога: //SUBDIRED// BEG1 END1 …

-F, --classify, --indicator-style=classify — добавлять к каждому имени файла символ, показывающий его тип. Для обычных исполняемых файлов это `*'. Для каталога добавляется `/', для FIFO — `|', для символических ссылок `@', для гнёзд `=', для обычных файлов ничего не добавляется.

-G, --no-group — не отображать информацию о группе в длинном формате вывода.

-H, --si — делает то же, что и опция -h, но использует официальные единицы измерения СИ (где для расчётов используется 1000 вместо 1024 и, таким образом, M — это 1000000 вместо 10485576). (Новое в fileutils-4.0.)

-I, --ignore=шаблон — не показывать файлы, имена которых совпадают с заданным шаблоном (шаблон — это не регулярное выражение), если только они не заданы в командной строке. Как и в shell, начальная `.' в имени файла не совпадает с символом `*', заданным в начале шаблона.

-L, --dereference — выдавать информацию о файлах, на которые указывают символические ссылки, вместо информации о самих символических ссылках.

-N, --literal — не заключать в кавычки имена файлов.

-Q, --quote-name, --quoting-style=c — заключать имена файлов в двойные кавычки и показывать неграфические символы как в языке С.

-R, --recursive — рекурсивно выдавать список содержимого всех каталогов.

-S, --sort=size — производить сортировку по размеру файла, вместо сортировки по алфавиту. Таким образом, наибольшие файлы будут показаны сначала.

-T, --tabsize cols — назначить ширину табуляции в cols колонок. По умолчанию 8, может быть также задано с помощью переменной окружения TABSIZE, если при этом не установлена переменная окружения POSIXLY_CORRECT. ls использует табуляцию для выравнивания вывода, когда это возможно. Если cols равно нулю, то табуляция не используется. -U, --sort=none — Не производить сортировку; список файлов будет выдаваться в том порядке, в каком файлы записаны на диск. (отличие между опциями -U и -f состоит в том, что данная опция не запрещает и не разрешает другие опции). Эта опция может быть особенно полезна, когда выдаются списки содержимого очень больших каталогов, при этом сортировка не выполняется и весь процесс происходит быстрее).

-X, --sort=extension — производить сортировку в алфавитном порядке по расширениям файлов (символы после последней `.'); файлы без расширений будут показаны первыми.

--block-size=size — выдаёт размеры в блоках по size байт. (Новое в fileutils-4.0.)

--color[=when] — задаёт цвет для различения типов файлов. Цвета задаются с использованием переменной окружения LS_COLORS. Информацию о том, как нужно задавать значение этой переменной, можно найти в странице руководства [1]dircolors(1). Параметр when может бы опущен или принимать одно из следующих значений:

  • none — вообще не использовать цвет. Установлено по умолчанию.
  • auto — использовать цвет, только если стандартный вывод является терминалом.
  • always — всегда использовать цвет. Задание --color без параметра when эквивалентно --color=always.

--full-time — выдавать время в полном, а не в стандартном сокращённом варианте. Данный формат выглядит так же, как и в команде date по умолчанию; его невозможно изменить, но вы може извлечь строку с датой через команду cut и пропусти результат через `date -d'. Это может быть очень полезно, потому что время в таком формате включает секунды. (Файловые системы Unix записывают временной штамп файла с округлением до секунды, так что данная опция показывает полную информацию о временном штампе). Например, это может помочь, если вы разбираетесь, почему некий Makefile неправильно перегенерирует файлы.

--quoting-style=word — используйте стиль word для выбора режима квотинга имён файлов. Стиль word может принимать следующие значения:

  • literal — вывод имён файлов как есть. Это поведение ls по умолчанию.
  • shell — заключает имена файлов в одиночные кавычки для shell, если они содержат метасимволы или могут привести к неоднозначной выдаче.
  • shell-always — заключает имена файлов в одиночные кавычки для shell, даже если этого не требуется.
  • c — заключает имена файлов в двойные кавычки, как в языке C; это равносильно опции -Q.
  • escape — как и для c, за исключением того, что имя не заключается в двойные кавычки; эквивалентно опции -b .

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

  • --show-control-chars — выдавать неграфические символы в именах файлов как есть. Так задано по умолчанию, если вывод осуществляется на терминал, а программа называется ls.

Стандартные ключи GNU

--help — выдать подсказку на стандартный вывод и успешно завершиться.

--version — выдать информацию о версии на стандартный вывод и успешно завершиться.

-- — служит для обозначения конца списка ключей.

Окружение

Переменная POSIXLY_CORRECT определяет размер блока. Переменная TABSIZE задаёт ширину табуляции, если не установлена переменная POSIXLY_CORRECT. Переменная COLUMNS (когда она содержит целое число) определяет ширину вывода в колонках (для использования с опцией -C). Имена файлов не должны обрезаться, чтобы уместить их в многоколоночном выводе.

При работе обычным образом используются значения переменных LANG, LC_ALL, LC_CTYPE и LC_MESSAGES. Переменная TZ задаёт временную зону для временных меток, которые выдаёт ls. Переменная LS_COLORS используется для задания цветов.

Переменная QUOTING_STYLE используется для задания значения по умолчанию для опции --quoting-style. Данная опция по умолчанию установлена в literal, но авторы предупреждают, что это умолчание может когда-нибудь в следующей версии измениться на shell.

Ошибки реализации

В BSD системах ls выдаёт размеры, которые являются наполовину меньше правильных, для файлов, которые смонтированы по NFS из HP-UX-систем. В HP-UX-системах ls выдаёт размеры, которые в два раза больше правильных для файлов, которые смонтированы по NFS из BSD-систем. Это недостаток систем HP-UX; он также есть и в программе ls из HP-UX.

Совместимость

POSIX 1003.3

Напишите отзыв о статье "Ls"

Отрывок, характеризующий Ls

Возвратившись в этот раз из отпуска, Ростов в первый раз почувствовал и узнал, до какой степени сильна была его связь с Денисовым и со всем полком.
Когда Ростов подъезжал к полку, он испытывал чувство подобное тому, которое он испытывал, подъезжая к Поварскому дому. Когда он увидал первого гусара в расстегнутом мундире своего полка, когда он узнал рыжего Дементьева, увидал коновязи рыжих лошадей, когда Лаврушка радостно закричал своему барину: «Граф приехал!» и лохматый Денисов, спавший на постели, выбежал из землянки, обнял его, и офицеры сошлись к приезжему, – Ростов испытывал такое же чувство, как когда его обнимала мать, отец и сестры, и слезы радости, подступившие ему к горлу, помешали ему говорить. Полк был тоже дом, и дом неизменно милый и дорогой, как и дом родительский.
Явившись к полковому командиру, получив назначение в прежний эскадрон, сходивши на дежурство и на фуражировку, войдя во все маленькие интересы полка и почувствовав себя лишенным свободы и закованным в одну узкую неизменную рамку, Ростов испытал то же успокоение, ту же опору и то же сознание того, что он здесь дома, на своем месте, которые он чувствовал и под родительским кровом. Не было этой всей безурядицы вольного света, в котором он не находил себе места и ошибался в выборах; не было Сони, с которой надо было или не надо было объясняться. Не было возможности ехать туда или не ехать туда; не было этих 24 часов суток, которые столькими различными способами можно было употребить; не было этого бесчисленного множества людей, из которых никто не был ближе, никто не был дальше; не было этих неясных и неопределенных денежных отношений с отцом, не было напоминания об ужасном проигрыше Долохову! Тут в полку всё было ясно и просто. Весь мир был разделен на два неровные отдела. Один – наш Павлоградский полк, и другой – всё остальное. И до этого остального не было никакого дела. В полку всё было известно: кто был поручик, кто ротмистр, кто хороший, кто дурной человек, и главное, – товарищ. Маркитант верит в долг, жалованье получается в треть; выдумывать и выбирать нечего, только не делай ничего такого, что считается дурным в Павлоградском полку; а пошлют, делай то, что ясно и отчетливо, определено и приказано: и всё будет хорошо.
Вступив снова в эти определенные условия полковой жизни, Ростов испытал радость и успокоение, подобные тем, которые чувствует усталый человек, ложась на отдых. Тем отраднее была в эту кампанию эта полковая жизнь Ростову, что он, после проигрыша Долохову (поступка, которого он, несмотря на все утешения родных, не мог простить себе), решился служить не как прежде, а чтобы загладить свою вину, служить хорошо и быть вполне отличным товарищем и офицером, т. е. прекрасным человеком, что представлялось столь трудным в миру, а в полку столь возможным.
Ростов, со времени своего проигрыша, решил, что он в пять лет заплатит этот долг родителям. Ему посылалось по 10 ти тысяч в год, теперь же он решился брать только две, а остальные предоставлять родителям для уплаты долга.

Армия наша после неоднократных отступлений, наступлений и сражений при Пултуске, при Прейсиш Эйлау, сосредоточивалась около Бартенштейна. Ожидали приезда государя к армии и начала новой кампании.
Павлоградский полк, находившийся в той части армии, которая была в походе 1805 года, укомплектовываясь в России, опоздал к первым действиям кампании. Он не был ни под Пултуском, ни под Прейсиш Эйлау и во второй половине кампании, присоединившись к действующей армии, был причислен к отряду Платова.
Отряд Платова действовал независимо от армии. Несколько раз павлоградцы были частями в перестрелках с неприятелем, захватили пленных и однажды отбили даже экипажи маршала Удино. В апреле месяце павлоградцы несколько недель простояли около разоренной до тла немецкой пустой деревни, не трогаясь с места.
Была ростепель, грязь, холод, реки взломало, дороги сделались непроездны; по нескольку дней не выдавали ни лошадям ни людям провианта. Так как подвоз сделался невозможен, то люди рассыпались по заброшенным пустынным деревням отыскивать картофель, но уже и того находили мало. Всё было съедено, и все жители разбежались; те, которые оставались, были хуже нищих, и отнимать у них уж было нечего, и даже мало – жалостливые солдаты часто вместо того, чтобы пользоваться от них, отдавали им свое последнее.
Павлоградский полк в делах потерял только двух раненых; но от голоду и болезней потерял почти половину людей. В госпиталях умирали так верно, что солдаты, больные лихорадкой и опухолью, происходившими от дурной пищи, предпочитали нести службу, через силу волоча ноги во фронте, чем отправляться в больницы. С открытием весны солдаты стали находить показывавшееся из земли растение, похожее на спаржу, которое они называли почему то машкин сладкий корень, и рассыпались по лугам и полям, отыскивая этот машкин сладкий корень (который был очень горек), саблями выкапывали его и ели, несмотря на приказания не есть этого вредного растения.
Весною между солдатами открылась новая болезнь, опухоль рук, ног и лица, причину которой медики полагали в употреблении этого корня. Но несмотря на запрещение, павлоградские солдаты эскадрона Денисова ели преимущественно машкин сладкий корень, потому что уже вторую неделю растягивали последние сухари, выдавали только по полфунта на человека, а картофель в последнюю посылку привезли мерзлый и проросший. Лошади питались тоже вторую неделю соломенными крышами с домов, были безобразно худы и покрыты еще зимнею, клоками сбившеюся шерстью.
Несмотря на такое бедствие, солдаты и офицеры жили точно так же, как и всегда; так же и теперь, хотя и с бледными и опухлыми лицами и в оборванных мундирах, гусары строились к расчетам, ходили на уборку, чистили лошадей, амуницию, таскали вместо корма солому с крыш и ходили обедать к котлам, от которых вставали голодные, подшучивая над своею гадкой пищей и своим голодом. Также как и всегда, в свободное от службы время солдаты жгли костры, парились голые у огней, курили, отбирали и пекли проросший, прелый картофель и рассказывали и слушали рассказы или о Потемкинских и Суворовских походах, или сказки об Алеше пройдохе, и о поповом батраке Миколке.
Офицеры так же, как и обыкновенно, жили по двое, по трое, в раскрытых полуразоренных домах. Старшие заботились о приобретении соломы и картофеля, вообще о средствах пропитания людей, младшие занимались, как всегда, кто картами (денег было много, хотя провианта и не было), кто невинными играми – в свайку и городки. Об общем ходе дел говорили мало, частью оттого, что ничего положительного не знали, частью оттого, что смутно чувствовали, что общее дело войны шло плохо.
Ростов жил, попрежнему, с Денисовым, и дружеская связь их, со времени их отпуска, стала еще теснее. Денисов никогда не говорил про домашних Ростова, но по нежной дружбе, которую командир оказывал своему офицеру, Ростов чувствовал, что несчастная любовь старого гусара к Наташе участвовала в этом усилении дружбы. Денисов видимо старался как можно реже подвергать Ростова опасностям, берег его и после дела особенно радостно встречал его целым и невредимым. На одной из своих командировок Ростов нашел в заброшенной разоренной деревне, куда он приехал за провиантом, семейство старика поляка и его дочери, с грудным ребенком. Они были раздеты, голодны, и не могли уйти, и не имели средств выехать. Ростов привез их в свою стоянку, поместил в своей квартире, и несколько недель, пока старик оправлялся, содержал их. Товарищ Ростова, разговорившись о женщинах, стал смеяться Ростову, говоря, что он всех хитрее, и что ему бы не грех познакомить товарищей с спасенной им хорошенькой полькой. Ростов принял шутку за оскорбление и, вспыхнув, наговорил офицеру таких неприятных вещей, что Денисов с трудом мог удержать обоих от дуэли. Когда офицер ушел и Денисов, сам не знавший отношений Ростова к польке, стал упрекать его за вспыльчивость, Ростов сказал ему:
– Как же ты хочешь… Она мне, как сестра, и я не могу тебе описать, как это обидно мне было… потому что… ну, оттого…
Денисов ударил его по плечу, и быстро стал ходить по комнате, не глядя на Ростова, что он делывал в минуты душевного волнения.
– Экая дуг'ацкая ваша пог'ода Г'остовская, – проговорил он, и Ростов заметил слезы на глазах Денисова.


В апреле месяце войска оживились известием о приезде государя к армии. Ростову не удалось попасть на смотр который делал государь в Бартенштейне: павлоградцы стояли на аванпостах, далеко впереди Бартенштейна.
Они стояли биваками. Денисов с Ростовым жили в вырытой для них солдатами землянке, покрытой сучьями и дерном. Землянка была устроена следующим, вошедшим тогда в моду, способом: прорывалась канава в полтора аршина ширины, два – глубины и три с половиной длины. С одного конца канавы делались ступеньки, и это был сход, крыльцо; сама канава была комната, в которой у счастливых, как у эскадронного командира, в дальней, противуположной ступеням стороне, лежала на кольях, доска – это был стол. С обеих сторон вдоль канавы была снята на аршин земля, и это были две кровати и диваны. Крыша устраивалась так, что в середине можно было стоять, а на кровати даже можно было сидеть, ежели подвинуться ближе к столу. У Денисова, жившего роскошно, потому что солдаты его эскадрона любили его, была еще доска в фронтоне крыши, и в этой доске было разбитое, но склеенное стекло. Когда было очень холодно, то к ступеням (в приемную, как называл Денисов эту часть балагана), приносили на железном загнутом листе жар из солдатских костров, и делалось так тепло, что офицеры, которых много всегда бывало у Денисова и Ростова, сидели в одних рубашках.
В апреле месяце Ростов был дежурным. В 8 м часу утра, вернувшись домой, после бессонной ночи, он велел принести жару, переменил измокшее от дождя белье, помолился Богу, напился чаю, согрелся, убрал в порядок вещи в своем уголке и на столе, и с обветрившимся, горевшим лицом, в одной рубашке, лег на спину, заложив руки под голову. Он приятно размышлял о том, что на днях должен выйти ему следующий чин за последнюю рекогносцировку, и ожидал куда то вышедшего Денисова. Ростову хотелось поговорить с ним.
За шалашом послышался перекатывающийся крик Денисова, очевидно разгорячившегося. Ростов подвинулся к окну посмотреть, с кем он имел дело, и увидал вахмистра Топчеенко.
– Я тебе пг'иказывал не пускать их жг'ать этот ког'ень, машкин какой то! – кричал Денисов. – Ведь я сам видел, Лазаг'чук с поля тащил.
– Я приказывал, ваше высокоблагородие, не слушают, – отвечал вахмистр.
Ростов опять лег на свою кровать и с удовольствием подумал: «пускай его теперь возится, хлопочет, я свое дело отделал и лежу – отлично!» Из за стенки он слышал, что, кроме вахмистра, еще говорил Лаврушка, этот бойкий плутоватый лакей Денисова. Лаврушка что то рассказывал о каких то подводах, сухарях и быках, которых он видел, ездивши за провизией.
За балаганом послышался опять удаляющийся крик Денисова и слова: «Седлай! Второй взвод!»
«Куда это собрались?» подумал Ростов.
Через пять минут Денисов вошел в балаган, влез с грязными ногами на кровать, сердито выкурил трубку, раскидал все свои вещи, надел нагайку и саблю и стал выходить из землянки. На вопрос Ростова, куда? он сердито и неопределенно отвечал, что есть дело.
– Суди меня там Бог и великий государь! – сказал Денисов, выходя; и Ростов услыхал, как за балаганом зашлепали по грязи ноги нескольких лошадей. Ростов не позаботился даже узнать, куда поехал Денисов. Угревшись в своем угле, он заснул и перед вечером только вышел из балагана. Денисов еще не возвращался. Вечер разгулялся; около соседней землянки два офицера с юнкером играли в свайку, с смехом засаживая редьки в рыхлую грязную землю. Ростов присоединился к ним. В середине игры офицеры увидали подъезжавшие к ним повозки: человек 15 гусар на худых лошадях следовали за ними. Повозки, конвоируемые гусарами, подъехали к коновязям, и толпа гусар окружила их.
– Ну вот Денисов всё тужил, – сказал Ростов, – вот и провиант прибыл.
– И то! – сказали офицеры. – То то радешеньки солдаты! – Немного позади гусар ехал Денисов, сопутствуемый двумя пехотными офицерами, с которыми он о чем то разговаривал. Ростов пошел к нему навстречу.
– Я вас предупреждаю, ротмистр, – говорил один из офицеров, худой, маленький ростом и видимо озлобленный.
– Ведь сказал, что не отдам, – отвечал Денисов.
– Вы будете отвечать, ротмистр, это буйство, – у своих транспорты отбивать! Наши два дня не ели.
– А мои две недели не ели, – отвечал Денисов.
– Это разбой, ответите, милостивый государь! – возвышая голос, повторил пехотный офицер.
– Да вы что ко мне пристали? А? – крикнул Денисов, вдруг разгорячась, – отвечать буду я, а не вы, а вы тут не жужжите, пока целы. Марш! – крикнул он на офицеров.
– Хорошо же! – не робея и не отъезжая, кричал маленький офицер, – разбойничать, так я вам…
– К чог'ту марш скорым шагом, пока цел. – И Денисов повернул лошадь к офицеру.
– Хорошо, хорошо, – проговорил офицер с угрозой, и, повернув лошадь, поехал прочь рысью, трясясь на седле.
– Собака на забог'е, живая собака на забог'е, – сказал Денисов ему вслед – высшую насмешку кавалериста над верховым пехотным, и, подъехав к Ростову, расхохотался.
– Отбил у пехоты, отбил силой транспорт! – сказал он. – Что ж, не с голоду же издыхать людям?
Повозки, которые подъехали к гусарам были назначены в пехотный полк, но, известившись через Лаврушку, что этот транспорт идет один, Денисов с гусарами силой отбил его. Солдатам раздали сухарей в волю, поделились даже с другими эскадронами.
На другой день, полковой командир позвал к себе Денисова и сказал ему, закрыв раскрытыми пальцами глаза: «Я на это смотрю вот так, я ничего не знаю и дела не начну; но советую съездить в штаб и там, в провиантском ведомстве уладить это дело, и, если возможно, расписаться, что получили столько то провианту; в противном случае, требованье записано на пехотный полк: дело поднимется и может кончиться дурно».
Денисов прямо от полкового командира поехал в штаб, с искренним желанием исполнить его совет. Вечером он возвратился в свою землянку в таком положении, в котором Ростов еще никогда не видал своего друга. Денисов не мог говорить и задыхался. Когда Ростов спрашивал его, что с ним, он только хриплым и слабым голосом произносил непонятные ругательства и угрозы…
Испуганный положением Денисова, Ростов предлагал ему раздеться, выпить воды и послал за лекарем.
– Меня за г'азбой судить – ох! Дай еще воды – пускай судят, а буду, всегда буду подлецов бить, и госудаг'ю скажу. Льду дайте, – приговаривал он.