Ne pas utiliser mount
.
À partir de man mount
:
- La liste.
- Le mode de liste est maintenu uniquement pour la rétrocompatibilité.
- Pour une sortie plus robuste et personnalisable, utilisez
findmnt
(8), en particulier dans vos scripts. - Notez que les caractères de contrôle dans le nom du point de montage sont remplacés par ? .
Utilisez findmnt
, comme le suggère la documentation. Voici quelques options intéressantes décrites par findmnt --help
:
-i
ou--invert
- inverser le sens de correspondance
-R
ou--submounts
- afficher tous les sous-montages pour les systèmes de fichiers correspondants
-t
ou--types
list
- limiter l'ensemble des systèmes de fichiers par types FS
Ce ne sont que quelques-uns des beaucoup filtres que vous pouvez appliquer sur la ligne de commande.
man findmnt
- EXEMPLES
findmnt --fstab -t nfs
- Imprime tous les systèmes de fichiers NFS définis dans
/etc/fstab
. findmnt --fstab /mnt/foo
- Imprime tous les
/etc/fstab
systèmes de fichiers où le répertoire du point de montage est/mnt/foo
. Il imprime également--bind
se monte où/mnt/foo
est une source.
Vous pouvez utiliser :
findmnt -it sysfs,cgroup,proc,devtmpfs,devpts,pstore,debugfs,hugetlbfs,mqueue,configfs
Cela devrait filtrer tous les pseudo-systèmes de fichiers, je crois.
Pourtant, vous pouvez faire la même chose avec mount
:
mount -t nosysfs,nodevtmpfs...
Une meilleure façon pourrait être d'utiliser l'une des commandes suivantes, qui findmnt --help
décrit comme indiqué :
findmnt -D
oufindmnt --df
- Imitez la sortie de
df
(1). Cette option est équivalente à-o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGET
mais exclut tous les pseudo-systèmes de fichiers. Utilisez--all
pour imprimer tous les systèmes de fichiers.
- Imitez la sortie de
Vous pouvez ajouter des champs de liste aux valeurs par défaut avec findmnt -Do
+field,+field
.... Vous pouvez spécifier votre propre liste de champs en utilisant uniquement les systèmes de fichiers -D
s'afficherait en omettant le +
comme findmnt -Do
field,field
.
Que diriez-vous :
mount | grep '^/[^/]'
Les points de montage relatifs aux disques physiques commenceront toujours par un /
puisque le premier champ est le chemin d'accès à un périphérique. cifs
les montures commenceront par //
donc exclure les lignes avec un second /
pour les ignorer.
Mettre à jour
J'ai mal lu la question, je pensais que vous vouliez exclure cifs
et nfs
. Essayez ceci à la place :
mount | grep -E '^[^ ]*[/:]'
Le -t
option pour mount
fonctionne également lors de l'affichage des points de montage et prend une liste de types de systèmes de fichiers séparés par des virgules :
mount -t ext3,ext4,cifs,nfs,nfs4,zfs
Je ne sais pas si c'est mieux la solution. Si vous commencez à utiliser (par exemple btrfs
) et oubliez de l'ajouter à la liste, vous ne le verrez pas et ne le manquerez peut-être pas. Je préfère filtrer activement tout nouveau système de fichiers "inintéressant" lorsqu'il apparaît, même si cette liste devient longue.
Vous ne pouvez activement essayer que grep
les points de montage intéressants similaires à ce que @Graeme a proposé, mais puisque vous êtes également intéressé par les montages NFS/CIFS (qui ne commencent pas par /
), vous devez faire :
mount | grep -E --color=never '^(/|[[:alnum:]\.-]*:/)'
( le --color
est nécessaire pour supprimer la coloration du /
initial sur les lignes trouvées). Comme l'a souligné Graeme, le montage basé sur le nom des partages NFS devrait également être autorisé. Le modèle sélectionne soit des lignes commençant par un /
ou toute combinaison de "a-zA-Z0-9". suivi de :/
(pour les montages NFS).