fdisk -l не показывает начальный сектор

Я взял команду @Gilles zsh и улучшил ее для работы с подпапками, но кажется, что zsh ужасно неэффективен для части **/ *(FDod ).

# Don't do this
for d in **/*(FDod); do touch -r "$d"/*(Dom[1]) "$d"; done

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

При тестировании я заметил, что производительность и объем памяти для **/ *(FDod )были безумными (более 1,4 ГБ всего для 650 тыс. папок ), и перед запуском он читал все подряд трогать папки. После замены на find/read стал намного быстрее, не жрал память и запустился практически сразу.

#! /usr/bin/env zsh
# Do this instead
find "$@" -depth -type d ! -empty -print0 |while IFS= read -r -d ''; do
    touch -r "$REPLY"/*(Dom[1]) "$REPLY"
done

Если вы не запускаете его в сценарии, замените «$@» папками, из которых вы хотите его запустить.

0
12.01.2021, 09:43
1 ответ

Это не образ диска с разделами, поэтому нет разделов для перечисления. Судя по названию, я бы предположил, что это корневая файловая система системы Ubuntu, и в этом случае вы просто монтируете ее

mkdir -p /mnt/img
mount rootfs_ubuntu_18_04.img /mnt/img

Образ будет смонтирован на/mnt/img

2
18.03.2021, 22:37

Теги

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