Vous avez du mal avec la commande Linux Secure Copy? Utilisez cet exemple scp

La commande scp vous permet de copier un fichier efficacement entre deux hôtes différents. La syntaxe de scp réutilise la syntaxe de cp, elle devrait donc sembler familière à la plupart des utilisateurs de Linux.

Le problème avec la commande scp est que la source ou la destination peuvent être distantes, c'est-à-dire un ordinateur connecté à un autre réseau, différent de votre réseau local. Lorsque vous spécifiez un fichier à copier, vous devez également inclure des détails sur l'hôte distant. Cela inclut son adresse IP et son nom d'utilisateur.

Téléchargement d'un fichier à l'aide de la commande scp

La syntaxe générale de scp est:

 scp source destination

Remarquez que c'est essentiellement la même syntaxe que la commande cp .

L'exemple le plus simple de scp est celui que vous utiliserez probablement le plus: télécharger un fichier de votre machine locale vers un serveur distant. Dans ce cas, la partie source de la commande est simple et la destination est plus compliquée:

 scp index.html [email protected]:/var/www/html/

Cela copiera un fichier local nommé index.html sur l'hôte distant. Vous pouvez le spécifier de la même manière que vous spécifiez un fichier pour toute autre commande. Il peut s'agir d'une référence absolue ou relative au fichier. Ainsi, index.html , ../index.html et /home/bobby/index.html sont différentes manières que vous pouvez utiliser pour spécifier un fichier local.

La destination dans l'exemple est [email protected]: / var / www / html / . Cela signifie que:

  1. L'utilisateur bobby sera le propriétaire du nouveau fichier sur le serveur distant. Cet utilisateur devra exister et vous devriez pouvoir y accéder.
  2. Le nom d'hôte du serveur sur lequel nous téléchargerons le fichier est example.org . Nous avons spécifié le domaine ici, mais vous pouvez également utiliser une adresse IP à la place.
  3. Sur ce serveur, scp téléchargera le fichier dans le répertoire / var / www / html / .

Une fois que vous entrez cette commande, votre terminal vous demandera généralement le mot de passe de l'utilisateur que vous avez spécifié sur la machine distante.

Téléchargement d'un répertoire entier

Voici une variante un peu plus compliquée qui télécharge un répertoire entier:

 scp -rpC [email protected]:/tmp/docs /home/bobby

Tout d'abord, vous devriez remarquer que la source est maintenant une machine distante, tandis que la destination est locale. Outre le changement de commande, ces détails de source et de destination doivent être familiers. Mais cet exemple présente également trois indicateurs utiles:

  1. -r: télécharge récursivement un répertoire entier. Il transférera tous les fichiers dans / tmp / docs . Ceci est très utile pour effectuer des sauvegardes rapides ou transférer un grand nombre de fichiers, en particulier si vous ne disposez pas d'un accès de connexion à l'hôte distant.
  2. -p: préserve les horodatages des fichiers et les modes des fichiers originaux. Vos copies locales auront les mêmes heures de création ou autorisations d'écriture que leurs originaux.
  3. -C: active la compression. Si vous transférez beaucoup de fichiers, cela peut accélérer les choses, surtout si vous utilisez une connexion lente.

La commande scp est presque aussi simple que cp

L'utilisation de base de la commande scp est simple: c'est exactement la même chose que cp. La principale différence est que scp a besoin de quelques détails supplémentaires pour le serveur distant. Cependant, comme avec cp, il existe des indicateurs utiles pour étendre la fonctionnalité de base. Ceux-ci incluent la compression et la copie récursive pour permettre le téléchargement de plusieurs fichiers.

Maîtriser la commande scp peut être utile si on vous a demandé de gérer un serveur Linux. Faire des sauvegardes et des transferts de données à distance est une tâche quotidienne pour quelqu'un qui s'occupe de l'administration des serveurs.