Sofern kein Verzeichnis mit diesem Namen vorhanden ist, haben Sie die Datei openvpn
in Ihr Stammverzeichnis umbenannt /
. Führen Sie Folgendes aus, um dies rückgängig zu machen:
sudo mv /openvpn /etc/MyFile.conf
Wenn das Verzeichnis vorhanden war, in das Sie die Datei verschoben haben, lautet die Umkehrung:
sudo mv /openvpn/MyFile.conf /etc/
Um es in ein vorhandenes Unterverzeichnis des aktuellen Verzeichnisses zu verschieben, können Sie eines davon ausführen - diese verwenden relative Pfade:
mv MyFile.conf openvpn
mv MyFile.conf openvpn/
mv MyFile.conf ./openvpn
mv MyFile.conf ./openvpn/
.
ist ein Link zum aktuellen Verzeichnis, bedeutet also ./
am Anfang eines Pfades "in diesem Verzeichnis". Der Schrägstrich am Ende bedeutet, dass openvpn
es sich um ein Verzeichnis handelt und Sie die Datei darin verschieben möchten. Wenn Sie es nicht weiter , wird die Datei verschoben hinein , wenn ein Verzeichnis mit diesem Namen existiert, sonst die Datei wird umbenannt zu openvpn
. Mit einem /
am Ende mv
werden Sie gewarnt, wenn das Verzeichnis fehlt und nicht umbenannt wird. Dies ist also der sichere Weg, wenn Sie nicht umbenennen möchten.
Wenn Ihr Pfad /
andererseits mit einem absoluten Pfad beginnt, unabhängig vom aktuellen Arbeitsverzeichnis, ist er immer relativ zum Stammverzeichnis /
. Wenn Sie absolute Pfade für Datei und Ziel verwenden, sieht Ihr Befehl folgendermaßen aus:
mv /etc/MyFile.conf /etc/openvpn
mv /etc/MyFile.conf /etc/openvpn/
Weiterführende Literatur
sudo mv /openvpn/MyFile.conf /etc/
Befehl. In dem wahrscheinlichen Szenario, in dem das Verzeichnis nicht vorhanden war, wird nur ein Fehler angezeigt (wahrscheinlich "Kein Verzeichnis") und das Dateisystem nicht berührt. Dann können Sie einfach tunsudo mv /openvpn /etc/MyFile.conf
.Sie müssen verwenden
um die
MyFile.conf
Datei in dasopenvpn
Unterverzeichnis von zu verschieben/etc/
.Auf der anderen Seite
würde die Datei stattdessen in das
/
Verzeichnis verschiebenopenvpn
(dh umbenennen inopenvpn
) (vorausgesetzt, das/openvpn
Verzeichnis existiert nicht).quelle
Wenn Sie eine Datei verschieben, teilen Sie dem Betriebssystem das Verzeichnis mit, in das Sie sie einfügen möchten, oder den neuen Pfad, den Sie angeben möchten.
Sie haben dem Betriebssystem "/ openvpn" mitgeteilt. Also wird es genau das tun - prüfen Sie, ob / openvpn existiert (dh ein Objekt namens "openvpn" im Stammverzeichnis) und ein Verzeichnis ist, und verschieben Sie in diesem Fall Ihre Datei in das Verzeichnis, oder ob / openvpn eine Datei ist oder existiert nicht, benenne deine Datei um und verschiebe sie, so dass sie jetzt als / openvpn zugänglich ist.
Sie wollten, dass es in ein Verzeichnis "openvpn" verschoben wird, das sich in Ihrem aktuellen Verzeichnis befindet , nicht in einem Verzeichnis , das sich im Stammverzeichnis des Dateisystems befindet (was das führende "/" bedeutet). Sie mussten also im Befehl move auf dieses Verzeichnis zeigen, nicht auf den absoluten Pfad "/ openvpn". Alle diese Funktionen funktionieren:
mv MyFile.conf openvpn
- suche in meinem aktuellen Verzeichnis nach diesem "openvpn"mv MyFile.conf /etc/openvpn
- Suchen Sie nach dem absoluten Pfad / etc / openvpnmv MyFile.conf openvpn/
- Suchen Sie in meinem aktuellen Verzeichnis nach einem Verzeichnis namens openvpnmv MyFile.conf ./openvpn
- macht das "aktuelle Verzeichnis" noch deutlicherKurzversion - Sie haben wahrscheinlich "/" verwendet, um "mein aktuelles Verzeichnis" zu bedeuten, daher bedeutet "/ openvpn" "openvpn, das sich in meinem aktuellen Verzeichnis befindet". Ein führendes "/" bedeutet jedoch immer nur "das Stammverzeichnis", daher bedeutete "/ openvpn" "openvpn im Stammverzeichnis". Was Sie brauchten, war einfach "openvpn" oder "openvpn /" zu verwenden, was "openvpn in meinem aktuellen Verzeichnis " bedeutet.
quelle
Jeder Pfad, der mit beginnt,
/
ist ein absoluter Pfad, nicht relativ.Wenn alle Pfade immer relativ zum aktuellen Verzeichnis wären, wie würden Sie sich überhaupt
cd /etc
verhalten? Sie müsstencd ../../../../../etc
und hoffen, dass das genug Level ist..
, oder machencd ..
Sie einfach weiter, bis Sie zum Stammverzeichnis gelangen.Oder Sie benötigen eine andere Syntax, um absolute Pfade auszudrücken. Unix entschied sich jedoch für
/
absolut, alles andere war relativ zum aktuellen Arbeitsverzeichnis des Prozesses. Somv MyFile.txt openvpn
funktionieren würde.Und nein, es würde nicht gut funktionieren, aus vorhandenen oder nicht vorhandenen Dateien absolut oder relativ zu schließen. Wir möchten nicht , dass
mkdir
Systemaufrufe zu behandeln Pfade anderschdir
oderrename
Systemaufrufe, und macht dasmv
Programm tut es bleibt nur Raum für Widerspruch zwischenmv
und einem anderen Programm , das eine Ausgabedatei nimmt.mv
ist bereits etwas Besonderes, da dasrename()
Ziel, wenn es sich um ein Verzeichnis handelt, den Quelldateinamen an dieses Zielverzeichnis anhängt und es erneut versucht. Beachten Sie jedoch, dass eine einfache Implementierungsstrategie darauf beruht, dass der ersterename()
Systemaufruf mitEEXIST
oder fehlschlägtEISDIR
. Wir müssen also wissen, ob ein Pfad relativ oder absolut ist, bevor wir das Dateisystem überprüfen.(Early Unix lief auf langsamen Computern, auf denen zusätzliche Überprüfungen, ob ein Verzeichnis vorhanden war, zusätzliche E / A bedeuten könnten, wenn es nicht zwischengespeichert wurde, oder mehr Druck auf das Verzeichnis-Caching. Ich denke jedoch, dass Argumente für Vernunft / Korrektheit ausreichen, um zu erklären, warum Sie zuerst raten war keine plausible Funktionsweise des Systems, ohne auf historische Effizienzargumente zurückzugreifen.)
quelle
So vervollständigen Sie die anderen Antworten:
ist das gleiche wie für Windows
Das Dateisystem unter Linux entspricht dem Dateisystem-Hierarchiestandard , kurz FHS . Es hilft Ihnen zu wissen, wo eine Datei je nach Art und Inhalt abgelegt werden soll.
Der erste Ordner (entspricht
c:
Windows) ist/
.quelle