Scp සමඟ පිටපත් කිරීමේදී ආදේශක කාඩ්පත් (*) භාවිතා කරන්නේ කෙසේද?


154

*මාවතේ අක්ෂර භාවිතා කරන විට මට scp සමඟ පිටපත් කළ නොහැක්කේ ඇයි ?

scp SERVERNAME:/DIR/* .

*මාර්ගයට ඉඩ දීම සඳහා SCP ට අවශ්‍ය වින්‍යාසය කුමක්ද?

යාවත්කාලීන කිරීම: ගැටළුව සේවාදායක පැත්තේ නොවේ; pscp SCPv1 භාවිතා කිරීමට උත්සාහ කරයි, ඒ නිසා දෝෂ පණිවිඩය:

* නමින් ගොනුවක් සම්බන්ධයෙන් scp විධාන රේඛාව සහ දෝෂ පණිවිඩය


මෙය පරීක්ෂා කරන්න, එය මා වෙනුවෙන් වැඩ කළේය: https://superuser.com/a/1390405/445746
AmitM

ඔබ *ගොනු ග්ලෝබින් කිරීම සඳහා භාවිතා කිරීමට උත්සාහ කරනවාද , නැතහොත් ගොනුවක් පිටපත් කිරීමද යන ප්‍රශ්නය පැහැදිලි නැත *(ප්‍රශ්නය අසන්නේ කුමක් දැයි අදහස් දැක්වීමේදී එකඟ නොවීම බලන්න).
LarsH

Answers:


136

scpදුරස්ථ යන්ත්‍රය ග්ලෝබ් *ලෙස සැලකීම වළක්වා ගැනීම සඳහා ඔබ වචනානුසාරයෙන් ගැලවී යා යුතුය (එය දෙගුණයක් උපුටා දක්වා ඇති බව සලකන්න ):

scp 'SERVERNAME:/DIR/\*' .

51
ඔබට එක්කෝ උපුටා දැක්වීම් අවශ්‍ය වේ, නැතහොත් තාරකාවට පෙර බැක්ස්ලෑෂ් එකක් මිස දෙකම නොවේ. Scp යනු එය පුළුල් කරන තැනැත්තා නොවේ, කවචය.
පැට්රික්

3
ඔබ එය උත්සාහ කර තිබේද? මම දැන් කළා, මම විස්තර කළ ආකාරයටම ක්‍රියා කරයි (උපුටා දැක්වීම සහ පැන යාම අසාර්ථක වීමට හේතු වේ). පරිශීලක 1274964 ඔහුගේ පිළිතුරේ හැසිරීම පවා සනාථ කරයි. touch /tmp/abcd.1234; scp 'localhost:/tmp/abcd.\*' ./:scp: /tmp/abcd.*: No such file or directory
පැට්රික්

2
At පැට්‍රික් ප්‍රශ්නය වන්නේ වචනාර්ථයෙන් තරු ලකුණක් භාවිතා කිරීමයි , එනම්, ගෝලීයකරණය සම්පූර්ණයෙන්ම වළක්වා ගැනීම මිස දුරස්ථව ග්ලෝබල් කරන්නේ කෙසේද යන්න ගැන නොවේ.
ක්‍රිස් ඩවුන්

2
ඇත්ත වශයෙන්ම ප්‍රශ්නය වන්නේ pscpදුරස්ථ ග්ලෝබල් කිරීමට ඉඩ දීම සඳහා සේවාදායකයාගේ පැත්තට යාමයි.
පැට්‍රික්

1
ඔව්, ඔබ තනි උපුටා දැක්වීම් භාවිතා කරන්නේ නම් ඔබට තරු ලකුණු වලින් ගැලවීමට අවශ්‍ය නැත
Led

63

පැට්‍රික්ගේ උපදෙස් නිවැරදි බව මට පෙනී ගියේය, නමුත් ක්‍රිස්ගේ පිළිතුර මා නිවැරදි මාර්ගයට ගෙන ගියේය. උපුටා දැක්වීම් භාවිතා කරන්න, එවිට ඔබට තරු ලකුණු කිරීමට පෙර බැක්ස්ලෑෂ් අවශ්‍ය නොවේ.

scp 'SERVERNAME:/tmp/file_num\*' .

scp: /tmp/file_num*.csv: එවැනි ගොනුවක් හෝ නාමාවලියක් නොමැත

scp 'SERVERNAME:/tmp/file_num*' .

judges_for_job_171642.csv 100% 32KB 32.0KB / s 00:00
විනිශ්චයන්_ෆෝර්_ජොබ්_172394.csv 100% 548KB 182.6KB / s 00:03


4
හරි, මින් අදහස් කරන්නේ ඔබට දුරස්ථව ග්ලෝබ් කිරීමට අවශ්‍ය බවයි. ප්‍රශ්නය වන්නේ දුරස්ථයේ ග්ලෝබ් කිරීම නතර කරන්නේ කෙසේද යන්න (වචනානුසාරයෙන් ලබා ගැනීම සඳහා *) මිස දුරස්ථය මත පමණක් ග්ලෝබල් කරන්නේ කෙසේද යන්න ගැන නොවේ.
ක්‍රිස් ඩවුන්

3
H ක්‍රිස්ඩවුන්. නැත. පරිශීලකයාට අවශ්‍ය වන්නේ ආදේශක කාඩ්පත ධාරකයේ විස්තාරණය නොකිරීමට සහ දුරස්ථව එය පුළුල් කිරීමට අවශ්‍ය නම්, එහි ඇති විවිධ ගොනු සමඟ සැසඳීමට ඉඩ දීමයි. ආපසු ලබා දුන් කිසිදු ලිපිගොනුවක වචනාර්ථයෙන් '*' නොමැත. ඔබ අදහස් කළේ " ධාරකයේ ග්ලෝබල් කිරීම නවත්වන්න " කියාද?
ටිම් බර්ඩ්

1

සටහන: පහත දක්වා ඇති විසඳුම පරීක්ෂා කර නිවැරදිව වැඩ කිරීමට දන්නා කරුණකි.

ඔබ ග්ලෝබ් කරන මාවතේ කොටසක් වෙනස් කර ඇත්නම් තනි උපුටා දැක්වීම් විචල්‍ය ප්‍රසාරණය බිඳ දමනු ඇත.

විචල්යයක් සමඟ අන්වර්ථ කරන ලද මාර්ගයක් භාවිතා කරමින් ගෝලීය ගොනුවේ විධානය- configure_ .tar.gz * භාවිතා කිරීම සඳහා ඩබල් උපුටා දැක්වීම් භාවිතා කරන ස්ක්‍රිප්ටයක් මෙන්න :

#!/bin/bash

USEREXECUTINGSCRIPT='admin'
SCRIPTSDIR="myscripts"

SCPUSER='terrencehoulahan'
SCPUSERPASSWD='Change-Me'
SCPHOST='1.2.3.4'
SCPDIRECTORYREMOTE='/Users/terrencehoulahan/Downloads/Ubuntu/18.04'

## Uncomment appropriate below command for your distro to install "sshpass"
#apt-get -y sshpass
#yum -y install sshpass

sshpass -p "$SCPUSERPASSWD" scp -o StrictHostKeyChecking=no $SCPUSER@$SCPHOST:"$SCPDIRECTORYREMOTE/command-configure_*.tar.gz" $(getent passwd|grep ^$(echo $USEREXECUTINGSCRIPT)|cut -d ':' -f6)/$SCRIPTSDIR/

අවසාන ද්විත්ව උපුටා දැක්වීමෙන් පසුව, දේශීය නාමාවලි ඉලක්කය ගොඩනඟා ඇත්තේ නිශ්චිත පරිශීලකයාගේ නිවසේ ඩර් / etc / passwd වෙතින් උපුටා ගැනීමෙනි .

මෙම scp මඟින් විධාන ම සමග ආරම්භයේ ස්වසනය කරයි sshpassහා -o StrictHostKeyChecking=noපූර්ණ ස්වයංක්රීය කිරීමට scpපරිශීලක අන්තර් ක්රියාවේදී අයිකන තොරව විධාන. වරින් වර වෙනස් වනු ඇතැයි අපේක්‍ෂා කරන දෘඩ කේතීකරණ මාර්ගවලට වඩා කැටි ගැසුණු නමුත් වඩා හොඳ බව පෙනේ.

Anyhoo, උදාහරණ ලෙස ද්විත්ව උපුටා දැක්වීම් භාවිතා කරමින් ඔබ ග්ලෝබල් කරන මාර්ගයේ විචල්‍යයන් පුළුල් කිරීමට ඉඩ දිය යුතුය. HTH

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.