Answers:
如果不存在具有该名称的目录,则将文件重命名为openvpn
位于根目录中/
。要还原此内容,请运行:
sudo mv /openvpn /etc/MyFile.conf
如果目录确实存在,则将文件移入其中,则还原为:
sudo mv /openvpn/MyFile.conf /etc/
要将其移动到当前目录的现有子目录中,可以运行以下任意一个–那些使用相对路径:
mv MyFile.conf openvpn
mv MyFile.conf openvpn/
mv MyFile.conf ./openvpn
mv MyFile.conf ./openvpn/
.
是指向当前目录的链接,因此./
在路径的开头表示“在此目录中”。末尾的斜杠表示该openvpn
目录是您要在其中移动文件的目录。如果您不提供该文件,那么如果存在具有该名称的目录,则文件将被移入其中,否则文件将被重命名为openvpn
。/
末尾带有a ,mv
将在目录丢失且未重命名时警告您,因此,如果您不想重命名,这就是安全的方法。
/
另一方面,如果您的路径以绝对路径开头,则无论当前工作目录是什么,它始终是相对于根目录的/
。对文件和目标使用绝对路径,您的命令将如下所示:
mv /etc/MyFile.conf /etc/openvpn
mv /etc/MyFile.conf /etc/openvpn/
移动文件时,您告诉OS您要放置文件的目录或要提供的新路径。
您告诉操作系统“ / openvpn”。因此,它将完全执行该操作-检查/ openvpn是否存在(表示位于根目录中的名为“ openvpn”的对象) 并且是目录,如果是,则将文件移入其中,或者/ openvpn是文件还是不存在,请重命名并移动您的文件,以便现在可以将其作为/ openvpn访问。
您要执行的操作是将其移动到当前目录中的“ openvpn”目录中,而不是文件系统根目录(即前导“ /”所代表的目录)中。因此,您必须在move命令中指向该目录,而不是绝对路径“ / openvpn”。这些中的任何一个都可以工作:
mv MyFile.conf openvpn
-在我当前的目录中查找此“ openvpn”mv MyFile.conf /etc/openvpn
-寻找绝对路径/ etc / openvpnmv MyFile.conf openvpn/
-在我当前的目录中查找名为openvpn的目录mv MyFile.conf ./openvpn
-使“当前目录”更加明显简短版本-您可能使用“ /”来表示“我的当前目录”,因此使用“ / openvpn”来表示“当前目录中的openvpn”。但是前导“ /”仅表示“根目录”,因此“ / openvpn”表示“根目录中的openvpn”。您只需要简单地使用“ openvpn”或“ openvpn /”,即“我当前目录中的 openvpn ”。
任何以开头的路径/
都是绝对路径,而不是相对路径。
如果所有路径始终都是相对于当前目录的,那么您cd /etc
首先会如何?您必须cd ../../../../../etc
并且希望这是足够的级别..
,或者只是继续做cd ..
直到到达根目录。
否则,您需要其他语法来表达绝对路径。但是Unix决定使用/
绝对的含义,其他与该进程当前工作目录有关的其他内容。所以mv MyFile.txt openvpn
会工作。
不,从现有文件或不存在文件中推断绝对值还是相对值并不可行。我们不希望mkdir
系统调用将路径与系统调用区别对待,chdir
或者rename
让mv
程序执行此操作只会为mv
与其他需要输出文件名的程序之间的不一致留出余地。
mv
之所以很特别,是因为当rename()
目标是目录时,它将源文件名附加到该目标目录中,然后重试。但是请注意,一个简单的实现策略依赖于第一个rename()
系统调用失败,EEXIST
或失败EISDIR
。因此,在检查文件系统之前,我们必须知道路径是相对的还是绝对的。
(早期的Unix在运行速度较慢的计算机上运行,在该计算机上进行额外的检查是否存在目录可能意味着如果未缓存该目录,则可能会导致额外的I / O,否则会对目录缓存产生更大的压力。但是我认为,理智/正确性参数足以解释为什么您第一次猜测如果不诉诸历史效率论证,这并不是该系统正常工作的方式。)
要完成其他答案:
mv file.txt /location
与Windows相同
mv file.txt c:\location
linux中的文件系统被认为符合文件系统层次结构标准,简称FHS。它可以帮助您根据文件的性质和内容知道应将文件放置在何处。
第一个文件夹(c:
在Windows中等于)/
。
sudo mv /openvpn/MyFile.conf /etc/
首先尝试使用该命令。在可能的情况下,该目录不存在,它只会给您一个错误(可能是“ Not a directory”),并且不会触摸文件系统。然后,您可以这样做sudo mv /openvpn /etc/MyFile.conf
。