. means the current directory. You'll also see it listed in
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
./ and the symbolic links
When appending the
/ to it, this has the same meaning as appending a
/ to any other directory name. It will just make sure you're not operating on a file. Generally, this will not be a difference in
mv commands, but you will see a difference when you're using symbolic links. Suppose this structure:
│ ├── b
│ └── c
│ └── d
└── symlink -> dir2
Then a regular listing will show the link itself
ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb 3 12:15 symlink -> dir2
but appending the
/ will make it list descend into it and showing the contents.
ls -l symlink/
-rw-rw-r-- 1 gert gert 0 Feb 3 12:15 d
This means that when using operations, it's a good thing to append the
/ if you refer to the contents of it or you want to copy/move into it by dereferencing the link, rather than replacing the link itself.
See also: Trailing slashes on symbolic links to directories
Back to the example
In the example in your question you really want to only move the contents of the directory into the other. So, as aneeshep pointed out, you should use
mv ./* destdir/. This is the same as
mv * destdir/ as your shell (Bash) expands the
* from the current directory by default.
So, I would run it like this (in the source directory):
mv * /etc/apache2/sites-available/