Follow

Zwei Linux Fragen:

1. Ist der Punkt davor die einzige Möglichkeit, Dateien/Ordner auszublenden? Oder gibt es noch andere Arten auf die ich achten müsste?

2 sehe ich in der Konsole grundsätzlich trotzdem alle Dateien und Ordner?

Will beim Kopieren und Verschieben einfach vermeiden, dass was übersehen wird.

@stardenver ja, nur Dateien/Ordner die mit nem Punkt anfangen, sind versteckt. Es gibt auch Symlinks, d.h. Verweise auf andere Dateien. In der Konsole siehst du grundsätzlich alle Dateien (zB mit ls -all), aber musst drauf achten Dateien mit Leerzeichen nicht zu verlieren, weil das manchmal Probleme macht (zB mit *)

@stardenver Ja und nein.

Der Punkt versteckt nicht nur Einträge, sondern wird auch mit dem * glob nicht gefunden.

Nein, im Terminal siehst Du das nicht automatisch. ls -a zeigt das an. Aber es gibt oft aliase für ls, die Default-Optionen verwenden, bspw. in LS_OPTIONS. Musst gucken, was Du da eigentlich aufrufst.

@stardenver Eine umständliche Möglichkeit ' um die Ecke' sind Softlinks . Denn cp/mv wirkt sich nicht auf deren Zieldatei aus. Ein anderer unguter "Trick" , häufig unfreiwillig erzeugt, sind Sonderzeichen in Dateinamen. Ein guter Trick wäre ein Ownershipwechsel ( chown) mit Entzug der Zugriffsrechte ( chmod) . Dann kann zwischen den einfachen cp/mv Kommandos und komplexen Archiv ( tar, cpio u.a) oder find -exec Möglichkeiten unterschieden werden. tar nimmt Punktfiles immer mit.

@stardenver standardmäßig nur der führende Punkt. Die werden ohne `-a` auch auf der Konsole nicht angezeigt. Es kann aber auch Distributionen geben, die backup Dateien (z.B. mit einer Tilde [~) am Ende) ausblenden. Ich mach das so. Backupprogramme wie tar oder rsync kopieren grundsätzlich alles. Damit brauchst Du Dir also keine Gedanken machen, ob auch alles kopiert wird und es werden mit den richtigen Optionen auch die Zeitstempel erhalten.

@stardenver 1. Der Punkt als erstes Zeichen des Namens ist die einzige Möglichkeit, zu verstecken.
2. Mit "ls -lha" zeigst du grundsätzlich alle Dateien an.

Auf der Kommandozeile steht der * für alle sichtbaren Dateien. Sicherer gehst du, wenn du
"find ."
anwendest. Das findet alle Dateien und Ordner im aktuellen Verzeichnis (".").
"find . -exec mv -iv {} <ziel> \;"
bewegt den gesamten Inhalt des aktuellen Ordners nach <ziel>. Für . kannst du auch /path/to/all/the/cool/files einsetzen.

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!