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 :
-iou--invert- inverser le sens de correspondance
-Rou--submounts- afficher tous les sous-montages pour les systèmes de fichiers correspondants
-tou--typeslist- 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/fstabsystèmes de fichiers où le répertoire du point de montage est/mnt/foo. Il imprime également--bindse monte où/mnt/fooest 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 -Doufindmnt --df- Imitez la sortie de
df(1). Cette option est équivalente à-o SOURCE,FSTYPE,SIZE,USED,AVAIL,USE%,TARGETmais exclut tous les pseudo-systèmes de fichiers. Utilisez--allpour 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).