web-dev-qa-db-fra.com

Que signifie?

Que signifie ./?

Par exemple: La commande suivante signifie-t-elle déplacer des fichiers du dossier Gapache2 vers sites-available:

root@ip-10-112-55-203:/etc/mds-1.2-beta4/sana/config/etc/Gapache2# mv ./ /etc/Apache2/sites-available

Si non, comment cela devrait-il être modifié?

J'ai essayé d'obtenir quelque chose de Google Search. Mais ./ est ignoré par les moteurs de recherche.

9
madhu131313

Sous Unix/linux . signifie le répertoire en cours dans votre cas /etc/mds-1.2-beta4/sana/config/etc/Gapache2. Il y a aussi beaucoup de raccourcis comme:

  • ..: répertoire parent (/etc/mds-1.2-beta4/sana/config/etc/)
  • ~: dossier personnel

Donc, pour déplacer tous les dossiers et fichiers de /etc/mds-1.2-beta4/sana/config/etc/Gapache2 à /etc/Apache2/sites-available, la commande sera comme ceci

mv ./* /etc/Apache2/sites-available/

UPDATE: Ce lien est une bonne ressource pour les commandes UNIX de base

13
aneeshep

À propos de .

Sous UNIX/Linux, . désigne le répertoire en cours. Vous le verrez également répertorié dans les commandes 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

Slash, ./ et les liens symboliques

Lors de l'ajout du /, cela a la même signification que l'ajout d'un / à tout autre nom de répertoire. Cela permettra simplement de vous assurer que vous n'opérez pas sur un fichier. Généralement, les commandes cp et mv ne diffèrent pas, 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 ajouter le / lui fera descendre la liste et montrer 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, il est bon d’ajouter le / si vous vous référez à son contenu ou si vous voulez copier/déplacer dans en déréférencant le lien, plutôt que de remplacer le lien lui-même.

Voir aussi: tirets de fin sur les liens symboliques vers des 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 devriez utiliser mv ./* destdir/. C'est la même chose que mv * destdir/ car votre Shell (Bash) développe le * à partir du répertoire actuel par défaut.

Donc, je le lancerais comme ceci (dans le répertoire source):

mv * /etc/Apache2/sites-available/
3
gertvdijk