มีวิธีการทำ "ls" ระยะไกลเหมือน "scp" ทำสำเนาระยะไกลในเปลือก linux มาตรฐานหรือไม่
มีวิธีการทำ "ls" ระยะไกลเหมือน "scp" ทำสำเนาระยะไกลในเปลือก linux มาตรฐานหรือไม่
คำตอบ:
คุณสามารถทำสิ่งนี้ได้เสมอ:
ssh user@host ls -l /some/directory
นั่นจะ SSH ไปยังโฮสต์, รัน ls, ดัมพ์เอาต์พุตกลับไปหาคุณและตัดการเชื่อมต่อทันที
scp
และการrsync
โทรเท่านั้นและอาจsftp
เป็นเช่นนั้น
alias rls="ssh user@host ls -l"
รีสตาร์ทเชลล์และrls /some/directory
ควรใช้งานได้
หากต้องการแสดงรายการไฟล์ทั้งหมดในไดเรกทอรี:
rsync host.name.com:directory/path/'*'
สำหรับสิ่งที่ต้องการค้นหาไดเรกทอรี / เส้นทาง -ls
rsync -r host.name.com:directory/path
bash: rsync: command not found
ไม่ได้ติดตั้งในพื้นที่แล้วคุณจะได้รับสิ่งที่ต้องการ ฉันคิดว่านี่หมายถึงการใช้ SSH เป็นพื้นหลังใช่ไหม
ls -l
รูปแบบจะคล้ายกับ ในระบบของฉันมันดูไม่เหมือนมีตัวเลือกเพียงแค่รายการไฟล์
สำหรับทุกคนที่มาจาก google สำหรับคำถามนี้เพราะพวกเขากำลังมองหาวิธีที่จะแสดงรายการไฟล์ระยะไกล แต่ไม่สามารถเข้าถึงเซิร์ฟเวอร์ระยะไกลผ่าน ssh (กรณีทั่วไปสำหรับเซิร์ฟเวอร์สำรอง) คุณสามารถใช้ 'sftp'
ตัวอย่าง:
sftp username@hostname.xyz
ls
cd somedir
exit
เริ่มเซสชันการโต้ตอบในไดเรกทอรีระยะไกลเฉพาะ:
sftp [user@]host[:dir]
ใช่. SSH และทำls
:
ssh host ls /path
คุณสามารถสคริปต์นี้ให้ยืดหยุ่นได้ง่ายขึ้นหรือใช้โฮสต์: ไวยากรณ์ของเส้นทางscp
ใช้
ฉันพบว่าการใช้งานบ่อยที่สุดของฉันคือการได้ผลลัพธ์ ls รายการไฟล์ที่เรียบง่ายโดยไม่มีการอนุญาตและวันที่ทั้งหมดและเก็บไว้ในโลคัลไฟล์
{ ssh me@host.com "cd /dir/of/interest; ls -1f *.txt;" } > /home/me/listoffiles.txt
คุณสามารถเรียกใช้สิ่งที่คุณต้องการภายในเครื่องหมายคำพูด ผลลัพธ์ทั้งหมดสิ้นสุดลงในไฟล์ข้อความในเครื่องของคุณ หรือถ้าคุณต้องการเรียกใช้สคริปต์ที่น่ารังเกียจขนาดใหญ่บนเซิร์ฟเวอร์และจับเอาท์พุททั้งหมดแม้แต่ข้อผิดพลาด:
{ ssh me@host.com <script.remote.sh } > /home/me/output.log 2>/home/me/output.err
{ }
ไม่จำเป็นต้องใช้