GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Lassen Sie ls alles in einer Zeile drucken (wie im Terminal)

Lösung 1:

ls | xargs

Es funktioniert für mich, es ist der einfachste Weg, den ich je gefunden habe. Hoffe, das hilft dir auch.

Lösung 2:

Ich kenne keinen Schalter, der das tun könnte, aber Sie können Ihre Ausgabe durch tr leiten um es zu tun:

ls | tr "\n" " " | <whatever you like>

Lösung 3:

Wenn Ihr ls diese Option hat, können Sie einen hohen Wert verwenden und es könnte tun, was Sie wollen:

ls -w 10000 -C . | head

Lösung 4:

Ah, jetzt, wo Sie die Frage aktualisiert haben ....

while true ; do echo * ; done | uniq

wird tun, was Sie gepostet haben, nur einfacher.

Sie sind jedoch besser dran, etwas zu verwenden, das Inotify verwendet, um dies zu tun, z. B.

inotifywait -m . -e create,delete

wenn du kein inotify hast, dann funktioniert so etwas auch gut:

import os
import time

last = set()
while True:
    cur = set(os.listdir('.'))
    added = cur-last
    removed = last-cur
    if added: print 'added', added
    if removed: print 'removed', removed
    last = set(os.listdir('.'))
    time.sleep(0.1)

Lösung 5:

Was ist mit dem ganz Trivialen?

echo *

? :-) Sie müssen dafür nicht einmal forken. :-)


Linux
  1. Eine Reihe von Befehlen mit einem Sudo ausführen?

  2. Einzeilige Bedingungsüberprüfung im Makefile?

  3. GameHub – Alle Ihre Spiele an einem Ort

  4. Verschieben Sie alle Dateien bis auf eine

  5. Wie kann ich grep die Zeilen unter und über jeder übereinstimmenden Zeile drucken lassen?

Drucken Sie Dateien von Ihrem Linux-Terminal aus

So drucken Sie eine JSON-Datei im Linux-Terminal

Drucken Sie die neuesten Weltraumereignisse mit Nextinspace im Terminal

Einzeiliger FTP-Server

Unterstützte Terminaltypen auflisten?

Löschen aller Partitionen über die Befehlszeile