À propos de .
Sous UNIX / Linux, .
signifie le répertoire courant. Vous le verrez également répertorié dans les ls
commandes:
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
Les barres obliques ./
et les liens symboliques
Lorsque vous y ajoutez le /
, cela a la même signification que l'ajout d'un /
à n'importe quel autre nom de répertoire. Il s'assurera simplement que vous n'opérez pas sur un fichier. Généralement, ce ne sera pas une différence dans les commandes cp
et mv
, mais vous verrez une différence lorsque vous utilisez des liens symboliques. Supposons que cette structure:
.
├── a
├── dir1
│ ├── b
│ └── c
├── dir2
│ └── d
└── symlink -> dir2
Ensuite, une liste régulière montrera le lien lui-même
ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb 3 12:15 symlink -> dir2
mais en y ajoutant la /
liste de volonté, elle descendra et affichera le contenu.
ls -l symlink/
total 0
-rw-rw-r-- 1 gert gert 0 Feb 3 12:15 d
Cela signifie que lorsque vous utilisez des opérations, c'est une bonne chose d'ajouter le /
si vous vous référez à son contenu ou si vous souhaitez le copier / déplacer en déréférençant le lien, plutôt que de remplacer le lien lui-même.
Voir aussi: Trailing slashes sur les liens symboliques vers les répertoires
Retour à l'exemple
Dans l'exemple de votre question, vous voulez vraiment déplacer uniquement le contenu du répertoire dans l'autre. Donc, comme l'a souligné aneeshep , vous devez utiliser mv ./* destdir/
. C'est la même chose que mv * destdir/
votre shell (Bash) développe le *
répertoire courant par défaut.
Donc, je l'exécuterais comme ceci (dans le répertoire source):
mv * /etc/apache2/sites-available/