كيفية استخدام الأمر SFTP لنقل الملفات إلى/من خوادم Linux

معظم الناس يفضلون الأدوات المساعدة مثل FileZilla أو WinSCP عندما يحتاجون لنقل الملفات إلى أو من خوادم Linux / BSD. إذا كان برنامج OpenSSH يعمل على هذا الكمبيوتر ، فيمكنك الاتصال به من خلال بروتوكول Secure / SSH FTP (SFTP). تسهل الأدوات المساعدة المذكورة أعلاه نقل الملفات من خلال توفير واجهة رسومية ، ولكن يجب عليك تثبيت هذه البرامج وتكوينها.

بعض المستخدمين يفضلون عدم الحاجة إلى تثبيت المرافق الإضافية. يفضّل الآخرون ببساطة سطر الأوامر لأنه يمنحك المزيد من التحكم وطريقة أسرع لإخبار الأداة بما تريد أن تفعله. ولكن الآن هناك سبب إضافي للجوء إلى سطر الأوامر عندما تريد نقل الملفات. بدأ Windows 10 بتضمين عميل OpenSSH بشكل افتراضي الذي يتيح لك تسجيل الدخول إلى خوادم Linux / BSD مباشرة من موجه الأوامر.

كيفية استخدام الأمر SFTP لنقل الملفات إلى/من خوادم Linux - شروحات

كما يأتي هذا العميل مع مجموعة من المرافق الأخرى ، و SFTP هو من بينها. لذلك ، يمكنك الآن نقل الملفات إلى أنظمة التشغيل Linux / BSD ، مباشرة من موجه الأوامر ، دون الحاجة إلى تثبيت أي شيء على جهاز Windows الخاص بك.

تتوفر الأداة المساعدة SFTP أيضًا على أجهزة Linux وتعمل بنفس الطريقة.

كيفية تسجيل الدخول باستخدام أمر sftp

إذا كنت تستخدم نظام التشغيل Windows ، فافتح Command Prompt. إذا كنت تستخدم نظام التشغيل Linux ، فافتح نافذة Terminal.

لتسجيل الدخول إلى الخادم باستخدام الأمر sftp ، يمكنك استخدام نفس الصيغة بالضبط مثل الأمر ssh. إذا لم تكن على دراية بهذا النحو ، فقم بقراءة البرنامج التعليمي المرتبط في فقرة المقدمة.

sftp your_username@IP-address-or-hostname

أوامر المثال:

sftp john@203.0.113.1

sftp john@example.com

كيفية استخدام الأمر SFTP لنقل الملفات إلى/من خوادم Linux - شروحات

كيفية تنزيل الملفات بعد تسجيل الدخول باستخدام sftp

يمكنك الآن إدخال الأوامر في sftp> المطالبة بالتفاعل مع الملفات الموجودة على الخادم.

لتنزيل ملف:

get /path/to/file/on/server

مثال:

get /bin/ls

سيتم تنزيل هذا إلى الدليل الحالي الخاص بك ، الذي كنت موجودًا فيه محليًا قبل تسجيل الدخول إلى الخادم. للتنزيل إلى دليل محلي محدد (في Windows):

get /path/to/file/on/server C:\path\to\local\folder

مثال

get /bin/ls C:\User\John\Desktop

في Linux ، ما عليك سوى استخدام مسارات نوع Unix (سلاش مائل للأمام بدلاً من الخط المائل العكسي):

get /bin/ls /home/john/Desktop
ملاحظة: حتى إذا استخدمت (بشكل غير صحيح) الخطوط المائلة للأمام لمسارات Windows ، في sftp ، يبدو أن الأداة ستفهمها.

يمكن أن تكون المسارات نسبيًا أيضًا. هذا يعني أنك إذا كنت في C:\User\John بالفعل عند فتح موجه الأوامر ، يمكنك التنزيل إلى سطح المكتب (C:\User\John\Desktop) مع:

get /bin/ls Desktop

يمكن أن تكون المسارات البعيدة أيضًا نسبيةً ، مما يعني أنه إذا قمت بتسجيل الدخول باستخدام sftp john@203.0.113.1 ، فستكون موجودًا بالفعل في الدليل ” home/john” ، بحيث يمكنك استخدام هذا لتنزيل “/home/john/file” :

get file Desktop

سيؤدي هذا إلى تنزيل “/home/john/file” إلى “C:\Users\YourUser\Desktop\file.”

لنسخ الدلائل ، يجب عليك إضافة المعلمة -r إلى الأمر ، الذي يشير إلى مكرر.

get -r /bin Desktop\bin
كيفية استخدام الأمر SFTP لنقل الملفات إلى/من خوادم Linux - شروحات

تذكر إضافة اسم للدليل الجديد الذي تريد إنشاؤه محليًا ، مثل “Desktop\bin” في هذه الحالة. إذا كنت ستستخدم get -r /bin Desktop ، فسيتم نسخ الملفات مباشرة على سطح المكتب. إنها الملفات التي تم نسخها ، وليس الدليل نفسه.

كيفية تحميل الملفات بعد تسجيل الدخول مع sftp

يتبع تحميل الملفات أو الدلائل نفس المبادئ. الاستثناء الوحيد هو أن يتم عكس المسارات ، مما يعني أنك تحدد أولاً الملف / الدليل المحلي ثم المسار البعيد.

على نظام التشغيل Windows:

put C:\path\to\local\content /path/where/to/upload

على نظام التشغيل Linux:

put /path/to/local/content /path/to/remote/location

عند تحميل الدلائل (نسخها) ، تذكر أن نفس القاعدة تنطبق كما في القسم السابق: إنها في الواقع الملفات في الدليل التي تم نسخها ، وليس الدليل نفسه. لذلك ، حدد اسمًا جديدًا للدليل الذي تريد نسخ هذه الملفات إليه.

put -r Desktop/bin bin

سيؤدي ذلك إلى إنشاء دليل جديد يسمى “bin” على الجانب البعيد.

للخروج من shell sftp ، ما عليك سوى كتابة:

exit

كيفية استئناف النقل واستخدام المسارات التي تحتوي على فراغات

عندما تقوم بنقل ملف كبير ، إذا تمت مقاطعته ، يمكنك استئناف الأمر عن طريق استبدال الأمر السابق reput وreget  بدلاً من put و get. فقط تأكد من استخدام نفس المسارات التي استخدمتها في المرة السابقة ، بحيث تطابق تمامًا المصدر والوجهة.

reget /path/to/file/on/server C:\path\to\local\file

reput C:\path\to\local\file /path/to/file/on/server

لاستئناف عمليات نقل الدليل ، ما عليك سوى إضافة المعلمة -r

reput -r Desktop/bin bin

إذا كان المسار إلى ملف يحتوي على مسافات ، فضعه ضمن علامات اقتباس.

هذا لن ينجح:

put C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip

لكن هذا سوف ينجح:

put "C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip"

(نعم ، يمكنك بالفعل العثور على مسار الصوت في Witcher 3 إذا كنت قد قمت بتثبيته على Steam.)

الخلاصة

يغطي هذا أهم الأشياء التي عليك معرفتها حول sftp. إذا وجدت أن لديك حاجة لتعلم المزيد ، فيمكنك قراءة دليل أمر sftp الكامل عبر الإنترنت.

المصدر
زر الذهاب إلى الأعلى