Je me demande s'il existe une commande identique pour copier un dossier dans le répertoire actuel comme il l'a fait avec l'ancien MS-DOS. Disons que mon emplacement de répertoire actuel est:
/var/www/
J'ai des dossiers et des fichiers sur:
/home/hope/subfolder/docs/
/home/hope/subfolder/images/
/home/hope/subfolder/.config
/home/hope/subfolder/readme.txt
Je sais que la commande suivante:
cp -rT /home/hope/subfolder .
copiera tous les fichiers (même les fichiers cachés par points) et les dossiers du dossier "subfolder" dans le répertoire courant, donc le résultat sera:
/var/www/docs/
/var/www/images/
/var/www/.config
/var/www/readme.txt
On dirait que la commande pour copier le dossier source vers l'emplacement actuel est:
cp -rT /home/hope/subfolder ./subfolder
bien que ce soit bien, je trouve que parfois je ferai des erreurs pour les noms de dossier compliqués pour la destination, donc y a-t-il un moyen d'utiliser une commande comme:
cp -rT /home/hope/subfolder .
ou même comme ça
cp -rT /home/hope/subfolder /var/www/.
pour avoir le résultat suivant:
/var/www/subfolder/docs/
/var/www/subfolder/images/
/var/www/subfolder/.config
/var/www/subfolder/readme.txt
Merci.
Oubliez simplement le paramètre -T, car c'est ce qui empêche la commande de fonctionner correctement:
cp -r /home/hope/subfolder .
Le paramètre -T traite l'argument cible comme un fichier, donc aucune copie ne sera effectuée du tout s'il s'agit en fait d'un répertoire.
Un rappel amical: pratiquement toutes les commandes Unix ont un argument de ligne de commande - help qui vaut la peine d'être essayé en cas de problème :)
Pour moi, le principal obstacle était la partie/home. Je devais copier des fichiers d'un dossier dans ma maison qui commençait par la lettre "a" dans mon dossier actuel, qui n'était pas à la maison. J'ai donc utilisé:
cp home/tmp/a* ./
la première ligne a fonctionné pour moi. Pendant que j'essayais des commandes comme:
cp ~/home/tmp/a* ./
mais cela n'a pas fonctionné.