Si un répertoire portant ce nom n'existe pas, vous avez renommé le fichier openvpn
situé dans votre répertoire racine /
. Pour annuler cela, exécutez:
sudo mv /openvpn /etc/MyFile.conf
Si le répertoire existait, vous avez déplacé le fichier à l'intérieur, alors la réversion est:
sudo mv /openvpn/MyFile.conf /etc/
Pour le déplacer vers un sous-répertoire existant du répertoire actuel, vous pouvez exécuter n'importe lequel d'entre eux - ceux-ci utilisent des chemins relatifs :
mv MyFile.conf openvpn
mv MyFile.conf openvpn/
mv MyFile.conf ./openvpn
mv MyFile.conf ./openvpn/
.
est un lien vers le répertoire courant, donc ./
au début d'un chemin signifie "dans ce répertoire". La barre oblique à la fin signifie qu'il openvpn
s'agit d'un répertoire et que vous souhaitez déplacer le fichier à l'intérieur. Si vous ne le fichier sera fournir, pas déplacé en si existe un répertoire avec ce nom, sinon le fichier sera renommé à openvpn
. Avec un /
à la fin, mv
vous avertira si le répertoire est manquant et ne pas renommer, c'est donc le moyen sécurisé si vous ne voulez pas renommer.
Si votre chemin commence par /
d'autre part, c'est un chemin absolu quel que soit le répertoire de travail actuel, il est toujours relatif au répertoire racine /
. En utilisant des chemins absolus pour le fichier et la destination, votre commande ressemblerait à ceci:
mv /etc/MyFile.conf /etc/openvpn
mv /etc/MyFile.conf /etc/openvpn/
Lectures complémentaires
sudo mv /openvpn/MyFile.conf /etc/
commande. Dans le scénario probable, le répertoire n'existait pas, il vous donnerait simplement une erreur (probablement "Pas un répertoire") et ne toucherait pas le système de fichiers. Ensuite, vous pouvez simplement fairesudo mv /openvpn /etc/MyFile.conf
.Vous devez utiliser
pour déplacer le
MyFile.conf
fichier dans leopenvpn
sous-répertoire de/etc/
.D'autre part
déplacerait le fichier vers le
/
répertoire asopenvpn
(c.-à-d. renommer asopenvpn
) à la place (en supposant que le/openvpn
répertoire n'existe pas).la source
Lorsque vous déplacez un fichier, vous indiquez au système d'exploitation le répertoire dans lequel vous souhaitez le placer ou le nouveau chemin que vous souhaitez lui attribuer.
Vous avez dit à l'OS "/ openvpn". Donc, cela va faire exactement cela - vérifiez si / openvpn existe (signifiant un objet appelé "openvpn" situé dans le répertoire racine) et est un répertoire, et si oui, déplacez votre fichier dedans, ou bien si / openvpn est un fichier ou n'existe pas, renommez et déplacez votre fichier pour qu'il soit désormais accessible sous / openvpn.
Ce que vous vouliez, c'était de le déplacer dans un répertoire "openvpn", qui se trouve dans votre répertoire actuel , pas celui qui se trouve dans le répertoire racine du système de fichiers (c'est ce que signifie le "/" principal). Il fallait donc pointer vers ce répertoire dans la commande de déplacement, pas vers le chemin absolu "/ openvpn". N'importe lequel de ces éléments fonctionnera:
mv MyFile.conf openvpn
- recherchez dans mon répertoire actuel ce "openvpn"mv MyFile.conf /etc/openvpn
- recherchez le chemin absolu / etc / openvpnmv MyFile.conf openvpn/
- recherchez dans mon répertoire actuel, un répertoire appelé openvpnmv MyFile.conf ./openvpn
- rend le "dir actuel" encore plus évidentVersion courte - vous avez probablement utilisé "/" pour signifier "mon répertoire actuel", donc "/ openvpn" pour signifier "openvpn qui est dans mon répertoire actuel". Mais un "/" de tête ne signifie que "le répertoire racine", donc "/ openvpn" signifiait "openvpn dans le répertoire racine". Ce dont vous aviez besoin était simplement d'utiliser "openvpn" ou "openvpn /", ce qui signifie "openvpn dans mon répertoire actuel ".
la source
Tout chemin commençant par
/
est un chemin absolu et non relatif.Si tous les chemins étaient toujours relatifs au répertoire courant, comment le feriez-vous
cd /etc
en premier lieu? Vous devriezcd ../../../../../etc
et espérer que ce soit suffisamment de niveaux..
, ou continuer à le fairecd ..
jusqu'à ce que vous arriviez au répertoire racine.Ou vous auriez besoin d'une autre syntaxe pour exprimer des chemins absolus. Mais Unix a décidé de
/
vouloir dire absolu, tout le reste étant relatif au répertoire de travail actuel du processus. Celamv MyFile.txt openvpn
fonctionnerait aussi.Et non, cela ne fonctionnerait pas bien pour déduire une valeur absolue ou relative à partir de fichiers existants ou non. Nous ne voudrions pas que les
mkdir
appels système traitent les cheminschdir
ou lesrename
appels système différemment , et faire en sorte que lemv
programme le fasse laisse simplement place à une incohérence entremv
et un autre programme qui prend un nom de fichier de sortie.mv
est déjà spécial car lorsque larename()
destination est un répertoire, il ajoute le nom du fichier source à ce répertoire de destination et réessaye. Mais notez qu'une stratégie d'implémentation simple repose sur l'rename()
échec du premier appel système avecEEXIST
ouEISDIR
. Nous devons donc savoir si un chemin est relatif ou absolu avant de vérifier le système de fichiers.(Early Unix fonctionnait sur des ordinateurs lents, où des vérifications supplémentaires si un répertoire existait pouvaient signifier des E / S supplémentaires s'il n'était pas mis en cache, ou plus de pression sur la mise en cache du répertoire. n'était pas un moyen plausible pour le système de fonctionner, sans recourir à des arguments d'efficacité historiques.)
la source
Pour compléter les autres réponses:
est le même que pour Windows
Le système de fichiers sous Linux est pensé conformément à la norme de hiérarchie des systèmes de fichiers , ou FHS pour faire court. il vous aide à savoir où placer un fichier en fonction de sa nature et de son contenu.
Le premier dossier (équivalent à
c:
Windows) est/
.la source