лучший способ найти файлы в Linux, смонтированные на блочном устройстве?

#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. либо создайте все нужные вам пути, либо исключите те, которые вам не нужны…