Частичный ответ:В KDE вы, по-видимому, можете получить текущую раскладку клавиатуры с помощью команды qdbus
:
$ qdbus org.kde.keyboard /Layouts getCurrentLayout
gb(intl)
У меня настроено несколько макетов, но отображается только тот, который используется в данный момент.
Проверено на Kubuntu 18.04 (qdbus версии 4.8.7 ). Могут быть другие решения на основе шины d -для сред, отличных от -Qt, но я о них не знаю.
Если ваш cp
достаточно мощный , вы можете сделать это:
cp -a --attributes-only olddir newdir
Где newdir
еще не существует (еще )и --attributes-only
означает
Copy only the specified attributes of the source file to the destination. […]
Это не приведет к копированию данных; обычные файлы в newdir
будут иметь нулевой размер. Обратите внимание, что вам нужно быть пользователем root для репликации всех атрибутов (, например. собственность ), так что, возможно, вам нужно sudo cp …
. Вместо -a
вы можете использовать более конкретные параметры, чтобы копировать только те атрибуты, которые вам действительно нужны.
В любом случае, после того, как вы создадите newdir
, содержащий пустые файлы, просто tar
этот каталог вместо olddir
.
star
поддерживает это уже 18 лет... попробуйте:
star -c -dump -meta... | star -tv
Здесь перечислены все записи как файлы типа m'eta...
star -c -dump -meta... | star -C todir -xmeta
извлекает все файлы размером 0 байт.
star -c -dump -meta... | star -C todir -xmeta -force-hole
извлекает все файлы как файлы исходного размера без данных (разреженный файл ).
star
входит в состав schilytools.