#linux #find
#linux #Найти
Вопрос:
Я пытаюсь найти все файлы, которые находятся на данном хосте, используя «find», и я хочу игнорировать такие пути, как /dev, / proc и т.д.
Я также буду игнорировать точки монтирования nfs для этого упражнения.
Я хочу получить больше данных, чем mlocate предоставляет изначально, например, ctime, uid, gid и т. Д.
Моя идея состояла в том, чтобы заглянуть в /proc/filesystems и получить список файловых систем, которые будут смонтированы на блочных устройствах (т. Е. Игнорировать строки ^nodev), а затем передать их в «find» следующим образом
fslist=$(grep -v "^nodev" /proc/filesystems)
а затем отправьте это для поиска с помощью
for fs in $(echo $fslist)
do
find / -fstype $fs >> output
done
Возможно, есть лучший способ сделать это?
Я пытаюсь избегать тех файлов, которые в любом случае практически бессмысленно записывать
Спасибо.
Комментарии:
1. что-то вроде этого?
find -not -path '/dev*' -not -path '/proc*'
?2. @Sundeep к сожалению, это на самом деле не охватывает все. Фактически, в RHEL 7 вы видите такие вещи, как /sys , /run и с помощью /sys/cgroup и т. Д.
3. либо создайте все нужные вам пути, либо исключите те, которые вам не нужны…