После того, как вы смонтировали их куда-нибудь (/media/usb), выполните chroot /media/usb /bin/bash
, чтобы войти в систему USB. Сделайте все, что вам нужно, и выйдите
после этого. Замените /bin/bash
, если вы предпочитаете другую оболочку или bash недоступен.
find . -type f -printf %u:%g\\n | awk '{usergroup[$0]++}; END {for(key in usergroup) printf "%-20s %d\n",key,usergroup[key]}'
hl:hauke 401
hl:1003 10
root:root 1
find
печатает для каждого файла строку вида username: groupname
.
awk
использует ассоциативный массив для подсчета вхождений. Для каждой строки увеличивается переменная с содержимым строки в качестве имени.
После того, как awk
прочитал последнюю строку, он печатает ключи и значения массива.
для i в / etc / usr / var; do (find $ i -type f -printf "$ i ->% u:% g \ n" 2> / dev / null) | сортировать | uniq -c; done
вывод:
2 / etc -> root: dip 1 / etc -> root: fuse 7 / etc -> root: lp 2441 / etc -> root: root 2 / etc -> root: shadow ...
Я просматриваю каталоги, которые вам нужны (/ etc, / usr и вар). Я использую команду find, чтобы найти все файлы в каталоге, и я использую printf для отображения каталога, пользователя и группы, я перенаправляю любые ошибки в / dev / null. Я сортирую результаты, а затем делаю уникальный подсчет, который выводит число и уникальную строку.