كيفية استخدام CD Command في Linux
طريقة سهلة لتغيير الدلائل في Linux من المحطة
برنامج تعليمي سهل لمساعدتك في نقل الملفات إلى نظام بعيد من نظام Linux الخاص بك باستخدام الأمر scp.
SCP تعني "النسخ الآمن". scp
هي أداة مساعدة لسطر الأوامر يقدمها Linux والتي تسمح بنقل الملفات والدلائل من جهاز إلى آخر عبر شبكة غير آمنة.
إذا كنت ترغب في نسخ الملفات من نظام إلى آخر ، scp
فيمكن أن يكون خيارًا جيدًا جدًا لإجراء نقل آمن للملفات والدلائل. عندما يتم توصيل الجهازين المتصلين عبر نفس الشبكة ، scp
يصبح الاستخدام ممكنًا.
يمكنك الاعتماد بشدة على scp
الأمر من أجل السرية والتكامل حيث يتم تشفير الملف الذي يتم نقله وكلمة المرور المستخدمة في النقل. لن يتم الكشف عن أي معلومات حساسة حتى إذا حاول أي شخص التطفل على حركة المرور أثناء استمرار عملية النقل هذه.
في هذا البرنامج التعليمي ، سنرى أمثلة مختلفة scp
للأمر. سننظر أيضًا في بعض الخيارات المستخدمة بشكل متكرر باستخدام scp
الأمر.
الشروع في العمل مع الأمر scp
باستخدام scp
الأمر ، يمكنك نقل الملفات / الدلائل:
بناء الجملة العام:
scp [Option] [source_file_name] [[email protected]_Host]:destination_folder
دعونا نفهم السمات الأساسية لهذا الأمر واحدة تلو الأخرى.
@
الرمز "".ملاحظة::
يتم استخدام رمز النقطتين ( ) في بناء الجملة لأنه يميز بين المواقع المحلية والبعيدة. نستخدم النقطتين ( :
) مع النظام البعيد لتحديد الدليل الذي يجب نسخ الملفات إليه. في حالة عدم تحديد الدليل الهدف ، سيتم نسخ الملفات إلى الدليل الرئيسي لمستخدم النظام البعيد.
الخيارات المستخدمة مع scp
بعض الخيارات الأكثر شيوعًا المستخدمة مع scp
الأمر مذكورة أدناه.
خيار | وصف |
-C |
تسمح بضغط الملف المراد نقله |
-v |
إعطاء الإخراج المطول |
-r |
نسخ الملفات والدلائل بشكل متكرر |
-p |
الحفاظ على الأذونات والأوضاع وأوقات الوصول للملفات |
-P |
تغيير المنفذ الافتراضي المستخدم من قبل scp الأمر |
كثيرا ما تستخدم الخيارات مع أمر scp
سنرى أمثلة على هذه الخيارات ، في المزيد من البرنامج التعليمي.
نسخ ملف من محلي إلى نظام بعيد
scp
يسمح لك بنقل الملفات من نظامك المحلي إلى نظام بعيد باستخدام الصيغة التالية. يتيح لك ذلك نقل ملفاتك أو تحميلها إلى خادم تم وضعه عن بُعد.
بناء الجملة العام:
scp [file_name] [email protected]:[destination_folder]
مثال:
scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav
في هذا المثال ، نقوم بنسخ ملف "apache-tomcat-9.0.8.tar.gz" من النظام المحلي إلى النظام البعيد الذي يكون عنوان IP الخاص به هو "143.110.178.221".
على النظام البعيد ، سيتم الآن نسخ الملف إلى الدليل المسمى "gaurav".
انتاج:
[email protected]:~$ scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav
[email protected]'s password:
apache-tomcat-9.0.8.tar.gz 100% 9589KB 79.8KB/s 02:00
[email protected]:~$
دعونا نتحقق من الإخراج على النظام البعيد للملف.
[email protected]:~/gaurav# ls
apache-tomcat-9.0.8.tar.gz
[email protected]:~/gaurav#
وبالتالي ، يتم نسخ الملف بنجاح إلى النظام البعيد باستخدام scp
الأمر.
نسخ ملفات متعددة إلى نظام بعيد
في المثال السابق ، تعلمنا نقل ملف إلى النظام البعيد باستخدام scp
الأمر. سنرى الآن طريقة نقل ملفات متعددة من نظامك المحلي إلى نظام بعيد باستخدام هذا الأمر.
بناء الجملة العام:
scp [file 1] [file 2] [file n] [email protected]_host:[specific directory]
دعونا نفهم هذه العملية البسيطة بمثال.
مثال:
scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav
هنا ، تم ذكر ملفات متعددة في الأمر المراد نسخها على النظام البعيد.
انتاج:
[email protected]:~$ scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav
[email protected]'s password:
ath.html 100% 199KB 94.7KB/s 00:02
abc.txt 100% 0 0.0KB/s 00:00
ppa-purge_0.2.8+bzr56_all.deb 100% 4360 42.2KB/s 00:00
[email protected]:~$
على النظام البعيد:
[email protected]:~/gaurav# ls -l
total 9800
-rw-r--r-- 1 root root 0 Oct 5 08:58 abc.txt
-rw-r--r-- 1 root root 9818695 Oct 5 08:35 apache-tomcat-9.0.8.tar.gz
-rw-r--r-- 1 root root 204057 Oct 5 08:58 ath.html
-rw-r--r-- 1 root root 4360 Oct 5 08:58 ppa-purge_0.2.8+bzr56_all.deb
[email protected]:~/gaurav#
يتم الآن نسخ جميع الملفات الثلاثة على النظام البعيد.
نسخ دليل إلى النظام البعيد
يمكنك استخدام scp
الأمر لنسخ دليل من نظامك المحلي إلى النظام البعيد. تشبه هذه العملية عملية نسخ ملف. لنسخ محتوى الدليل أيضًا ، يمكنك استخدام -r
الخيار مع scp
الأمر.
يستخدم -r
الخيار لنسخ دليل بشكل متكرر. هذا يعني أنه سيتم أيضًا نسخ جميع المجلدات الفرعية والملفات الموجودة داخل الدليل.
بناء الجملة العام:
scp -r [directory path] [email protected]_host:[target_directory]
مثال:
scp -r PycharmProjects [email protected]:gaurav
انتاج:
[email protected]:~$ scp -r PycharmProjects [email protected]:gaurav
[email protected]'s password:
__main__.py 100% 623 7.8KB/s 00:00
__init__.py 100% 23 0.4KB/s 00:00
completion.py 100% 2929 28.1KB/s 00:00
search.py 100% 4728 38.7KB/s 00:00
uninstall.py 100% 2963 32.5KB/s 00:00
hash.py 100% 1681 21.3KB/s 00:00
check.py 100% 1430 16.8KB/s 00:00
configuration.py 100% 7125 50.4KB/s 00:00
show.py 100% 6289 49.8KB/s 00:00
download.py 100% 6623 48.2KB/s 00:00
[email protected]:~$
يؤدي استخدام -r
الخيار مع scp
الأمر إلى نسخ جميع المجلدات الفرعية والملفات الموجودة داخل الدليل من الجهاز المحلي إلى النظام البعيد.
عرض معلومات مفصلة حول عملية scp
يمكنك استخدام خيار -v
(الأحرف الصغيرة v
) لعرض المعلومات حول الملفات التي يتم نسخها على جهاز تحكم عن بعد أو على نظامك المحلي. يسمى هذا النوع من الإخراج أيضًا باسم الإخراج المطول.
عند استخدام هذا الخيار ، يتم عرض معلومات التصحيح الكاملة حول الملف على الشاشة.
بناء الجملة العام:
scp -v [file_name] [email protected]_host:
مثال:
scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team
انتاج:
[email protected]:~$ scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team
Executing: program /usr/bin/ssh host 159.89.170.11, user root, command scp -v -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/gaurav/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 159.89.170.11 [159.89.170.11] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/gaurav/.ssh/id_rsa type -1
apache-tomcat-9.0.8.tar.gz 100% 9589KB 99.8KB/s 01:36
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 9826736, received 4016 bytes, in 97.2 seconds
Bytes per second: sent 101133.9, received 41.3
debug1: Exit status 0
[email protected]:~$
هنا ، في الإخراج ، يمكنك أن ترى أنه يتم عرض معلومات تصحيح الملف على الجهاز الطرفي عند استخدام scp
الأمر مع -v
الخيار.
نقل الملفات بين مضيفين عن بعد
يتيح لك Linux الاتصال بالعديد من المضيفين البعيدين. يمكنك نقل الملفات والدلائل بين مضيفين عن بعد باستخدام scp
الأمر.
بناء الجملة العام:
scp [email protected]_1:/[file_name] [email protected]_2:[folder_to_save]
The syntax may seem a bit wider but is pretty simple. Here, the the first part of the command gives the input about the remote user from where the file is to be copied. colon (:) and /
is used to specify the file name or the directory name which is to be transferred between the two remote machines.
The second part gives information about the target remote system where the file is to be copied.
Example:
scp -r [email protected]:gaurav [email protected]:/team
Here, we will be copying a directory named ‘gaurav’ recursively from the local system to a remote system. The file will be copied to a folder ‘team’ on the remote system.
Output:
[email protected]:~$ scp -r [email protected]:/gaurav [email protected]:/team
[email protected]'s password:
1.py 100% 134 261.3KB/s 00:00
variables.py 100% 377 949.2KB/s 00:00
abc.txt 100% 0 0.0KB/s 00:00
ath.html 100% 199KB 41.8MB/s 00:00
[email protected]:~$
Here, we used the scp
command on the local system to transfer a directory named ‘gaurav’ from one remote server to another.
Transfer files from the remote system to your local system
يمكنك بسهولة نقل الملفات أو الدلائل من النظام البعيد إلى نظامك المحلي باستخدام scp
الأمر. بكلمات أبسط ، يمكنك تنزيل ملفات أو أدلة متعددة من الخادم البعيد إلى نظامك المحلي باستخدام scp
الأمر.
بناء الجملة العام:
scp [email protected]_host:/files/file.txt /[folder_of_local_system]
انتاج:
[email protected]:~$ scp [email protected]:how.txt .
[email protected]'s password:
how.txt 100% 11 0.1KB/s 00:00
[email protected]:~$
هنا ، قمت بتنزيل (نسخ) الملف من الخادم البعيد إلى دليلي الرئيسي. ومن ثم ، فقد استخدمت النقطة ( .
) للتحديد في الأمر لنسخ الملف إلى دليلي الرئيسي.
إخراج العينة:
[email protected]:~$ ls -l how.txt
-rw-r--r-- 1 gaurav gaurav 11 Oct 6 09:49 how.txt
[email protected]:~$
هنا ، يتم نسخ الملف الآن إلى دليلي الرئيسي من الخادم البعيد.
بنفس الطريقة ، يمكنك تنزيل ملفات أو أدلة متعددة من الخادم البعيد باستخدام scp
الأمر مع الخيارات المناسبة.
ضغط الملفات لإجراء عمليات نقل أسرع
في بعض الأحيان ، قد يستغرق نقل الملفات الكبيرة وقتًا طويلاً. يمكن معالجة هذه المشكلة أثناء استخدام scp
الأمر مع خيار -C
(الأحرف الكبيرة C
).
باستخدام -C
الخيار ، يضغط الملفات ذات الحجم الأكبر مما يسهل النقل الأسرع وبالتالي يوفر الوقت.
إحدى الحقائق المثيرة للاهتمام حول هذا الخيار هي أنه يتم نسخ الملف بحجمه الأصلي على النظام الوجهة ولكن أثناء عملية النقل ، يتم ضغط الحجم لتمكين النقل بشكل أسرع. وبالتالي ، يتم الضغط فقط على الشبكة.
بناء الجملة العام:
scp -C [file_name] [email protected]_host:[target_folder]
دعونا نرى مثالاً مقارناً لفهم الاختلاف.
التحويل بدون خيار C:
[email protected]:~$ scp -rv dlink [email protected]:team
Executing: program /usr/bin/ssh host 68.183.82.183, user root, command scp -v -r -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/trinity/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 68.183.82.183 [68.183.82.183] port 22.
debug1: Connection established.
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 7516504, received 4008 bytes, in 74.6 seconds
Bytes per second: sent 100693.7, received 53.7
debug1: Exit status 0
[email protected]:~$
مما سبق يمكننا أن نرى أن الوقت المطلوب للنقل هو 74.6 ثانية. سنحاول نقل نفس الملف باستخدام الخيار -C ونلاحظ الفرق.
التحويل مع خيار C:
[email protected]:~$ scp -Crv dlink [email protected]:team
Executing: program /usr/bin/ssh host 68.183.82.183, user root, command scp -v -r -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/trinity/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 68.183.82.183 [68.183.82.183] port 22.
debug1: Connection established.
.
.
webupload.img 100% 1834KB 98.7KB/s 00:18
Sending file modes: C0664 1877552 router.img
Sink: C0664 1877552 router.img
router.img 100% 1834KB 100.3KB/s 00:18
Sink: E
Sending file modes: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip
Sink: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip
DSL-2750U-Release-IN-T-01.00.07.zip 100% 3666KB 218.5KB/s 00:16
Sink: E
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 7518864, received 3828 bytes, in 51.0 seconds
Bytes per second: sent 100245.4, received 51.0
debug1: Exit status 0
debug1: compress outgoing: raw data 7511925, compressed 7513136, factor 1.00
debug1: compress incoming: raw data 1467, compressed 999, factor 0.68
[email protected]:~$
هنا ، يمكننا أن نلاحظ بسهولة أن استخدام -C
الخيار مع scp
الأمر قد سمح لنا بضغط الملف عبر الشبكة ، مما يثبت أنه خيار موفر للوقت.
استخدام منفذ ssh مختلف لنقل الملفات
أثناء استخدام scp
الأمر ، يكون المنفذ الافتراضي الذي تم نشره هو port 22
. للمستخدم حرية تخصيص اختيار المنفذ هذا. يمكنك استخدام -P
(خيار الأحرف الكبيرة P) مع scp
الأمر لاستخدام المنفذ الذي تختاره.
بناء الجملة العام:
cp -P [new_port_number] [file_name/directory_name] [email protected]:[destination_folder]
مثال:
scp -P 4248 dlink [email protected]:team
باستخدام الأمر أعلاه ، سيتم نقل الملف إلى الخادم البعيد. لكن هذه المرة ، سيكون المنفذ المستخدم port 4248
بدلاً من الافتراضي port 22
.
استنتاج
بعد الاطلاع على هذا البرنامج التعليمي ، تعرفنا على الطبيعة الديناميكية scp
للأمر المستخدم لنقل الملفات أو نسخها من نظام إلى آخر. يمكن أيضًا استخدام هذا الخيار لتنزيل الملفات أو الدلائل من الخادم البعيد. وبالتالي ، يمكننا أن نستنتج أن scp
الأمر أثبت أنه مفيد جدًا لعمليات نقل الملفات عندما يتعين عليك التعامل مع أكثر من نظام بالإضافة إلى الخوادم البعيدة في وقت واحد.
طريقة سهلة لتغيير الدلائل في Linux من المحطة
من المحتمل أن يكون الأمر make أحد أكثر الأوامر استخدامًا في نظام Linux البيئي. يستخدم هذا الأمر لبناء البرامج وترجمتها مباشرة من الكود المصدري.
عند العمل بكميات كبيرة من الوسائط والمستندات ، من الشائع أن تتراكم نسخ متعددة من نفس الملف على جهاز الكمبيوتر الخاص بك. حتمًا ، ما يلي هو مساحة تخزين مزدحمة مليئة بالملفات الزائدة عن الحاجة ، مما يؤدي إلى إجراء فحوصات دورية للملفات المكررة على نظامك.
يعرض Neofetch شعار ASCII لتوزيع Linux الخاص بك مع المعلومات المتعلقة بنظامك في الجهاز. سيستخدمه العديد من مستخدمي Linux في لقطات شاشة لأجهزة سطح المكتب الخاصة بهم فقط لأنهم يعتقدون أنها رائعة. وهم على حق. يمكنك استخدامه لإظهار الإعداد الخاص بك في لقطات الشاشة أيضًا.
أحيانًا يكون من الأفضل مغادرة الرصيف والإبحار بعيدًا!
طريقة سهلة لتغيير الدلائل في Linux من المحطة
تشرح لك هذه المقالة عملية إضافة مصادقة مفاتيح SSH على خادم Ubuntu 20.04 وتعطيل المصادقة المستندة إلى كلمة المرور.
تعرف على كيفية تحديث Firefox من Terminal على كمبيوتر Ubuntu Linux
الوصول بأمان إلى جهاز Ubuntu الخاص بك من أي مكان
التحقق من وجود ملف أو دليل من نص برمجي Bash
دليل سريع لتثبيت Google Chrome من سطر الأوامر على Ubuntu 20.04
Speedtest.net هي خدمة لاختبار سرعة اتصالك بالإنترنت. يستخدم خادم speedtest.net قريب للتنزيل
امنح امتيازات الجذر لأي مستخدم لديه sudo على Ubuntu 20.04 LTS
تحديث NodeJS باستخدام APT و NVM.