这是什么意思?


9

什么./意思

例如:以下命令是否意味着将文件从Gapache2文件夹移动到sites-available

root@ip-10-112-55-203:/etc/mds-1.2-beta4/sana/config/etc/Gapache2# mv ./ /etc/apache2/sites-available

如果没有,应该如何修改?

我尝试从Google搜索中获取一些信息。但./被搜索引擎忽略。

Answers:


13

在Unix / linux中,这.意味着当前目录/etc/mds-1.2-beta4/sana/config/etc/Gapache2。还有许多快捷方式,例如:

  • ..:父目录(/etc/mds-1.2-beta4/sana/config/etc/
  • ~:主文件夹

因此要将所有文件夹和文件从/etc/mds-1.2-beta4/sana/config/etc/Gapache2移至/etc/apache2/sites-available,命令将如下所示

mv ./* /etc/apache2/sites-available/

更新: 此链接是基本UNIX命令的良好资源


同样也要移动隐藏文件,实际上您需要一个更复杂的glob表达式(或不同的shell设置)。见stackoverflow.com/questions/1586477/...
安德烈Corbellini

(在此评论中假装是新用户)./表示当前目录”../那么有什么区别?我以为那只是.当前目录。
gertvdijk

@gertvdijk:更新了答案。:)
aneeshep

3

关于 .

在UNIX / Linux中,.表示当前目录。您还将在ls命令中看到它:

ls -al
total 40348
drwx------  20 root root     4096 Feb  2 23:05 .               <-- there!
drwxr-xr-x  24 root root     4096 Jan 31 20:07 ..
-rw-r--r--   1 root root      322 Dec 16 17:35 20-revert

斜线./和符号链接

附加时/,其含义与将a附加/到任何其他目录名称相同。这只会确保您没有对文件进行操作。通常,cpmv命令没有什么区别,但是使用符号链接时,您会看到不同。假设此结构:

.                                                                   
├── a                                                               
├── dir1
│   ├── b
│   └── c
├── dir2
│   └── d
└── symlink -> dir2

然后常规清单将显示链接本身

ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb  3 12:15 symlink -> dir2

但附加/将会使它的列表下降并显示其内容。

ls -l symlink/
total 0
-rw-rw-r-- 1 gert gert 0 Feb  3 12:15 d

这意味着在使用操作时,/如果引用它的内容,或者想要通过取消引用链接而不是替换链接本身来复制/移动其中,则最好添加。

另请参阅:指向目录的符号链接上的斜杠

回到例子

在问题的示例中,您确实只想将目录的内容移到另一个目录中。因此,正如aneeshep指出的那样,您应该使用mv ./* destdir/。这与默认情况下mv * destdir/您的shell(Bash)*从当前目录扩展的效果相同。

因此,我将这样运行它(在源目录中):

mv * /etc/apache2/sites-available/
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.