Wie kann ich eine Datei aus einem anderen Verzeichnis in das aktuelle kopieren?

Wie kann ich eine Datei aus einem anderen Verzeichnis in das aktuelle kopieren?

Ich habe im Rahmen einer Schulaufgabe folgendes Problem:

Bildschirmfoto

NOTIZ:Falls das Lesen im Bild oben schwierig ist, hier die Verzeichnisstruktur:

$ tree
.
`-- sample_dir1
    `-- sample_dir
        |-- admin
        |-- cambridge
        |   |-- cafeteria
        |   |-- library
        |   `-- security
        |       |-- annex
        |       |-- building
        |       `-- parking
        |-- faculty
        |-- history.exe
        |-- markham
        |   |-- annex
        |   |-- building1
        |   `-- parking
        |-- oxford
        |   |-- outline.doc
        |   |-- programming
        |   |   `-- report.pdf
        |   `-- security
        `-- stenton
            |-- gen_ed
            `-- lib_arts
                |-- english.txt
                `-- match.doc

15 directories, 11 files

Ich habe versucht, den folgenden Befehl auszuführen:

$ cp ../cambridge/security/parking ./parking2

...aber es funktioniert nicht. Die Frage im obigen Bild besagt, dass das aktuelle Verzeichnis ist stentonund dass wir eine Kopie der Datei mit dem Namen parking(aus dem securityVerzeichnis) erstellen und die neue Datei benennen parking2und im aktuellen Verzeichnis stentonunter Verwendung relativer Pfadnamen ablegen müssen.

Was mache ich falsch? Mein cpBefehl scheint korrekt zu sein.

Antwort1

Das Problem, auf das Sie stoßen, scheint bei Ihrem Hausaufgabenprogramm zu liegen.

Aus Ihrem Kommentar zur anderen Antwort geht hervor, dass Sie Folgendes versucht haben:

cp ../cambridge/security/parking ./parking2

Dies ist ein vollkommen gültiger Befehl in einer normalen Shell. Das Problem liegt jedoch wahrscheinlich darin, dass Ihr Testprogramm das nicht ./möchte ./parking2.

Wenn Sie den Pfad zu einer Datei angeben (mit praktisch jedem Programm, nicht nur ), wird der Pfad implizit zu , cpwenn er keinen Anfangsbuchstaben hat . Sie sollten also auf der sicheren Seite sein, wenn Sie Ihren Befehl wie folgt ändern:/./

cp ../cambridge/security/parking parking2

Antwort2

Dies ist eine sehr elementare Frage. Ich würde die Manpages dazu nachlesen. Aber nichtsdestotrotz ist hier Ihre Antwort:

cp <SOURCE> .

Zum Beispiel:

Ich habe eine Datei in diesem Verzeichnis: /home/rkah/sample1 Die Datei heißt:sample

Angenommen, ich möchte zu meinem Home-Verzeichnis wechseln (das hier lautet:) /home/rkah/und samplenach kopieren /home/rkah/. Dann würde ich den folgenden Befehl ausführen:

cp ~/sample/sample .Das .Symbol steht für das aktuelle Arbeitsverzeichnis bzw. das Verzeichnis, in dem ich mich gerade befinde.

verwandte Informationen