Sobre .
No UNIX / Linux, .
significa o diretório atual. Você também o verá listado nos comandos 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
Barras, ./
e os links simbólicos
Ao anexar o /
a ele, isso tem o mesmo significado que acrescentar um /
a qualquer outro nome de diretório. Isso apenas fará com que você não esteja operando em um arquivo. Geralmente, isso não será uma diferença nos comandos cp
e mv
, mas você verá uma diferença quando estiver usando links simbólicos. Suponha esta estrutura:
.
├── a
├── dir1
│ ├── b
│ └── c
├── dir2
│ └── d
└── symlink -> dir2
Em seguida, uma listagem normal mostrará o link em si
ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb 3 12:15 symlink -> dir2
mas anexar o /
fará com que a lista entre nele e mostre o conteúdo.
ls -l symlink/
total 0
-rw-rw-r-- 1 gert gert 0 Feb 3 12:15 d
Isso significa que, ao usar operações, é bom acrescentar o /
se você se referir ao conteúdo dele ou se você quiser copiá-lo / movê-lo , desreferindo o link, em vez do que substituir o link em si.
Veja também: Trailing slashes em links simbólicos para diretórios
Voltar para o exemplo
No exemplo da sua pergunta, você quer apenas mover o conteúdo do diretório para o outro. Então, como aneeshep apontou , você deve usar mv ./* destdir/
. Isso é o mesmo que mv * destdir/
quando seu shell (Bash) expande o *
do diretório atual por padrão.
Então, eu rodaria assim (no diretório fonte):
mv * /etc/apache2/sites-available/