Mon objectif est de copier uniquement tous les fichiers de ~/local_dir vers [email protected]/var/www/html/target_dir en utilisant scp et ne créez pas de catégorie local_dir dans local_dir.
/var/www/html/target_dir/files..
mais non
/var/www/html/target_dir/local_dir/files..
lors de l'utilisation du paramètre -r
scp a l'argument -r. Essayez donc d'utiliser:
$ scp -r ~/local_dir [email protected]:/var/www/html/target_dir
L'argument -r fonctionne exactement comme l'argument -r dans cp, il transférera l'intégralité de votre dossier et tous les fichiers et sous-répertoires à l'intérieur.
Si votre objectif est de transférer tous les fichiers de local_dir
le *
le caractère générique fait l'affaire:
$ scp ~/local_dir/* [email protected]:/var/www/html/target_dir
Le -r
option signifie "récursivement", vous devez donc l'écrire lorsque vous essayez de transférer un répertoire entier ou plusieurs répertoires.
De man scp
:
-r
Recursively copy entire directories. Note that scp follows symbolic links encountered in the tree traversal.
Donc, si vous avez des sous-répertoires dans local_dir
, le dernier exemple transférera uniquement des fichiers, mais si vous définissez -r
option, il transférera les fichiers et répertoires.
Ajout de /.
dans votre répertoire source transférera son contenu au lieu du répertoire lui-même. Contrairement à la solution générique, cela inclura également tous les fichiers cachés.
$ scp -r ~/local_dir/. [email protected]:/var/www/html/target_dir
Le mérite de cette solution revient à roaima, mais je pensais qu'elle devrait être publiée comme une réponse réelle, pas seulement un commentaire.
Suivez ces étapes:
Copier le répertoire local_dir
avec tous ses sous-répertoires:
scp -r ~/local_dir [email protected] /var/www/html/target_dir
copier uniquement le contenu de local_dir
et non le répertoire local_dir
lui-même:
scp -r ~/local_dir/* [email protected] /var/www/html/target_dir
Ne pas utiliser: scp -r ~/local_dir/. [email protected] /var/www/html/target_dir
car il génère une erreur (vient d'être testé et a reçu l'erreur suivante):
scp: error: unexpected filename: .