Uzak bir "ls" gibi "scp" gibi standart bir linux kabuğundaki bir uzak kopya yapmak için bir yolu var mı?
Uzak bir "ls" gibi "scp" gibi standart bir linux kabuğundaki bir uzak kopya yapmak için bir yolu var mı?
Yanıtlar:
Bunu her zaman yapabilirsin:
ssh user@host ls -l /some/directory
Bu, ana makineye SSH gönderecek, ls çalıştıracak, çıktıyı size geri bırakacak ve derhal bağlantı kesilecek.
scp
ve rsync
hatta belki sftp
de çağrılara sahiptir.
alias rls="ssh user@host ls -l"
yeniden başlatın ve rls /some/directory
çalışması gerekir.
Bir dizindeki tüm dosyaları listelemek için:
rsync host.name.com:directory/path/'*'
Dizin / yol -ls bulmak gibi bir şey için
rsync -r host.name.com:directory/path
bash: rsync: command not found
. Sanırım bu arka planda SSH kullandığı anlamına mı geliyor?
ls -l
. Sistemimde, sadece dosyaları listelemek için bir seçenek var gibi görünmüyor.
Bunu en sık kullanmamı, ls sonucunu elde etmek, tüm izinleri ve tarihleri ve benzeri olmayan basit bir dosya listesini bulmak ve yerel bir dosyada tutmaktır.
{ ssh me@host.com "cd /dir/of/interest; ls -1f *.txt;" } > /home/me/listoffiles.txt
İstediğiniz herhangi bir şeyi tırnak içinde çalıştırabilirsiniz. Tüm çıktılar yerel metin dosyanızda bitiyor. Veya sunucuda kötü bir komut dosyası çalıştırmak ve tüm çıktılarını, hatta hatalarını yakalamak istiyorsanız:
{ ssh me@host.com <script.remote.sh } > /home/me/output.log 2>/home/me/output.err
{ }
gerekli değildir.