Que veut ./
dire?
Par exemple: la commande suivante signifie-t-elle déplacer des fichiers du Gapache2
dossier vers sites-available
:
root@ip-10-112-55-203:/etc/mds-1.2-beta4/sana/config/etc/Gapache2# mv ./ /etc/apache2/sites-available
Sinon, comment cela devrait-il être modifié?
J'ai essayé d'obtenir quelque chose de la recherche Google. Mais ./
est ignoré par les moteurs de recherche.
command-line
directory
madhu131313
la source
la source
./
signifie le répertoire courant" Quelle est la différence entre.
et./
ensuite? Je pensais que cela.
signifie simplement le répertoire actuel.À propos de
.
Sous UNIX / Linux,
.
signifie le répertoire courant. Vous le verrez également répertorié dans lesls
commandes:Les barres obliques
./
et les liens symboliquesLorsque 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 commandescp
etmv
, mais vous verrez une différence lorsque vous utilisez des liens symboliques. Supposons que cette structure:Ensuite, une liste régulière montrera le lien lui-même
mais en y ajoutant la
/
liste de volonté, elle descendra et affichera le contenu.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 quemv * 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):
la source