ole@defiant:~/test> vi themenvorschlag.txt ole@defiant:~/test> ls -l insgesamt 4 -rw-r--r-- 1 ole users 2123 Okt 9 10:25 themenvorschlag.txt ole@defiant:~/test> cp themenvorschlag.txt themenvorschlag.txt.alt ole@defiant:~/test> ls -l insgesamt 8 -rw-r--r-- 1 ole users 2123 Okt 9 10:25 themenvorschlag.txt -rw-r--r-- 1 ole users 2123 Okt 9 10:26 themenvorschlag.txt.alt ole@defiant:~/test>
So kann einfach eine Sicherungskopie einer Datei erstellt werden. In den meisten Fällen werden aber eine oder mehrere Dateien in ein anderes Verzeichnis kopiert, wie z. B. in /floppy für die Diskette. In diesem Fall wird anstatt der Zieldatei ein Zielverzeichnis angegeben. Erkennt der Befehl cp, daß das Ziel ein existierendes Verzeichnis ist, dann kopiert er die Datei ohne den Namen zu ändern in das Verzeichnis. Existiert kein Verzeichnis, so wird die Angabe als Dateiname verstanden und die Datei dementsprechend kopiert. Übrigens: cp überschreibt in der normalen Einstellung existierende Dateien gnadenlos.
ole@defiant:~/test> mkdir backup ole@defiant:~/test> ls -l backup/ insgesamt 0 ole@defiant:~/test> cp themenvorschlag.txt backup ole@defiant:~/test> ls -l backup/ insgesamt 4 -rw-r--r-- 1 ole users 2123 Okt 9 10:40 themenvorschlag.txt
Sie können auch mehrere Dateien zum Kopieren angegeben, wenn Ihr Ziel ein Verzeichnis ist.
ole@defiant:~/test> cp /etc/enscript.cfg /etc/esd.conf backup ole@defiant:~/test> ls -l backup insgesamt 16 -rw-r--r-- 1 ole users 5983 Okt 9 10:43 enscript.cfg -rw-r--r-- 1 ole users 77 Okt 9 10:43 esd.conf -rw-r--r-- 1 ole users 2123 Okt 9 10:40 themenvorschlag.txt
Wenn Sie das aktuelle Verzeichnis als Ziel angeben wollen, machen Sie das einfach durch den Punkt `.'. Genauso können Sie das Elternverzeichnis mit `..' als Ziel angeben. Um zu sehen, welche Dateien kopiert worden sind, benutzen Sie den Befehl cp einfach mit dem Schalter -v (verbose). Diese auch als ``Blubberschalter'' bekannte Option veranlaßt den Befehl dazu ausführlich über seine Tätigkeit zu berichten. Sie werden bei vielen Shell-Befehlen die Option -v wiederfinden. Sie können natürlich auch für die Liste der zu kopierenden Dateien die Jokerzeichen wie den Asterisk ``*'' verwenden.
ole@defiant:~/test> cp -v /etc/f* . »/etc/fam.conf« -> »./fam.conf« »/etc/fb.modes« -> »./fb.modes« »/etc/fdprm« -> »./fdprm« »/etc/filesystems« -> »./filesystems« »/etc/fstab« -> »./fstab« »/etc/ftpusers« -> »./ftpusers«
Um also eine Datei umzubennen benutze ich den Befehl mv unter Angabe von altem und neuem Namen.
ole@defiant:~/test> ls -l insgesamt 12 drwxr-xr-x 2 ole users 4096 Okt 9 10:43 backup -rw-r--r-- 1 ole users 2123 Okt 9 10:25 themenvorschlag.txt -rw-r--r-- 1 ole users 2123 Okt 9 10:26 themenvorschlag.txt.alt ole@defiant:~/test> mv themenvorschlag.txt.alt themenvorschlag.old ole@defiant:~/test> ls -l insgesamt 12 drwxr-xr-x 2 ole users 4096 Okt 9 10:43 backup -rw-r--r-- 1 ole users 2123 Okt 9 10:26 themenvorschlag.old -rw-r--r-- 1 ole users 2123 Okt 9 10:25 themenvorschlag.txt
Um die Syntax eines Shell-Kommandos kurz und knapp darzustellen, werden Syntaxregeln mit einer bestimmten Symbolik verwendet.
Der mv Befehl kann als Syntaxregel so ausgedrückt werden:
mv ALTERNAME NEUERNAME
Die groß geschriebenen Worte stehen für den Wert, der dort eingetragen werden muß.
Ähnlich wie bei cp führt die Angabe eines existierenden Verzeichnis als Ziel dazu, daß die Datei nicht umbenannt, sondern in das Verzeichnis unter Beibehaltung des Namens verschoben wird.
ole@defiant:~/test> mv themenvorschlag.old backup ole@defiant:~/test> ls -l insgesamt 8 drwxr-xr-x 2 ole users 4096 Okt 9 11:09 backup -rw-r--r-- 1 ole users 2123 Okt 9 10:25 themenvorschlag.txt oole@defiant:~/test> ls -l backup insgesamt 8 -rw-r--r-- 1 ole users 2123 Okt 9 10:26 themenvorschlag.old -rw-r--r-- 1 ole users 2123 Okt 9 10:40 themenvorschlag.txt
Wenn Sie ein Verzeichnis als Ziel angeben, können Sie nicht nur eine Datei verschieben, sondern eine ganze Liste von Dateien.
ole@defiant:~/test> touch datei1.txt datei2.txt datei3.txt ole@defiant:~/test> ls -l insgesamt 8 drwxr-xr-x 2 ole users 4096 Okt 9 11:10 backup -rw-r--r-- 1 ole users 0 Okt 9 11:12 datei1.txt -rw-r--r-- 1 ole users 0 Okt 9 11:12 datei2.txt -rw-r--r-- 1 ole users 0 Okt 9 11:12 datei3.txt -rw-r--r-- 1 ole users 2123 Okt 9 10:25 themenvorschlag.txt ole@defiant:~/test> mv d*.txt backup ole@defiant:~/test> ls -l backup insgesamt 8 -rw-r--r-- 1 ole users 0 Okt 9 11:12 datei1.txt -rw-r--r-- 1 ole users 0 Okt 9 11:12 datei2.txt -rw-r--r-- 1 ole users 0 Okt 9 11:12 datei3.txt -rw-r--r-- 1 ole users 2123 Okt 9 10:26 themenvorschlag.old -rw-r--r-- 1 ole users 2123 Okt 9 10:40 themenvorschlag.txt
Die Kommandosyntax kann durch folgende Regeln ausgedrückt werden:
mv DATEILISTE ZIELVERZEICHNIS
oder auch als
mv DATEI1 [DATEI2 [DATEI3 [...]]] ZIELVERZEICHNIS
Die eckigen Klammern zeigen an, daß der entsprechende Teil optional ist und nicht unbedingt notwendig.
Auch bei mv gibt es den ``Blubberschalter'' -v und noch weitere Optionen. Die Syntaxregel unter Berücksichtigung der Optionen lautet dann:
mv [-v] DATEILISTE ZIELVERZEICHNIS
oder auch
mv [OPTIONEN] DATEILISTE ZIELVERZEICHNIS