Linuxta SCP Komutu Nasıl Kullanılır

scp komutunu kullanarak dosyaları Linux sisteminizden uzak bir sisteme aktarmanıza yardımcı olacak kolay bir eğitim.

SCP, 'Güvenli Kopyalama' anlamına gelir. scpLinux tarafından sunulan ve güvenli olmayan bir ağ üzerinden bir makineden diğerine dosya ve dizin aktarımına izin veren bir komut satırı yardımcı programıdır.

Dosyaları bir sistemden diğerine kopyalamak istiyorsanız scp, dosya ve dizinlerin güvenli bir şekilde aktarılması için çok iyi bir seçenek olabilir. İki iletişim makinesi aynı ağ üzerinden bağlandığında, kullanım scpmümkün hale gelir.

scpAktarılan dosya ve aktarım için kullanılan parola şifreli olduğundan, gizlilik ve bütünlük komutuna büyük ölçüde güvenebilirsiniz . Bu aktarım devam ederken herhangi biri trafiği gözetlemeye çalışsa bile hiçbir hassas bilgi ifşa edilmeyecektir.

Bu eğitimde, scpkomutun farklı örneklerini göreceğiz . Ayrıca scpkomutla birlikte sık kullanılan bazı seçeneklere de bakacağız .

scp komutunu kullanmaya başlama

scpKomutu kullanarak dosyaları/dizinleri aktarabilirsiniz:

  • Yerel makinenizden uzak bir makineye.
  • İki uzak makine arasında.
  • Uzak bir makineden yerel makinenize.

Genel sözdizimi:

scp [Option] [source_file_name] [[email protected]_Host]:destination_folder

Bu komutun temel özelliklerini tek tek anlayalım.

  • [kaynak_dosya_adı] Bu, kopyalamak istediğiniz kaynak dosyadır.
  • [ [email protected] _Host] Bu, dosyayı kopyalamak istediğiniz uzak sistemin kullanıcı adıdır . Uzak makinenin IP adresi de bu öznitelikte ' @' sembolünden sonra kullanılır .
  • [hedef_klasör] Bu, kopyalanan dosyayı kaydetmek istediğiniz dizindir.

Not: İki nokta üst üste ( :) sembolü, yerel ve uzak konumlar arasında ayrım yaptığı için sözdiziminde kullanılır. :Dosyaların kopyalanacağı dizini belirtmek için uzak sistemle iki nokta üst üste ( ) kullanırız . Hedef dizini belirlemememiz durumunda, dosyalar uzak sistem kullanıcısının ana dizinine kopyalanacaktır.

İle kullanılan seçenekler scp

Komutla birlikte kullanılan en popüler seçeneklerden scpbazıları aşağıda listelenmiştir.

Seçenek Açıklama
-C aktarılacak dosyanın sıkıştırılmasına izin ver
-v ayrıntılı çıktıyı ver
-r dosyaları ve dizinleri yinelemeli olarak kopyalayın
-p dosyaların izinlerini, modlarını ve erişim sürelerini koruyun
-P scpkomut tarafından kullanılan varsayılan bağlantı noktasını değiştirin

scp komutu ile sık kullanılan seçenekler

Bu seçeneklerin örneklerini öğreticinin ilerleyen bölümlerinde göreceğiz.

Dosyayı yerelden uzak bir sisteme kopyalama

scpaşağıdaki sözdizimini kullanarak dosyaları yerel sisteminizden uzak bir sisteme aktarmanıza olanak tanır. Bu, dosyalarınızı uzaktan yerleştirilmiş bir sunucuya aktarmanıza veya yüklemenize olanak tanır.

Genel Sözdizimi:

scp [file_name] [email protected]:[destination_folder]

Örnek:

scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav

Bu örnekte, yerel sistemden 'apache-tomcat-9.0.8.tar.gz' dosyasını IP adresi '143.110.178.221' olan uzak sisteme kopyalıyoruz.

Uzak sistemde, dosya şimdi 'gaurav' adlı dizine kopyalanacaktır.

Çıktı:

[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]:~$ 

Dosya için uzak sistemdeki çıktıyı kontrol edelim.

[email protected]:~/gaurav# ls
apache-tomcat-9.0.8.tar.gz
[email protected]:~/gaurav#

Böylece dosya, scpkomut kullanılarak uzak sisteme başarıyla kopyalanır .

Birden çok dosyayı uzak bir sisteme kopyalama

Önceki örnekte, scpkomutu kullanarak bir dosyayı uzak sisteme aktarmayı öğrendik . Şimdi bu komutu kullanarak yerel sisteminizden uzak bir sisteme birden fazla dosya aktarma yöntemini göreceğiz.

Genel Sözdizimi:

scp [file 1] [file 2] [file n] [email protected]_host:[specific directory]

Bu basit işlemi bir örnekle anlayalım.

Örnek:

scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav

Burada, uzaktaki sisteme kopyalanacak komutta birden fazla dosyadan bahsedilir.

Çıktı:

[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]:~$

Uzak sistemde:

[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#

Her üç dosya da artık uzak sisteme kopyalanmıştır.

Uzak sisteme bir dizini kopyalama

scpYerel sisteminizden uzak sisteme bir dizini kopyalamak için komutu kullanabilirsiniz . İşlem, bir dosyayı kopyalamaya benzer. Dizinin içeriğini de kopyalamak için -rseçeneği scpkomutla birlikte kullanabilirsiniz .

-rSeçenek yinelemeli bir dizin kopyalamak için kullanılır. Bu, dizindeki tüm alt klasör ve dosyaların da kopyalanacağı anlamına gelir.

Genel sözdizimi:

scp -r [directory path] [email protected]_host:[target_directory]

Örnek:

scp -r PycharmProjects [email protected]:gaurav

Çıktı:

[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]:~$  

-rSeçeneği scpkomutla kullanmak, dizindeki tüm alt klasörleri ve dosyaları yerel makineden uzak sisteme kopyalar.

scp işlemi hakkında ayrıntılı bilgi görüntüleme

-vUzakta vveya yerel sisteminizde kopyalanmakta olan dosyalar hakkındaki bilgileri görüntülemek için (küçük harf ) seçeneğini kullanabilirsiniz. Bu tür çıktılara ayrıntılı çıktı da denir.

Bu seçenek kullanıldığında, dosyayla ilgili tam hata ayıklama bilgisi ekranda görüntülenir.

Genel Sözdizimi:

scp -v [file_name] [email protected]_host:

Örnek:

scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team

Çıktı:

[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]:~$

Burada çıktıda, scpkomut -vseçeneği ile birlikte kullanıldığında dosyanın hata ayıklama bilgilerinin terminalinizde görüntülendiğini görebilirsiniz .

Dosyaları iki uzak ana bilgisayar arasında aktarma

Linux, birden çok uzak ana bilgisayara bağlanmanıza izin verir. scpKomutu kullanarak iki uzak ana bilgisayar arasında dosya ve dizin aktarabilirsiniz .

Genel Sözdizimi:

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

scpKomutu kullanarak dosyaları veya dizinleri uzak sistemden yerel sisteminize kolayca aktarabilirsiniz . Daha basit bir deyişle, scp komutu kullanarak uzak sunucudan yerel sisteminize birden çok dosya veya dizin indirebilirsiniz .

Genel Sözdizimi:

scp [email protected]_host:/files/file.txt /[folder_of_local_system]

Çıktı:

[email protected]:~$ scp [email protected]:how.txt .
[email protected]'s password: 
how.txt                                                                                                             100%   11     0.1KB/s   00:00    
[email protected]:~$

Burada, dosyayı uzak sunucudan ana dizine indirdim (kopyaladım). Bu nedenle, .dosyayı ana dizine kopyalamak için komutta belirtmek için nokta ( ) kullandım .

Örnek Çıktı:

[email protected]:~$ ls -l how.txt
-rw-r--r-- 1 gaurav gaurav 11 Oct  6 09:49 how.txt
[email protected]:~$ 

Burada, dosya şimdi uzak sunucudan ana dizine kopyalandı.

Aynı şekilde, scpuygun seçeneklerle komutu kullanarak uzak sunucudan birden fazla dosya veya dizin indirebilirsiniz .

Daha hızlı aktarım yapmak için dosyaları sıkıştırma

Bazen büyük dosyaların aktarılması zaman alabilir. Bu sorun, scpkomut -C(büyük harf C) seçeneğiyle birlikte kullanılırken giderilebilir .

-C Seçeneği kullanarak, daha hızlı bir aktarımı kolaylaştıran ve böylece zamandan tasarruf sağlayan daha büyük boyutlu dosyaları sıkıştırır.

Bu seçenekle ilgili ilginç bir gerçek, dosyanın hedef sistemde orijinal boyutuyla kopyalanması, ancak aktarım işlemi sırasında boyutun daha hızlı aktarımı sağlamak için sıkıştırılmasıdır. Böylece sıkıştırma sadece ağ üzerinde yapılır.

Genel Sözdizimi:

scp -C [file_name] [email protected]_host:[target_folder]

Aradaki farkı anlamak için karşılaştırmalı bir örnek görelim.

-C seçeneği olmadan transfer:

[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]:~$ 

Yukarıdakilerden, aktarım için gereken sürenin 74,6 saniye olduğunu görebiliriz. Aynı dosyayı -C seçeneğini kullanarak aktarmayı deneyeceğiz ve farkı gözlemleyeceğiz.

-C seçeneği ile transfer:

[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]:~$

Burada, komutla -Cseçeneği kullanmanın scpdosyayı ağ üzerinden sıkıştırmamıza izin verdiğini ve böylece zaman kazandıran bir seçenek olduğunu kolayca gözlemleyebiliriz .

Dosya aktarımı için farklı bir ssh bağlantı noktası kullanma

scpKomutu kullanırken , dağıtılan varsayılan bağlantı noktası port 22. Kullanıcı, bu bağlantı noktası seçimini kişiselleştirme özgürlüğüne sahiptir. Seçtiğiniz bağlantı noktasını kullanmak için -P(büyük harf P seçeneği) scpkomutuyla kullanabilirsiniz.

Genel Sözdizimi:

cp -P [new_port_number] [file_name/directory_name] [email protected]:[destination_folder]

Örnek:

scp -P 4248 dlink [email protected]:team

Yukarıdaki komutu kullanarak dosya uzak sunucuya aktarılacaktır. Ancak bu sefer kullanılan port port 4248varsayılan yerine kullanılacaktır port 22.

Çözüm

Bu öğreticiyi inceledikten sonra, scpdosyaları bir sistemden diğerine aktarmak veya kopyalamak için kullanılan komutun dinamik yapısını öğrendik . Bu seçenek, uzak sunucudan dosya veya dizin indirmek için de kullanılabilir. Bu nedenle, scpaynı anda birden fazla sistemi ve uzak sunucuları işlemeniz gerektiğinde , komutun dosya aktarımları için çok yararlı olduğu sonucuna varabiliriz .


Linux için En İyi 10 Video Konferans Uygulaması

Linux için En İyi 10 Video Konferans Uygulaması

Serbest çalışanlar ve düzenli olarak evden çalışan çalışanlar için uzaktan iletişim, dikkat edilmesi gereken birçok şeyden biridir. Video konferans, artık çoğumuz için ofis içi toplantıların yerini aldı. Zoom ve Skype gibi araçlar büyümede büyük bir artış gördü.

5 Adımda Ubuntuya FTP Sunucusu Nasıl Kurulur

5 Adımda Ubuntuya FTP Sunucusu Nasıl Kurulur

Bir Linux sunucusu kuruyorsanız, FTP erişimine ihtiyacınız olacaktır. Bu, önce Linux'ta bir FTP sunucusu kurmak anlamına gelir. Sunucu işletim sisteminizi kurduktan sonra yapacağınız ilk şeylerden biri olmalıdır.

Linuxta Dosyaları ve Dizinleri Kolayca Şifreleme ve Şifresini Çözme

Linuxta Dosyaları ve Dizinleri Kolayca Şifreleme ve Şifresini Çözme

Yeni yazılım paketleri kurmak ve öğrenmek zorunda kalmadan Linux'ta dosyaları hızlı ve kolay bir şekilde şifrelemek istediniz mi? İşte, dosyalarınızı meraklı gözlerden uzak tutmanıza yardımcı olan, bir parolayla korunan AES256 aracılığıyla dosyaları veya dizinleri kolayca şifrelemenin mükemmel ve kolay bir yolu.

make: komutu bulunamadı Ubuntuda hata nasıl düzeltilir

make: komutu bulunamadı Ubuntuda hata nasıl düzeltilir

make komutu muhtemelen Linux ekosisteminde en yaygın kullanılan komutlardan biridir. Bu komut, programları doğrudan kaynak koddan oluşturmak ve derlemek için kullanılır.

fdupes Kullanarak Linuxta Yinelenen Dosyalar Nasıl Bulunur ve Kaldırılır

fdupes Kullanarak Linuxta Yinelenen Dosyalar Nasıl Bulunur ve Kaldırılır

Çok miktarda ortam ve belgeyle çalışırken, bilgisayarınızda aynı dosyanın birden çok kopyasının birikmesi oldukça yaygındır. Kaçınılmaz olarak, sisteminizdeki yinelenen dosyalar için periyodik kontrolleri kışkırtan gereksiz dosyalarla dolu dağınık bir depolama alanı izler.

İstikrarlı ve Son Derece Güçlü Linux Dağıtımları: Hangisini Seçmelisiniz?

İstikrarlı ve Son Derece Güçlü Linux Dağıtımları: Hangisini Seçmelisiniz?

Bir Linux dağıtımı seçerken birçok Linux kullanıcısının karşılaştığı en önemli seçeneklerden biri, kararlılığı veya yazılımın ne kadar değiştiğidir.

2020 Linux Kötü Amaçlı Yazılım Pandemisi Yılı mı?

2020 Linux Kötü Amaçlı Yazılım Pandemisi Yılı mı?

Güvenlik konusundaki itibarı, Linux'un genellikle Microsoft Windows sistemlerini düzenli olarak rahatsız eden tehdit türlerine karşı daha az savunmasız olduğu düşünülür. Bu algılanan güvenliğin çoğu, nispeten düşük sayıda Linux sisteminden geliyor, ancak siber suçlular nicelikten çok kaliteyi seçmenin değerini görmeye mi başlıyor?

Linuxta uGet Download Manager Nasıl İndirilir ve Kurulur

Linuxta uGet Download Manager Nasıl İndirilir ve Kurulur

İndirme yöneticileri, tüm indirmelerinizi tek bir uygulama içinde yönetmek ve size bazı kullanışlı özellikler sağlamak için popüler bir araçtır. Yakın zamanda Windows işletim sisteminden Linux'a geçiş yaptıysanız, ünlü İnternet İndirme Yöneticisine (IDM) bir alternatif arıyor olabilirsiniz.

Cursive ile Chromebooklarda Not Almak Daha Kolay

Cursive ile Chromebooklarda Not Almak Daha Kolay

Cursive, Google'ın HP Chromebook x2 11'in piyasaya sürülmesiyle tanıttığı bir Aşamalı Web Uygulamasıdır (PWA). Bu uygulamayı, ekran kalemi donanımlı Chromebook'unuzda el yazısı notlar almak için kullanabilirsiniz.

Vim Nasıl Kullanılır: Temel Bilgiler Kılavuzu

Vim Nasıl Kullanılır: Temel Bilgiler Kılavuzu

Vim, Unix benzeri sistemler için mevcut olan en güçlü ve çok yönlü kod düzenleyicisidir. Bill Joy tarafından geliştirilen Vi editörünün bir uzantısıdır. Vim, çoğu Linux ve BSD sisteminde varsayılan olarak mevcuttur.