восьмеричный дамп каталога

Эквалайзер pulseaudio считывает свои настройки в пользовательском файле ~ / .config / pulse / equalizerrc

Чтобы отобразить его:

cat ~/.config/pulse/equalizerrc

Итак, в качестве примера, чтобы задать значение 10 дБ на 5-й полосе эквалайзера и непосредственно уловить изменение:

sed -i '19s/.*/10.0/' ~/.config/pulse/equalizerrc | pulseaudio-equalizer toggle

Для пояснения, sed заменит все строки с номерами 19 , и заменит его на 10.0 в файле конфигурации, затем эквалайзер перезапускается / переключается для получения результата.

6
21.02.2016, 22:25
3 ответа

Каждый тип файловой системы хранит каталоги по-своему. Существует множество различных типов файловых систем с разными характеристиками - подходящие для высокой пропускной способности, хорошие для высокого параллелизма, хорошие для сред с ограниченным объемом памяти, различные компромиссы между производительностью чтения и записи, между сложностью и стабильностью и т. Д. В вашей книге описывается файловая система, использовавшаяся вначале. Системы Unix. Современные системы поддерживают множество различных файловых систем.

В самых ранних версиях Unix было много манипуляций с файловой системой вне ядра. Например, mkdir и rmdir работали путем непосредственного редактирования некоторых структур данных файловой системы. Его быстро заменил единый интерфейс доступа к каталогам, семейство opendir / readdir / closedir , которое позволяло приложениям управлять каталогами, не зная, как они реализовано под капотом.

Причина, по которой вы не можете читать содержимое каталогов в Linux, заключается не в том, что его нужно скрывать, а в том, что функции существуют только в том случае, если они реализованы, а эта функция бессмысленна и требует затрат.Учитывая, что формат зависит от файловой системы, это довольно бессмысленная функция: программа не может знать формат того, что она читает. Это не совсем тривиальная возможность для поддержки: некоторые файловые системы организуют каталоги способами, которые не являются просто потоком байтов, например, это может быть организовано как B-дерево .Некоторые варианты Unix по-прежнему позволяют приложениям напрямую читать содержимое каталогов для обратной совместимости, но в Linux нет этой функции (и никогда не было, насколько я помню - это уже было устаревшей функцией в начале 1990-х годов).

7
27.01.2020, 20:23

Да, но:

  • современные системы хранят имена файлов по-разному. В оригинальной Unix имена ограничивались 14 символами, а 2 байта отводилось на inode.
  • интерфейс к каталогу осуществляется через функции opendir, readdir, closedir вместо open, read, close, чтобы отразить изменение в организации.
  • поскольку ни у кого нет практической необходимости в чтении 16-байтовых записей каталогов, разработчики упустили возможность чтения необработанных файлов каталогов из программ, предназначенных для чтения файлов.

Further reading:

4
27.01.2020, 20:23

Да, ядро ​​Linux использует VFS для абстрагирования различных файловых систем и не позволяет читать (2) каталог.

Но если вас действительно интересует необработанное содержимое каталога в файловой системе Linux EXT2 / 3/4, вы можете использовать утилиту debugfs (8) из e2fsprogs , которая позволит вам читать или выгружать каталоги как обычные файлы.

3
27.01.2020, 20:23

Теги

Похожие вопросы