GNU/Linux >> Tutoriels Linux >  >> Linux

10 exemples pratiques d'utilisation de la commande scp

Vous connaissez probablement déjà la commande cp sous Linux qui est utilisée pour copier des fichiers sous Linux. La commande cp ne peut être utilisée que sur la machine locale.

Mais qu'en est-il de la copie de fichiers depuis un système Linux distant ? Pour copier des fichiers depuis un serveur distant ou vers un serveur distant, vous pouvez utiliser une commande appelée scp.

Curiosité :scp est l'abréviation de Copie sécurisée.

syntaxe de la commande scp

La syntaxe et l'utilisation de la commande scp sont similaires à la commande cp et vous le verrez sous peu dans ces exemples de commande scp.

Mais examinons d'abord la syntaxe de la commande scp :

scp <options> source_path destination_path

Selon l'origine du fichier à copier, la source peut être client ou serveur. Si la source est le client, la destination est le serveur et vice-versa.

Mais cela semble trop simple, n'est-ce pas ? L'objectif principal de la commande scp est n d'utiliser le format correct pour le format du chemin source ou de destination.

Un chemin typique vers un fichier ou un répertoire sur le serveur est représenté dans ce format :

<username>@<ip_address_of_system>:<path_to_the file/directory>

En fait, vous pouvez également utiliser [email protected] dans la commande scp mais il est plus probable que vous vous retrouviez avec une erreur "Impossible de résoudre le nom d'hôte ".

En effet, la corrélation du nom d'hôte avec l'adresse IP dépend de la configuration réseau du réseau du serveur. L'utilisation de l'adresse IP réelle vous évite les ennuis.

Éléments à garder à l'esprit avant d'utiliser la commande scp

Voici quelques éléments dont vous avez besoin avant de pouvoir utiliser la commande scp sur votre système Linux :

  • Assurez-vous que ssh est installé et en cours d'exécution sur les ordinateurs client et serveur, car la commande scp utilise ssh en interne. Si ssh n'est pas installé, installez-le en utilisant la commande "sudo apt install ssh" sur des machines basées sur Debian ou en utilisant les gestionnaires de paquets respectifs de votre distribution.
  • Vous devez connaître le nom d'utilisateur et le mot de passe du système distant. Vous serez invité à entrer le mot de passe de l'hôte distant. Votre transfert de fichiers commencera seulement lorsque vous entrez le mot de passe correct de l'hôte distant.

Utilisation de la commande scp sous Linux :10 exemples pratiques

Maintenant que nous avons vu la syntaxe de la commande scp et le format pour spécifier le chemin vers le serveur, voyons maintenant comment utiliser la commande scp.

1. Copier un fichier sur le système distant à l'aide de la commande scp

Pour copier un seul fichier d'une machine locale vers un hôte distant, spécifiez le chemin d'accès au fichier en tant que chemin source et chemin dans l'hôte distant où le fichier doit être copié.

scp abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

2. Copier un fichier depuis le système distant à l'aide de la commande scp

Copier un fichier d'un système distant vers le système local est à peu près le même. Il vous suffit de spécifier le chemin complet du fichier sur le système distant et le chemin sur le système local.

Donc, pour copier le fichier du système distant vers le répertoire actuel, utilisez simplement la commande de la manière suivante :

scp [email protected]<ip_address_of_xyz>:/remote/user/home/abc.txt .

3. Copier plusieurs fichiers à l'aide de la commande scp

Pour copier plusieurs fichiers de la machine locale vers l'hôte, spécifiez simplement le nom des fichiers comme chemin source.

scp abc.txt def.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

4. Copier un répertoire entier avec la commande scp

Copier un répertoire à l'aide de scp est également identique à la commande cp. Vous pouvez utiliser l'option -r et spécifier le nom du dossier comme chemin source. C'est ce qu'on appelle le mode récursif.

scp -r ~/Desktop/test [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

Vous pouvez également spécifier plusieurs répertoires et les copier tous en une seule commande.

5. Voir les détails du transfert de fichier dans la sortie

Si vous êtes curieux de savoir ce qui se passe dans les coulisses lors de la copie, vous pouvez utiliser l'option -v pour voir tous les processus exécutés, y compris le débogage, l'état de sortie, le chiffrement, le déchiffrement, etc. C'est ce qu'on appelle le mode verbeux.

scp -v abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

6. Copie de fichiers sur deux hôtes distants

Jusqu'à présent, vous avez vu comment copier d'une machine locale vers une machine distante.
Pour copier des fichiers d'un ordinateur distant vers un autre ordinateur distant, spécifiez les chemins de la source et de la destination au format de l'ordinateur distant comme indiqué ci-dessus.

scp [email protected]<ip_address_of_abc>:<path_of_file_or_folder> [email protected]<ip_address_of_xyz>:<path_of_file_or_folder

Inutile de dire que vous devez connaître le mot de passe des deux systèmes ici.

7. Copier des fichiers avec compression [réduit le temps de transfert]

Si vous essayez de copier un groupe de fichiers ensemble, cela prendra plus de temps que le transfert d'un seul fichier de taille équivalente à la somme de tous les fichiers individuels.

Si vous pensez que vous devez augmenter la vitesse de transfert des fichiers, vous pouvez compresser les fichiers en utilisant l'option -C et transférer les fichiers.

La meilleure chose est que la compression ne se produit que lors du transfert. Une fois le transfert terminé, les fichiers seront stockés dans leur forme d'origine. Vous ne verrez pas un fichier arhcive mais tous les fichiers individuels tels qu'ils étaient sur le serveur distant.

scp -C abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

8. Limitation de la bande passante du transfert de fichiers

Si vous pensez que le transfert de fichiers utilise la majeure partie de la bande passante, vous pouvez réduire la bande passante du transfert de fichiers en utilisant l'option -l suivie du nouveau taux de bande passante.

scp -l 800 abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

Notez que la bande passante que vous spécifiez dans la commande est en kilobits par seconde, mais lors du transfert des fichiers, la sortie de la commande scp affichera le taux de transfert en kilooctets par seconde.

Puisque 1 octet =8 bits, les 8 300 kilobits par seconde dans le paramètre de commande deviennent 100 kilooctets par seconde dans la sortie de la commande.

9. Préserver les attributs d'origine des fichiers copiés

Si vous devez conserver les attributs de fichier d'origine tels que les autorisations et la propriété du fichier, les horodatages de fichier, etc., utilisez l'option -p.

scp -p abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

10. Masquer la sortie de la commande scp

Si vous n'êtes pas à l'aise avec la longue sortie de la commande scp, vous pouvez éviter la sortie de la commande en utilisant l'option -q. C'est ce qu'on appelle le mode silencieux.

Il masque même la progression de la copie des fichiers.

scp -q abc.txt [email protected]<ip_address_of_xyz>:/home/xyz/Desktop

Dans les exemples ci-dessus, vous avez vu comment copier les fichiers sur l'hôte distant à partir de la machine locale. Si vous avez besoin de copier des fichiers de l'hôte distant vers la machine locale, écrivez le chemin du fichier/dossier à copier depuis l'hôte distant comme chemin source et le chemin où le fichier/dossier doit être collé dans la machine locale comme destination chemin.

Pour plus de détails sur la commande scp, veuillez consulter sa page de manuel.

J'espère que vous avez maintenant compris comment tirer le meilleur parti de la commande scp pour copier en toute sécurité des fichiers entre ordinateurs. Personnellement, je préfère utiliser la commande rsync plutôt que scp car rsync a plus de fonctionnalités.

Si vous rencontrez des problèmes, n'hésitez pas à poser des questions dans la section des commentaires ci-dessous. Et si vous connaissez une autre astuce de commande scp géniale, partagez-la avec le reste d'entre nous ici.


Linux
  1. 10 exemples pratiques de commandes Grep pour les développeurs

  2. Commande cp sous Linux :7 exemples pratiques

  3. Commande d'arrêt de Linux :5 exemples pratiques

  4. Commande nslookup :7 exemples pratiques

  5. 5 exemples pratiques de commande Linux fuser

12 exemples pratiques d'In Command sous Linux

Les 50 exemples pratiques de la commande SED sous Linux

15 exemples pratiques de commande Rsync sous Linux

5 exemples pratiques de la commande Tail sous Linux

commande echo sous Linux :7 exemples pratiques

Commande Ping pratique dans des exemples Linux