Ich habe Probleme mit dem Move-Befehl. Ich habe zwei Verzeichnisse namens Cat erstellt und Dog . Unter Cat Ich habe eine Datei namens puppies erstellt .
Wenn ich versuche, puppies zu bewegen von Cat zu Dog Ich erhalte No such file or directory . Wenn ich jedoch zurückgehe und cd Cat und ls -a , es zeigt puppies . Dann gehe ich zurück zu meinem Home-Verzeichnis und ls -a , und Cat und Dog aufgelistet.
Was mache ich also falsch?
Akzeptierte Antwort:
Einige nützliche Dinge, die Sie wissen sollten, wenn Sie mit Dateien arbeiten:
- Linux ist Groß-/Kleinschreibung (also
Dog,DogundDOGsind alles verschiedene Dateien) - Wie Befehle funktionieren, hängt davon ab, wo Sie sich befinden im Dateisystem
- Je nachdem, wo Sie sich gerade befinden, können Sie relativ verwenden oder absolut Pfadnamen
Wenn Sie sich also im übergeordneten Verzeichnis von Cat befinden und Dog Sie können relative Pfadnamen wie folgt verwenden:
mv Cat/puppies Dog
Ein leichter Fehler besteht darin, den Pfadnamen beginnend mit / einzugeben
mv /Cat/puppies /Dog
Dies ergibt ein no such file or directory Fehler, weil / ist das Stammverzeichnis und es gibt kein Cat und Dog Verzeichnisse unter / . Schau mal:
ls /
Ein Grund für diese Verwirrung ist, dass das System eine hilfreiche Abkürzung für das Home-Verzeichnis des Benutzers verwendet, also anstelle von /home/username/somefile Sie können ~/somefile eingeben als absoluter Pfadname von somefile im Home-Verzeichnis Ihres Benutzers, also unter der Annahme von Cat und Dog ganz oben im Home-Verzeichnis Ihres Benutzers befinden, können Sie puppies verschieben von Cat zu Dog von überall in Ihrem Dateisystem mit
mv ~/Cat/puppies ~/Dog
Ein paar Beispiele mit relativen Pfadnamen
Wenn Sie sich im Verzeichnis Cat befinden , können Sie puppies verschieben so
mv puppies ../Dog
.. gibt das übergeordnete Verzeichnis des aktuellen Arbeitsverzeichnisses an
Wenn Sie sich im Verzeichnis Dog befinden Sie können Welpen so bewegen
mv ../Cat/puppies .
. gibt das aktuelle Arbeitsverzeichnis an
Um herauszufinden, wo Sie sich befinden, können Sie sich normalerweise Ihre Eingabeaufforderung ansehen, aber um sicherzugehen, können Sie immer mit pwd nachsehen was für „Arbeitsverzeichnis drucken“ steht