.png)
Ich suche nach einer Möglichkeit, in meinem Terminal eine Liste aller Dateien/Ordner des aktuellen Verzeichnisses anzuzeigen, die automatisch aktualisiert wird und ausgeführt wird, während ich aktiv navigiere und Dateien bearbeite.
Ich stelle mir vor, dass das mit einem Terminal-Multiplexer irgendwie möglich ist. Aber ich weiß nicht, wie man einen anderen Prozess über die Änderung im aktuellen Prozess informieren könnte.
Wenn ich watch ls -a
in einer geteilten Ansicht arbeite, wird sie nur aktualisiert, wenn sich Dateien im selben Verzeichnis ändern, nicht, wenn sich das Verzeichnis meiner anderen geteilten Ansicht ändert.
Im Grunde möchte ich, dass es ungefähr so aussieht:
Wie könnte dies erreicht werden?
Antwort1
Sie könnten die PID von Shell 1 und deren Prozessinformationen (CWD) zum Aktualisieren ls
in Shell 2 verwenden.
Schale 1:
$ echo $$
24678
Schale 2:
$ watch ls /proc/24678/cwd/
Jetzt können Sie cd
Shell 1 verwenden und die Ansicht in Shell 2 wird in Shell 2 aktualisiert (standardmäßig alle 2 Sekunden).
Ein nettes Gimmick: Sie können es verwenden, watch -d
um die Unterschiede zwischen aufeinanderfolgenden Updates (Dateierstellungen/-löschungen usw.) hervorzuheben.
Antwort2
MöglicherweiseMitternachtskommandantoder macht ein ähnliches Programm das, was Sie wollen? Sie können das Terminalfenster mit zwei Dateilisten überlagern, es gibt Tastaturkürzel, aber Sie können trotzdem zu einer vollständigen Shell wechseln.