Apakah ada cara untuk melakukan remote "ls" seperti "scp" melakukan copy jarak jauh dalam shell linux standar?
Apakah ada cara untuk melakukan remote "ls" seperti "scp" melakukan copy jarak jauh dalam shell linux standar?
Jawaban:
Anda selalu bisa melakukan ini:
ssh user@host ls -l /some/directory
Itu akan SSH ke host, jalankan ls, buang output kembali kepada Anda dan segera putuskan.
scp
dan rsync
panggilan, mungkin sftp
juga, dan hanya itu.
alias rls="ssh user@host ls -l"
Mulai ulang shell Anda dan rls /some/directory
akan bekerja.
Untuk membuat daftar semua file dalam direktori:
rsync host.name.com:directory/path/'*'
Untuk sesuatu seperti temukan direktori / path -l
rsync -r host.name.com:directory/path
bash: rsync: command not found
. Saya kira ini berarti menggunakan SSH di latar belakang?
ls -l
. Di sistem saya, sepertinya tidak ada opsi untuk hanya daftar file.
Untuk semua yang datang melalui google ke pertanyaan ini karena mereka mencari cara untuk membuat daftar file jarak jauh tetapi tidak dapat mengakses server jauh melalui ssh (kasus umum untuk server cadangan) Anda dapat menggunakan 'sftp'.
Contoh:
sftp username@hostname.xyz
ls
cd somedir
exit
Mulai sesi interaktif di direktori jarak jauh tertentu:
sftp [user@]host[:dir]
Saya menemukan saya paling sering menggunakan ini untuk mendapatkan hasil ls, daftar file sederhana tanpa semua izin dan tanggal dan semacamnya, dan menyimpannya di file lokal.
{ ssh me@host.com "cd /dir/of/interest; ls -1f *.txt;" } > /home/me/listoffiles.txt
Anda dapat menjalankan apa pun yang Anda inginkan dalam tanda kutip. Semua output berakhir di file teks lokal Anda. Atau jika Anda ingin menjalankan skrip jahat besar di server dan menangkap semua hasilnya, bahkan kesalahan:
{ ssh me@host.com <script.remote.sh } > /home/me/output.log 2>/home/me/output.err
{ }
tidak diperlukan.