Ls sowohl Informationen als auch Mount-Punkte eines Verzeichnisses auflisten?

7

Auf meinem Ubuntu Natty sind normalerweise alle neu eingesetzten Laufwerke (z. B. USB-Flash-USB-Sticks) unter montiert /media. Auf meinem System kann ich also Folgendes tun:

$ mount | grep '/media'
/dev/sda6 on /media/disk1 type ext4 (rw,uhelper=hal,commit=0)
/dev/sda9 on /media/disk2 type ext4 (rw,nosuid,nodev,uhelper=udisks,commit=0)

# create proper dir
$ sudo mkdir /media/properdir
# creat symlink
$ sudo ln -s /tmp /media/

$ ls -la /media/
total 24
drwxr-xr-x  6 root          root          4096 2013-04-08 16:35 .
drwxr-xr-x 22 root          root          4096 2013-03-23 21:44 ..
drwxr-xr-x 36 username      username      4096 2013-04-06 19:15 disk2
drwxr-xr-x 11 username      username      4096 2012-04-10 12:24 disk1
drwxr-xr-x  2 root          root          4096 2013-04-08 16:35 properdir
lrwxrwxrwx  1 root          root             4 2013-04-08 16:35 tmp -> /tmp

... das heißt, lsunterscheidet nicht zwischen einem "richtigen" Verzeichnis und einem Einhängepunkt für ein Laufwerk. Was ich gerne hätte, ist eine Werkzeugausgabe möglicher Einhängepunkte, ähnlich wie ein Symlink von angezeigt wird ls; Beispiel:

$ lsMOUNT -la /media/
total 24
drwxr-xr-x  6 root          root          4096 2013-04-08 16:35 .
drwxr-xr-x 22 root          root          4096 2013-03-23 21:44 ..
drwxr-xr-x 36 username      username      4096 2013-04-06 19:15 disk2 => /dev/sda9
drwxr-xr-x 11 username      username      4096 2012-04-10 12:24 disk1 => /dev/sda6
drwxr-xr-x  2 root          root          4096 2013-04-08 16:35 properdir
lrwxrwxrwx  1 root          root             4 2013-04-08 16:35 tmp -> /tmp

Hat der Richtige lseine Option für so etwas? Wenn nicht, gibt es Tools, die dieselben Befehlszeilenargumente wie akzeptieren ls, aber potenzielle Mountpunkte auflösen können?

sdaau
quelle

Antworten:

1

Das wäre eine schöne Funktion. Sie können die Leute bitten, dies zu berücksichtigen. :-)

Bis sie dies tun, müssen Sie Ihr eigenes Skript schreiben (Sie können dann einen Alias ​​für ls verwenden), das für jedes Ausgabeverzeichnis prüft, ob es sich um einen Mountpoint handelt. Für einzelne Verzeichnisse kann dies mit dem Befehl erfolgen mountpoint, für lange Auflistungen würde ich jedoch eine Optimierung empfehlen: Lesen Sie die Mount-Punkte von ab /proc/mounts, rufen Sie dann auf ls(mit --quoting-style=set so, dass Sie die Ausgabe zuverlässig analysieren können) und überprüfen Sie dann den Verzeichnisnamen von jede Zeile oder jeder Eintrag gegen die Mountpoint-Liste. Für Übereinstimmungen fügen Sie einfach Ihr Lieblingssymbol hinzu.

Hauke ​​Laging
quelle