Para listar todos os sistemas de arquivos montados e seus diretórios de ponto de montagem que são virtuais, ou seja, não suportados por um armazenamento em disco físico, é possível analisar a saída do comando mount
.
Por simplicidade, estou apenas filtrando todas as montagens correspondentes aos dispositivos que começam com /dev/sd
ou /dev/mmcblk
, que deve cobrir a maioria das partições do disco rígido e mídias removíveis. Isso não é perfeito, porque você pode ter dispositivos que aparecem de maneira diferente, que não seriam filtrados, mas, como você ainda vê o que foi montado na saída, prefiro resultados falsos positivos sobre falsos negativos. Se você perceber que precisa adicionar algo, basta adicioná-lo ao padrão de expressão regular do primeiro comando grep
, dentro dos parênteses (...)
e separado dos outros primórdios da linha filtrada com um |
pipe.
mount | grep -vE '^(/dev/sd|/dev/mmcblk)' | grep -oE '\S+ on \S+' | sort -k3 | column -t
Isso resultará em uma lista de montagens, como aquela na minha máquina de exemplo:
$ mount | grep -vE '^(/dev/sd|/dev/mmcblk)' | grep -oE '\S+ on \S+' | sort -k3 | column -t
udev on /dev
hugetlbfs on /dev/hugepages
mqueue on /dev/mqueue
devpts on /dev/pts
tmpfs on /dev/shm
proc on /proc
binfmt_misc on /proc/sys/fs/binfmt_misc
systemd-1 on /proc/sys/fs/binfmt_misc
tmpfs on /run
cgmfs on /run/cgmanager/fs
hugetlbfs-kvm on /run/hugepages/kvm
tmpfs on /run/lock
tmpfs on /run/user/1000
gvfsd-fuse on /run/user/1000/gvfs
sysfs on /sys
efivarfs on /sys/firmware/efi/efivars
tmpfs on /sys/fs/cgroup
cgroup on /sys/fs/cgroup/blkio
cgroup on /sys/fs/cgroup/cpu,cpuacct
cgroup on /sys/fs/cgroup/cpuset
cgroup on /sys/fs/cgroup/devices
cgroup on /sys/fs/cgroup/freezer
cgroup on /sys/fs/cgroup/hugetlb
cgroup on /sys/fs/cgroup/memory
cgroup on /sys/fs/cgroup/net_cls,net_prio
cgroup on /sys/fs/cgroup/perf_event
cgroup on /sys/fs/cgroup/pids
cgroup on /sys/fs/cgroup/systemd
fusectl on /sys/fs/fuse/connections
pstore on /sys/fs/pstore
debugfs on /sys/kernel/debug
securityfs on /sys/kernel/security
none on /tmp
Esta listagem deve mostrar todos os caminhos à direita onde você tem um sistema de arquivos virtual montado e o tipo correspondente de sistema de arquivos à esquerda. Como mencionado acima, devido à filtragem de /dev/sd*
apenas, pode haver alguns resultados falso-positivos na lista.
Dessa lista, podemos concluir que /dev
, /proc
, /run
, /sys
e /tmp
são puramente virtuais. Note que enquanto os quatro primeiros diretórios são virtuais em todas as instalações do Ubuntu, /tmp
é normalmente armazenado no disco rígido, a menos que você faça manualmente um tmpfs como eu fiz. No entanto, ele nunca deve ser incluído em um backup.
Se você quiser uma maneira de reduzir essa lista de caminhos e filtrar todos aqueles que são apenas subdiretórios de caminhos já mencionados (por exemplo, /dev/pts
pode ser omitido porque /dev
já está listado), veja Tendo uma lista de caminhos, como posso filtrar os subdiretórios dos caminhos mencionados anteriormente?