내 터미널 셸에서 원격 서버와 cd
원하는 디렉터리로 SSH를 통해 연결합니다.
table
이제 이 디렉토리에는 로컬 컴퓨터에 복사하려는 파일이 있습니다 /home/me/Desktop
.
어떻게 해야 하나요?
시도했지만 scp table /home/me/Desktop
해당 파일이나 디렉터리가 없다는 오류가 발생했습니다.
이 작업을 수행하는 방법을 아는 사람이 있나요?
답변1
구문은 다음 scp
과 같습니다.
원격 컴퓨터에 파일을 보내려는 컴퓨터를 사용하는 경우:
scp /file/to/send username@remote:/where/to/put
이는 remote
FQDN 또는 IP 주소일 수 있습니다.
반면, 컴퓨터를 사용 중이고 원격 컴퓨터에서 파일을 받으려는 경우:
scp username@remote:/file/to/send /where/to/put
scp
두 원격 호스트 간에 파일을 보내는 것도 가능합니다.
scp username@remote_1:/file/to/send username@remote_2:/where/to/put
따라서 기본 구문은 다음과 같습니다.
scp username@source:/location/to/file username@destination:/where/to/put
당신은 읽을 수있다man scp
이에 대해 더 많은 아이디어를 얻으려면.
답변2
rsync
대안 으로 사용할 수 있습니다 . 주로 파일 동기화에 사용되지만 이 목적으로도 사용할 수 있습니다.
rsync -avzh --stats --progress remoteuser@remoteip:/path/ localpath
SSH 옵션을 추가합니다.
rsync -e "ssh -P $port_value" remoteuser@remoteip:/path/ localpath
--progress
실시간 디스플레이 전송 에 --stats
유용합니다 .
파일을 많이 복사할 때 눈에 띄는 점은 이미 전송된 파일은 건너뛰기 때문에 SCP보다 나은 선택이라고 생각합니다.
답변3
scp [email protected]:/root/Jmeter/reports.jtl Downloads/
답변4
네트워크의 모든 사람을 완전히 신뢰하고 대상 시스템의 포트에 직접 연결할 수 있는 경우 netcat: 을 사용할 수 있습니다 nc
.
대상 컴퓨터의 IP 주소가 192.168.1.123이라고 가정합니다.
목적지에서 실행:
nc -l -p 7777 0.0.0.0 | tar zxvf - -C dest_dir
인터페이스에 바인딩된 다른 포트나 다른 IP를 선택할 수 있습니다. 0.0.0.0은 모든 인터페이스를 캡처합니다.
소스에서 실행:
tar zcvf - filename | nc 192.168.1.123 7777
IMHO, 이것은 디지털 네트워크를 사용하여 한 컴퓨터에서 다른 컴퓨터로 파일을 보내는 가장 빠른 방법입니다.
nc
매개변수와 명령줄 옵션은 버전과 버전에 따라 약간 다를 수 있지만 tar
최신 Linux 배포판에서는 확실히 작동합니다.