Di .
In UNIX / Linux, .
indica la directory corrente. Lo vedrai anche elencato nei ls
comandi:
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
Barre ./
e collegamenti simbolici
Quando lo si aggiunge /
ad esso, questo ha lo stesso significato di aggiungere /
a qualsiasi altro nome di directory. Assicurerà solo che non stai operando su un file. In generale, questa non sarà una differenza nei comandi cp
e mv
, ma vedrai una differenza quando usi i collegamenti simbolici. Supponiamo che questa struttura:
.
├── a
├── dir1
│ ├── b
│ └── c
├── dir2
│ └── d
└── symlink -> dir2
Quindi un elenco regolare mostrerà il link stesso
ls -l symlink
lrwxrwxrwx 1 gert gert 4 Feb 3 12:15 symlink -> dir2
ma aggiungendo la /
farai scendere la lista e mostrarne il contenuto.
ls -l symlink/
total 0
-rw-rw-r-- 1 gert gert 0 Feb 3 12:15 d
Ciò significa che quando si utilizzano le operazioni, è consigliabile aggiungere il /
riferimento se si fa riferimento al contenuto di esso o si desidera copiarlo / spostarsi in esso dereferenziando il collegamento, anziché sostituirlo.
Vedi anche: Trailing slash su collegamenti simbolici alle directory
Torna all'esempio
Nell'esempio della tua domanda, vuoi veramente spostare solo il contenuto della directory nell'altra. Quindi, come ha sottolineato Aneeshep , dovresti usare mv ./* destdir/
. Questo è lo stesso mv * destdir/
della shell (Bash) che si espande *
dalla directory corrente per impostazione predefinita.
Quindi, lo eseguo in questo modo (nella directory dei sorgenti):
mv * /etc/apache2/sites-available/