Bernd Brodesser schrieb am Don, 07 Jun 2001:
Hallo Florian,
* Florian Evers schrieb am 07.Jun.2001:
Ich bin auf ein Problem mit cp gestossen, das ich nicht mit Hilfe von 'man cp' loesen konnte.
Kein Wunder, denn es hat unmittelbar auch nichts mit cp zu tun.
Ich wollte alle Dateien meines Home-Verzeichnisses in ein anderes Verzeichnis, z.B. /home/sicher, sicherheitskopieren. Dazu nahm ich den Befehl 'cp -a /home/name/* /home/sicher/'. Dabei
So, was sieht cp von diesem Befehl? Die *shell* interpretiert diese Zeile zuerst und macht daraus: cp -a /home/name/datei1 /home/name/datei2 .... /home/sicher
Wobei datei1, datei2, ... für Deine Dateien steht, die in Deiner /home/name stehen. cp bekommt von dem * nichts mit. cp weiß nur, daß er all diese Dateien nach dem letzten Eintrag, hier /home/sicher kopieren soll. Es ist für cp völlig gleich, ob Du es so eingibst, wie Du es geschrieben hast, also mit * oder ob Du alle Dateien einzeln aufführst. cp hat keinerlei Möglichkeiten da zu unterscheiden.
wurden jedoch keine unsichtbaren (.name) Dateien mitkopiert!
Klar, denn die Shell ersetzt * nicht durch Dateien, die mit . beginnen. Völlig egal, ob der Befehl cp, ls oder sonstwie heißt.
Ich habe leider keine Schalterkombination gefunden, um *Alles* kopieren zu koennen :( Geht dies mit cp ueberhaupt?
Hat wie gesagt nichts mit cp zu tun. Möglich wäre
cp -a /home/name/* /home/name/.??* /home/sicher
dann bekommst Du aber eine Fehlermeldung, wenn es keine Dateien gibt, die mit . anfangen. Die beiden ? sind dafür, daß . und .. nicht mitkopiert werden. Wenn Du dann eine Datei hast, die z.B .a heißt, so wird auch diese nicht mitkopiert. Aber meist sind Dateinamen länger als einen Buchstaben. Kann man natürlich auch noch mitnehmen:
cp -a /home/name/* /home/name/.??* /home/name/.[^.] /home/sicher
aber wie gesagt, wenn das nicht existiert, gibt es Fehlermeldungen, denn dann wird z.B /home/name.[^.] von der shell uninterpretiert nach cp weitergegeben und das existiert wohl nicht.
Also, bei mir habe ich in der crontab zur taeglichen Sicherung meiner Dateien 'cp -fR /home/* /backup' stehen. Funktioniert einwandfrei auch mit unsichtbaren Dateien und Verzeichnissen. HTH Manfred -- Registered Linux-User #216556 http://counter.li.org./ ******************************************* In a World without Walls and Fences, who needs Windows and Gates? *******************************************