Как сделать листинг файлов

Скучный и обыденный список файлов, который выдаёт Apache, можно с помощью нехитрых манипуляций превратить в красиво оформленный.

Что имеется по умолчанию:
Как сделать листинг файлов

Начнём по-порядку. Заполняем .htaccess:

1. Включаем модуль Апача для управления строками запросов.
2. Задаём базовый путь.
3. Включаем вывод листинга файлов.
4. Включаем обработку симлинков (SymLink, символические ссылки в файловой системе *nix систем).

Задаём страницы для ошибок (не обязательно :)). Получение информации о запросе через SSI (файлы shtml) – оффтопик для данной темы.

1. Настройки модуля листинга (индексации) файлов.
2. IndexOptions – включение опций модуля. Мануал по всем доступным опциям.
IgnoreCase – игнорировать регистр файлов
FancyIndexing – включает другие опции для оформления листинга
FoldersFirst – каталоги отображать вверху списка
NameWidth=* – размер поля для имени файла, * – размер равен ширине имени файла, длинные имена не будут перенесены на новую строку
DescriptionWidth=* – то же для описания файла
XHTML – формат разметки страницы с листингом. Может быть и HTML
HTMLtable – обернуть список файлов в таблицу, для удобства применения стилей и управления колонками
SuppressHTMLPreamble – убирает стандартный хэдер и футер, чтобы можно было задать свои
SuppressRules – убирает горизонтальные линии разметки
SuppressDescription, SuppressLastModified, SuppressSize – убирают соответственно колонки описания файла, даты его модификации и размера
IconHeight=16 – высота иконки файла
IconWidth=16 – ширина иконки файла
IconsAreLinks – иконки имеют ссылку на файл
3. Сортировка по названию файла, по алфавиту.
4 и 5. Название файлов с кодом для хэдера и футера.
6. Исключение из списка файлов по имени и по маске.

Присвоение иконок переходу на уровень выше, каталогам и разным форматам файлов. Иконки для многих типов можно взять из набора SILK. Пано из всех SILK иконок (1 мб) для быстрого выбора.

Присвоение описания конкретным файлам, каталогам и отдельным форматам файлов.

Создание страницы и стилей для списка файлов
Обычные страницы с разметкой XHTML и SSI вставкой текущего пути.

Стоит отметить псевдокласс CSS :nth-child(), он позволяет задать стиль для дочерних элементов. Удобно для разметки строк таблицы. Выдержка из описания псевдокласса:

элемент:nth-child(odd | even | | )

Если a равно нулю, то оно не пишется и запись сокращается до b. Если b равно нулю, то оно также не указывается и выражение записывается в форме an. a и b могут быть отрицательными числами, в этом случае знак плюс меняется на минус, например: 5n-1.

Примеры XHTML и CSS файлов взяты с apt.appdb.ru.

Вот как в итоге стал выглядеть список файлов:

Источник

Справочная информация

про свой опыт решения некоторых проблем и использования ряда возможностей ОС и приложений

понедельник, 22 января 2018 г.

Создать файл с перечислением содержимого каталога в Linux

Как сделать листинг файлов

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

Вернуть душевное равновесие помог «звонок другу». Оказывается, команда должна быть: ls расположение_каталога>file.txt

Осталось проверить это на практике, то есть вывести содержание одного из каталогов с музыкой mp3 в текстовый файл.

Каталог /home/cemea/Clouds/Алёна Апина/Ритмические

Копирую в буфер обмена этот путь:
/home/cemea/Clouds/Алёна Апина/Ритмические

Запускаю терминал и ввожу команду ls, затем через пробел из буфера обмена вставляю скопированный путь и после ввожу >AR.txt, где AR.txt будет являться файлом, в котором будет перечислено содержание каталога.

Так как в указании пути к каталогу имеется пробел, то весь путь должен быть помещён в одинарные или двойные кавычки. Поэтому полная терминальная команда будет иметь вид:

ls ‘/home/cemea/Clouds/Алёна Апина/Ритмические’>AR.txt

ls «/home/cemea/Clouds/Алёна Апина/Ритмические»>AR.txt

В результате в домашнем каталоге наблюдаю появление файла AR.txt, при открытии которого наблюдается его содержание:

01. Электричка.mp3
02. Было, девки, было.mp3
03. Объяснение в любви.mp3
04. Пароходик.mp3
05. Нелюбимый.mp3
06. Тополя.mp3
07. Непрошенный ангел.mp3
08. А я любила тебя.mp3
09. Пляжный сезон.mp3
10. Ну когда под венец.mp3
11. Подари мне цветы.mp3
12. Разноцветные сны.mp3
13. Эх, хоть бы раз. mp3
14. Поезда.mp3
15. Я погадаю.mp3
16. На теплоходе музыка играет.mp3
17. Сенсация.mp3

Как сделать листинг файлов

Как сделать листинг файлов

В итоге получаю красивый список:

01. Электричка
02. Было, девки, было
03. Объяснение в любви
04. Пароходик
05. Нелюбимый
06. Тополя
07. Непрошенный ангел
08. А я любила тебя
09. Пляжный сезон
10. Ну когда под венец
11. Подари мне цветы
12. Разноцветные сны
13. Эх, хоть бы раз.
14. Поезда
15. Я погадаю
16. На теплоходе музыка играет
17. Сенсация

Источник

Как получить список файлов в папке Windows

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

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

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

Как сделать листинг файлов

Сначала о том, как сделать текстовый документ, содержащий список файлов в нужной папке, вручную.

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

Как сделать листинг файлов

Кроме этого, для пользователей русскоязычной версии Windows следует учитывать то, что файл сохраняется в кодировке Windows 866, то есть в обычном блокноте вместо русских символов вы увидите иероглифы (но можно использовать альтернативный текстовый редактор для просмотра, например, Sublime Text).

Получаем список файлов с помощью Windows PowerShell

Вы также можете получить список файлов в папке используя команды Windows PowerShell. Если вы хотите сохранить список в файл, то запустите PowerShell от имени администратора, если просто просмотреть в окне — достаточно простого запуска.

Как сделать листинг файлов

Выше перечислены далеко не все параметры Get-Childitem, но в рамках описываемой в этом руководстве задачи, думаю, их будет достаточно.

Утилита Microsoft Fix it для печати содержимого папки

На странице https://support.microsoft.com/ru-ru/kb/321379 присутствует утилита Microsoft Fix It, добавляющая в контекстное меню проводника пункт «Print Directory Listing», выводящий список файлов в папке на печать.

Как сделать листинг файлов

Несмотря на то, что программа предназначена только для Windows XP, Vista и Windows 7, она успешно сработала и в Windows 10, достаточно было запустить ее в режиме совместимости.

Дополнительно, на той же странице показан порядок ручного добавления команды вывода списка файлов в проводник, при этом вариант для Windows 7 подойдет и для Windows 8.1 и 10. А если вам не требуется вывод на печать, вы можете немного подправить предлагаемые Microsoft команды, удалив параметр /p в третьей строке и полностью убрав четвертую.

А вдруг и это будет интересно:

Почему бы не подписаться?

Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)

На самом деле эту операцию можно делать и через GUI (почему-то об этом умалчивается — сколько не спрашивал, в российском представительстве МС никто ответов не дал).
Обнаружилось совершенно случайно. Действует в проводнике для любых списков (включая и найденные).
1. выделить группу файлов
2. Нажать Shift (левый или правый)
3. Удерживая Shift, вызвать контекстное меню
4. Там будет команда «копировать как путь». Ее и использовать.
Далее можно вставлять полные пути всех файлов в блокнот, excel, куда угодно.

Ух-ты, отлично! Спасибо.

Только выдает то, что в самой папке, но без подпапок и прочего. А нужен полный список.

Специально для этого сделал программу Filelist. После ее установки в контекстном меню появляется пункт «Получить список файлов». Список сохраняется в файл filelist.txt в той же папке. Скачать можно бесплатно. ( bravikov.wordpress.com )

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

У меня не появилось в контекстном меню. Или нужна перезагрузка пк?

После перезагрузки всё заработало. Большое вам спасибо)

Самый простой способ. Не надо ничего устанавливать. Копируете адрес папки где находятся нужные вам файлы и вставляете его в адресную строку вашего браузера. Жмете Enter. Затем просто выделяете все и копируете. Затем можно вставить в excel, word или в блокнот и распечатать.

Командой dir можно сразу выводить результат в буфер обмена:

dir /a /b /o:gen | clip

Команда dir у меня не работает. Может, сборка такая, может, потому что корпоративная — Гейтс бы его знал!

После перепробования разных способов (соответствующие программы, вставка в браузер, какие-то командные строки) остановился на способе из первого комментария:

в папке CTRL+A — Shift+ПКМ — Копировать как путь — В блокноте CTRL+V, на а дальше обычная работа.

На Винде 10 не получилось ни с командной строкой, ни с ПоверШелл. Я сделал так:
— в Тотал Коммандере (если вдруг кто не знаком, качайте на оф сайте — прога древняя, простая, бесплатная и наиполезнейшая) открываем нужную папку, кнопкой или в меню делаем «показать файлы без подкаталогов» (если файлов много, это может занять пару минут).
— если вам нужен просто только список, то кнтрл+а, шифт+пкм, «копировать как путь», и вставляете этот список в Ексель или куда вам там надо
— если нужен не только список, а упорядоченный по папкам, то Меню — конфигурация — настройки — наборы колонок — создать новый набор — добавить колонку — плюсик — в плагинах выбрать «Путь» — ок
— в окне с файлами сортируете по колонке «Путь», и копируете все пути файлов так, как было описано в пункте выше
Без учёта скачивания проги всё это займёт минут 10-20.

Источник

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

Изучение основ работы с файлами и директориями Linux

Как сделать листинг файлов

Серия контента:

Этот контент является частью # из серии # статей: Изучаем Linux, 101

Этот контент является частью серии: Изучаем Linux, 101

Следите за выходом новых статей этой серии.

Развить навыки по этой теме

Этот материал — часть knowledge path для развития ваших навыков. Смотри Основы системного администрирования Linux: работа с консолью

Краткий обзор

Из этой статьи вы узнаете об основных командах Linux для управления файлами и директориями. Вы научитесь:

Об этой серии

Эта серия статей поможет вам освоить задачи администрирования операционной системы Linux. Вы также можете использовать материал этих статей для подготовки к экзаменам первого уровня сертификации профессионального института Linux (LPIC-1).

Чтобы посмотреть описания статей этой серии и получить ссылки на них, обратитесь к нашему перечню материалов для подготовки к экзаменам LPIC-1. Этот перечень постоянно дополняется новыми статьями по мере их готовности и содержит самые последние (по состоянию на апрель 2009 года) цели экзаменов сертификации LPIC-1. Если какая-либо статья отсутствует в перечне, можно найти ее более раннюю версию, соответствующую предыдущим целям LPIC-1 (до апреля 2009 года), обратившись к нашим руководствам для подготовки к экзаменам института Linux Professional Institute.

Эта статья поможет вам подготовиться к сдаче экзамена LPI 101 на администратора начального уровня (LPIC-1) и содержит материалы цели 103.3 темы 103. Цель имеет вес 4.

Необходимые условия

Чтобы извлечь наибольшую пользу из наших статей, необходимо обладать базовыми знаниями о Linux и иметь работоспособный компьютер с Linux, на котором можно будет выполнять все встречающиеся команды. Иногда различные версии программ выводят результаты по-разному, поэтому содержимое листингов и рисунков может отличаться от того, что вы увидите на вашем компьютере.

Просмотр директорий

Как связаться с Яном

Ян – один из наших наиболее популярных и плодовитых авторов. Ознакомьтесь со всеми статьями Яна (EN), опубликованными на сайте developerWorks. Вы можете найти контактные данные в профиле Яна и связаться с ним, а также с другими авторами и участниками ресурса My developerWorks.

В Linux и UNIX® все файлы хранятся в виде дерева файловой системы с корневой директорией /. К этому дереву можно добавлять или удалять дополнительные ветви, монтируя или демонтируя их соответственно. Эти операции рассматривается в другой статье этой серии – «Монтирование и демонтаж файловых систем» (см. перечень материалов для подготовки к экзаменам LPIC-1).

Просмотр содержимого директории

При изучении команд в этой статье мы будем использовать файлы, которые были созданы в предыдущей статье этой серии «Изучаем Linux 101: текстовые потоки и фильтры». Если вы выполняли все упражнения данной статьи, то в вашей домашней директории должна присутствовать директория lpi103-2. Если такой директории у вас нет, то можете использовать любую другую директорию.

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

Если вы знаете имя файла или директории относительно текущей рабочей директории, то вы можете просто объединить абсолютное имя рабочей директории, символ / и относительное имя. Например, директория lpi103-2 из предыдущей статьи была создана в моей домашней директории, /home/ian, поэтому ее полный, или абсолютный путь – это /home/ian/lpi103-2.

Листинг 1. Просмотр содержимого директории

Как вы видите, для просмотра содержимого директории команде ls можно передать как ее относительное, так и абсолютное имя.

Вывод детальной информации

По умолчанию команда ls не отображает специальные файлы, имена которых начинаются с точки (.). Каждая директория, за исключением корневой, имеет, как минимум, две специальных записи: сама директория (.) и родительская директория (..). Корневая директория не имеет родительской директории.

Листинг 2. Подробный просмотр содержимого директории

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

Информация о нескольких файлах

Листинг 3. Использование ls –d

Заметьте, что время модификации директории lpi103-2 отличается от времени, которое мы видим в предыдущем листинге. Кроме того, так же, как и в предыдущем листинге, это время отличается от времени модификации любого файла в этой директории. Дело в том, что во время работы над этой статьей я создал несколько дополнительных примеров, после чего удалил их; именно об этом и говорят временные метки директории. Подробнее о временных метках файлов мы поговорим чуть позже в разделе Обработка нескольких файлов и директорий.

Сортировка вывода

Копирование, перемещение и удаление файлов

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

Листинг 4. Копирование и перемещение файлов

Как обычно, полную информацию об этих и других опциях копирования и перемещения вы можете найти на соответствующих man-страницах.

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

Листинг 5. Создание резервных копий и удаление файлов

Создание и удаление директорий

Команда mkdir

Предположим, что мы находимся в нашей директории lpi103-2 и хотим создать поддиректории dir1 и dir2. Так же, как и уже рассмотренные команды, команда mkdir может обрабатывать запросы на создание сразу нескольких директорий, как показано в листинге 6.

Листинг 6. Создание нескольких директорий
Листинг 7. Создание родительских директорий

Команда rmdir

Листинг 8. Удаление директорий

Обработка нескольких файлов и директорий

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

Рекурсивные действия

Рекурсивный вывод содержимого директорий

Листинг 9. Рекурсивный вывод содержимого директории

Рекурсивное копирование

Листинг 10. Рекурсивное копирование

Рекурсивное удаление

Листинг 11. Рекурсивное удаление

Метасимволы и подстановка имен файлов

Часто возникает необходимость выполнить простую операцию над множеством объектов файловой системы, не оперируя целым деревом каталогов, как мы только что делали при выполнении рекурсивных действий. Например, вам может потребоваться узнать время модификации всех текстовых файлов, которые были созданы в директории lpi103-2, не выводя список отдельных файлов. Хотя это достаточно просто сделать для нашей небольшой директории, для больших файловых систем все оказывается намного сложнее.

Для решения этой проблемы используйте поддержку метасимволов, встроенную в интерпретатор bash. Эта поддержка также называется подстановкой имен («globbing» – название, произошедшее от имени программы /etc/glob) и позволяет вам определять множество файлов с помощью шаблонов подстановки.

Строка, содержащая любой из символов ‘?’, ‘*’ или ‘[‘, называется шаблоном подстановки. Подстановка – это процесс, в котором интерпретатор (а, возможно, другая программа) замещает шаблоны списком соответствующих им путей. Соответствия определяются следующим образом:

Примечание. Шаблоны подстановки и регулярные выражения имеют определенные сходства, однако это не одно и то же. Обратите на это особое внимание!

Листинг 12. Примеры шаблонов подстановки

Помните, что любой групповой символ обрабатывается командным интерпретатором, что может привести к непредсказуемым результатам. Более того, если вы зададите шаблон подстановки, которому не соответствует ни один объект файловой системы, то в соответствии со стандартом POSIX требуется, чтобы команде была передана исходная строка шаблона. Некоторые более ранние версии передавали команде пустой список, поэтому вам могут встретиться старые сценарии, которые ведут себя необычно. Проиллюстрируем сказанное в листинге 13.

Листинг 13. Сюрпризы при использовании шаблонов подстановки

Использование touch

Команда touch

Листинг 14. Обновление времени последнего изменения при помощи touch
Листинг 15. Создание пустых файлов при помощи touch
Листинг 16. Установка mtime при помощи touch
Листинг 17. Временные метки ссылочных файлов
Листинг 18. Время доступа и время модификации

Поиск файлов

Команда find

Команда find выполняет поиск файлов или директорий, используя полное имя или его часть; поиск может выполняться и по другим критериям, таким как размер, тип, владелец, дата создания или последнего обращения. Наиболее распространенным является поиск по имени или по его части. В листинге 19 приведено несколько примеров поиска файлов: сначала мы ищем в директории lpi103-2 все файлы, в названии которых содержится символ ‘1’ или ‘k’, а затем выполняем поиск путей, о котором подробно поясняется в примечаниях.

Листинг 19. Поиск файлов по имени

Примечания:

Листинг 20. Поиск файлов по типу
Листинг 21. Поиск файлов по размеру
Листинг 22. Поиск и выполнение действий над файлами

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

В нашем последнем примере команды find мы выполняем поиск файлов на основе определенных временных меток (с которыми работает команда touch ). Листинг 23 содержит три примера.

Листинг 23. Поиск файлов по временным меткам

Определение типа файла

Листинг 24. Определение содержимого файла
Листинг 25. Определение содержимого файла в виде MIME

Команда file также работает и с файлами, содержащими сигнатуры magic number. Дополнительную информацию вы можете найти на man-страницах.

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

Сжатие файлов

Программы gzip и gunzip

Листинг 26. Сжатие с помощью gzip
Листинг 27. Распаковка с помощью gzip

Команды bzip2 и bunzip2

Листинг 28. Сжатие с помощью bzip2

Различия между gzip и bzip2

Листинг 29. Некоторые различия между gzip и bzip2

С командой bzip2 связаны две другие команды.

Дополнительную информацию о командах gzip и bzip2 вы можете найти на соответствующих man-страницах.

Другие инструменты для сжатия

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

Архивирование файлов

Существует три основных подхода к резервному копированию.

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

Команда tar

Команда tar (исходное название Tape ARchive) создает архивный файл (другое его название tarfile или tarball) из нескольких файлов или директорий, а также извлекает файлы из созданных архивов. Если вы передали на вход команде tar имя директории, то в архив автоматически будут включены все находящиеся в ней файлы и поддиректории; благодаря этому tar очень удобно использовать для архивирования целых веток дерева каталогов.

Листинг 30. Создание резервной копии директории lpi103-2 с помощью tar
Листинг 31. Сжатие tar архива с помощью gzip
Листинг 32. Сравнение и восстановление с помощью tar
Листинг 33. Просмотр содержимого архива с помощью tar

Команда cpio

Листинг 34. Создание резервной копии директории с помощью cpio
Листинг 35. Просмотр и извлечение выбранных файлов с помощью cpio
Листинг 36. Извлечение выбранных фалов с помощью cpio

Для получения дополнительной информации о различных опциях обратитесь к man-странице.

Команда dd

Листинг 37. Перевод текста в верхний регистр с помощью dd
Листинг 38. Создание резервной копии раздела с помощью dd

Заметьте, что было скопировано 797,852,160 байтов данных, и результирующий файл действительно имеет такой размер, хотя дисковое пространство этого раздела используется всего на 3%. Если вы не используете аппаратное сжатие при копировании на ленту, возможно вам потребуется сжать данные. В листинге 39 показано, как сделать это; команды ls и df позволяют оценить размеры файлов и процент использования файловой системы на устройстве/dev/sda2.

Листинг 39. Создание резервной копии с использованием сжатия с помощью dd

Сжатие с помощью gzip уменьшает размер файла примерно на 20%. Тем не менее, неиспользуемые блоки могут содержать произвольные данные, поэтому даже сжатый архив может иметь больший размер, чем общий размер данных в разделе.

Команда dd не ориентирована на работу с файловой системой, поэтому если вы хотите узнать, какие данные содержатся в разделе, необходимо восстановить его дамп. В листинге 40 показано, как восстановить раздел из дампа, созданного в листинге 39, в раздел /dev/sdc7, который был специально создан для нашего примера на сменном USB-накопителе.

Листинг 40. Восстановление раздела с помощью dd
Листинг 41. Сравнение образа с файловой системой

Ресурсы для скачивания

Похожие темы

Комментарии

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *