
Ich versuche, die Befehle „Kopieren, Verschieben“ und „Entfernen“ in Linux zu verwenden, erhalte aber immer Fehlermeldungen. Es gibt drei Symbole in Linux-Verzeichnisstrukturen, mit denen ich Schwierigkeiten habe. Diese sind „.“ „~“ und „/“. Ich möchte beispielsweise eine Datei in einem Verzeichnis eine Ebene höher kopieren. Muss ich cp ./Dateiname ~/Verzeichnis/ . oder was auch immer eingeben? Mir wurde gesagt, dass ich den . einfügen muss, um es mit demselben Namen zu kopieren.
Ja, ich habe das CP-Handbuch gelesen, aber es enthält keine Einzelheiten.
Antwort1
filename
Um eine aufgerufene Datei aus dem aktuellen Verzeichnis in das übergeordnete Verzeichnis zu kopieren , müssen Sie
cp filename ..
Das ..
bedeutet "das übergeordnete Verzeichnis", und wenn Sie keinDateinameFür die Datei am Ziel (im zweiten Argument steht nur ein Verzeichnis) bleibt der Dateiname derselbe wie zuvor.
Es ist nicht notwendig, hier den Pfadbegrenzer zu verwenden /
, aber Siekönntehabe geschrieben
cp ./filename ../
auch. Mit ./
ist man in der Lage, explizit „im aktuellen Verzeichnis“ auszudrücken.
~/directory
Wenn Sie die Datei aus dem Verzeichnis directory
in Ihrem Home-Verzeichnis in das darüber liegende Verzeichnis kopieren möchten , dann
cp ~/directory/filename ~
Dies ~
ist eine Kurzschreibweise für den Pfad zu Ihrem Home-Verzeichnis, und das übergeordnete Verzeichnis von ~/directory
ist Ihr Home-Verzeichnis. Das Home-Verzeichnis, ~
, muss weder mit .
noch in Beziehung stehen ..
, d. h. das aktuelle Verzeichnis ( .
) und das darüber liegende Verzeichnis ( ..
) können sich an einem völlig anderen Ort als Ihrem Home-Verzeichnis befinden, je nachdem, wohin in der Verzeichnisstruktur Sie sich mit dem Befehl bewegt haben cd
.
Sie können auch
cp ~/directory/filename ~/directory/..
Das wäre aber etwas umständlich einzutippen.
So kopieren Sie eine Datei aus dem übergeordneten Verzeichnis des aktuellen Verzeichnisses in ein anderes Verzeichnis (hier ~/directory
als Beispiel):
cp ../filename ~/directory