İletilen uzak adlar scp
aslında uzak taraftaki boşlukla ayrılmış bir desen listesi olarak yorumlanır. Bu, adı boşluk içeren bir dosyayı kopyalamaya çalıştığınızda genellikle bir sıkıntıdır, ancak burada yararlıdır: scp -p 'user@machine:/path/a*' .
adı ile başlayan tüm dosyaları kopyalar a
.
Deseni, başka bir engelden geçmeniz koşuluyla yerel olarak değil, uzaktan yorumlanacak şekilde alıntılarsanız, komutunuz çalışır. Desen !(a*)
temel bir kabuk deseni değildir, bir ksh uzantısıdır (uygun seçeneği belirlerseniz bash ve zsh da desteklenir). Uzak kabuk bazı diğer kabuk ve sensin değilse, Ksh ise bu sadece çalışır Yani exec ksh
gelen .profile
veya buna benzer.
Bir şekilde kısıtlı veya antika bir ortamda değilseniz, unutmanın kolay yolu scp
. Uzak dosyaların aynı yerel dosyalar gibi çalışmasını istiyorsunuz, bu yüzden onları yerel dosyalar yapın: uzak dizini sshfs ile bağlayın . Bu, yerel makinede FUSE ve uzak makinede bir SFTP sunucusu (yani başlatılan bir sftp-server
yürütülebilir dosya sshd
) gerektirir.
mkdir ~/net/machine
sshfs user@machine:/ ~/net/machine
cp -p ~/net/machine/path/!(a*) .