Soru Bir klasör yerelden yerel olarak nasıl açılır? [kapalı]


Mümkün olup olmadığından emin değilim scp uzaktaki yerel bir klasör, ama yine de başka seçeneklerle kaldım. Sunucumda oturum açmak için ssh kullanıyorum ve oradan klasörü kopyalamak istiyorum foo için home/user/Desktop (benim yerel). Bunu yapabileceğim bir komut var mı?


1931
2017-07-03 05:17


Menşei


@ 3bdalla bu soru kesinlikle "programcılar tarafından yaygın olarak kullanılan yazılım araçları" hakkında soruları içeren yığın taşması için konu üzerine. - Abhi Beckert
OP'nin sorusu, dosyayı uzaktaki yerel ana bilgisayara kopyalamanın mümkün olup olmadığıydı. uzak ana bilgisayara ssh'd. Tek bir cevabın neden kendi sorusunu doğru bir şekilde cevaplamadığından emin değilim. - JeffDror
Yığın Taşması, programlama ve geliştirme soruları için bir sitedir. Bu soru konu dışı görünmektedir, çünkü programlama veya geliştirme ile ilgili değildir. Görmek Burada hangi konuları sorabilirim? Yardım Merkezi’nde belki Süper Kullanıcı veya Unix ve Linux Yığını Değişimi sormak için daha iyi bir yer olurdu. Ayrıca bkz. Dev Ops hakkında soruları nereye yayınlarım? - jww
Bakınız meta.stackoverflow.com/questions/294217/.... Sorular hala burada, oy verebilirsiniz. Artık sadece daha fazla cevap vermiyor. - Andre Figueiredo
Bu sorunun kapatılmakta olan soruyu protesto ettim! - gota


Cevaplar:


scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

itibaren man scp

-r Recursively copy entire directories

3706
2017-07-03 05:21



Dosya değiştirme sürelerini, izinleri, vb. korumak için -p kullanın! scpr -pr kullanıcı @ ... - Ber
Bu cevabın önemli bir açıklaması yoktur. İle sona erecek mi Desktop/foo ya da olacak mı Desktop/allcontentsofFooGohere scp bazen garip davranıyor gibi görünüyor bana başka bir şey yapar - Toskan
örneğin bu (genellikle kabuk betiklerinde kullanılır): su myuser -c "scp -r /var/www/myapp.org/uploads root@$jcrdevip:/var/www/mydevapp.com/uploads" İçeriği yüklemelerden yüklemelere kopyalayacaktır. scp -r /var/www/myapp.org/uploads root@$jcrdevip:/var/www/mydevapp.com/uploads klasör yüklemelerini mydevapp.com/uploads klasör istenmeyen bir alt klasör oluşturuyor - Toskan
Gördüğünüz gibi bu cevap için 3 binden fazla vardiya var. Cevapları olan bu soru insanlar için gerçekten gerekli olabilir mi? - Mikhail Morgunov
20180724'den itibaren, bu soru ve cevap, sorgu için ilk iki vuruştur: 'scp copy a dir', geliştiriciler için 'kapalı konu' olduğu için utanç verici görünüyor - eminim ki unix devs hiç böyle bir şey yapmak istemedi: ) - decuser


Tam gücünü kullanmak scp sonraki adımlardan geçmeniz gerekiyor:

  1. Genel anahtar yetkilendirme
  2. Ssh takma adları oluşturma

Sonra, örneğin, eğer buna sahipseniz ~ / .ssh / yapılandırma:

Host test
    User testuser
    HostName test-site.com
    Port 22022

Host prod
    User produser
    HostName production-site.com
    Port 22022

Kendinizi şifre girişinden koruyacak ve basitleştireceksiniz. scp bu gibi sözdizimi:

scp -r prod:/path/foo /home/user/Desktop   # copy to local
scp -r prod:/path/foo test:/tmp            # copy from remote prod to remote test

Dahası, uzak yol tamamlamayı kullanabileceksiniz:

scp test:/var/log/  # press tab twice
Display all 151 possibilities? (y or n)

Güncelleştirme:

Uzak bash tamamlama özelliğini etkinleştirmek için, her ikisinde de bash kabuklu olmanız gerekir <source> ve <target> barındırma ve düzgün çalışma bash-tamamlama. Daha fazla bilgi için ilgili soruları inceleyin:

Scp kullanırken uzak yollar için otomatik tamamlama nasıl etkinleştirilir?
SCP dosya adı sekmesi tamamlanma


236
2017-12-04 06:21



Config dosyası hakkında bilmiyordum, bu harika! - dmastylo
Tab tamamlama saçmalık, sadece benim için yerel ev sahibi tamamlar. - Bernhard
@ b.long Soru şu: "Uzak klasörü foo yerel masaüstüne nasıl kopyalanır". Cevabım "scp -r prod: / yol / foo / ev / kullanıcı / Masaüstü". Umarım ilişkileri görebiliyorsundur. - Alexander Yancharuk
@Bernhard Benim için belliydi çünkü bash-shell kullanıyorum. Beni bunun için işaret ettiğin için teşekkürler! Cevap güncellendi. - Alexander Yancharuk
@Alexander Yancharuk: Cevabınız için teşekkürler, bu sadece sözdizimini kapsamaktan daha detaylı. - Gladiator


Tümünü kopyalamak için Yerel Yer için Uzak yer (Yükleme)

scp -r /path/from/destination username@hostname:/path/to/destination

Tümünü kopyalamak için Uzak yer için Yerel Yer (İndir)

scp -r username@hostname:/path/from/destination /path/to/destination

Özel Liman nerede xxxx olduğu Özel bağlantı noktası numara

 scp -r -P xxxx username@hostname:/path/from/destination /path/to/destination

Şu andaki dizini kopyala Yerel Uzak

scp -r username@hostname:/path/from/file .

Yardım et: 

  1. -r Tüm dizinleri ve dosyaları yinelemeli olarak kopyala
  2. Her zaman tam konumdan kullan /, Tarafından tam konum al pwd
  3. scp mevcut tüm dosyaların yerini alacak
  4. hostname hostname veya IP adresi olacak
  5. eğer özel port gerekiyorsa (port 22 dışında) -P portnumber
  6. . (nokta) - Bu, geçerli çalışma dizini anlamına gelir. Yani sunucudan indir / kopyala ve sadece buraya yapıştır.

Not: Bazen güvenlik duvarında izin verilmeyen bağlantı noktası nedeniyle özel bağlantı noktası çalışmaz, bu nedenle gelen ve giden bağlantı için güvenlik duvarında özel bağlantı noktasına izin verildiğinden emin olun.


118
2018-05-23 09:38



Görünüşte (en azından Raspbian Jessie ve Ubuntu'nun son versiyonlarında) scp -P (büyük harf P) portu kullanırken (garip) ssh -p (küçük harf) kullanır. - Adam Plocher
@AdamPlocher, Doğru ama kabaca her zaman -p (küçük) :) kullanın - Shiv Singh
-p, "değişiklik sürelerini, erişim sürelerini ve orijinal dosyadaki modları" korumak için ayrılmıştır. Bu yüzden eğer bunu port için kullanıyorsanız, muhtemelen çalışmıyordur ;-) Küçük harf p'yi farklı şekilde kullanan farklı bir sürümünüz yoksa. - Adam Plocher
Ssh ile evet. Scp ile değil (varsayalım). - Adam Plocher
Dizin bir boşluk içeriyorsa ne koymalıyım? - hyprfrcb


Her zaman kullandığım şey:

scp -r username@IP:/path/to/server/source/folder/  .

. (nokta) : anlamı current folder. bu yüzden sunucudan kopyala ve sadece buraya yapıştır.

IP : gibi bir IP adresi olabilir 125.55.41.311 veya gibi ev sahibi olabilir ns1.mysite.com.


39
2018-06-10 07:41



Bunu işaret ettiğin için teşekkür ederim. . geçerli dizini ifade eder! - ericmjl


İlk önce uzak sunucudaki kataloğu sıkıştırmak:

tar czfP backup.tar.gz /path/to/catalog

İkincisi, uzaktan indir:

scp user@your.server.example.com:/path/to/backup.tar.gz .

Sonunda, dosyaları ayıkla:

tar -xzvf backup.tar.gz

25
2018-05-29 11:12



"Daha iyi", aktardığınız verilere ve sıkıştırılmış / unzipping yapmak için sunucuya ssh olma çabalarına bağlıdır. Ve: scp ile sıkıştırmayı -Cbayrak gibi scp -C a@b:bigfile .. - Automatico
Bu bana @cptloop tarafından yapılan yorumu hatırlatıyor! : D xkcd.com/1168 - GoodSp33d


Ve uzak konumdan indirmek için bir dosya bir cehennem varsa ve güvenlik hakkında çok fazla umursamıyorsanız, scp varsayılan şifreleme (Triple-DES) 'blowfish' gibi bir şeye değiştirmeyi deneyin.

Bu, dosya kopyalama süresini önemli ölçüde azaltacaktır.

scp -c blowfish -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

20
2018-06-17 06:02



Göre bu blog yazısı ile daha da iyi bir performans elde edersiniz arcfour yerine blowfishama güvenlik hataları var. - Automatico


Birlik araç çubuğunuzdaki Dosyalara git

enter image description here

Ctrl + l tuşlarına basın ve here_goes_your_user_name@192.168.10.123 yazın

192.168.1.103, bağlanmak istediğiniz sunucudur.

Burada bir örnek

enter image description here


15
2017-11-09 21:05