Sobre .
No UNIX / Linux, .
significa o diretório atual. Você também o verá listado em ls
comandos:
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 a /
ele, isso tem o mesmo significado que anexar a /
a qualquer outro nome de diretório. Isso garantirá que você não esteja operando em um arquivo. Geralmente, isso não será uma diferença cp
e mv
comandos, 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 lista regular mostrará o próprio link
ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb 3 12:15 symlink -> dir2
mas anexar a /
lista fará com que ela desça 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, é recomendável anexar o item /
se você se referir ao conteúdo ou se deseja copiar / mover para ele desreferenciando o link, em vez de substituí-lo.
Consulte também: Rastreando barras nos links simbólicos para diretórios
Voltar ao exemplo
No exemplo da sua pergunta, você realmente deseja mover apenas o conteúdo do diretório para o outro. Então, como aneeshep apontou , você deve usar mv ./* destdir/
. É o mesmo que mv * destdir/
seu shell (Bash) expande o *
diretório atual por padrão.
Então, eu executaria assim (no diretório de origem):
mv * /etc/apache2/sites-available/