(전재)linux 명령의 54scp 명령

10120 단어 Linux 명령
scp는 secure copy의 약자로 Linux에서 원격 복사 파일을 실행하는 명령입니다. 그와 유사한 명령은cp가 있습니다. 그러나cp는 본 컴퓨터에서 복사할 뿐, 서버를 뛰어넘을 수 없으며, scp 전송은 암호화됩니다.속도에 약간의 영향을 줄 수 있습니다.서버 하드디스크가 읽기 전용read only 시스템으로 변할 때 scp로 파일을 옮길 수 있습니다.또한 scp는 자원을 매우 차지하지 않고 시스템 부하를 많이 올리지 않는다는 점에서 rsync는 그것에 훨씬 미치지 못한다.rsync는 scp보다 조금 빠르지만 작은 파일이 많은 상황에서 rsync는 하드디스크의 I/O가 매우 높고 scp는 기본적으로 시스템의 정상적인 사용에 영향을 주지 않는다.

1. 명령 형식:


scp [매개 변수] [원래 경로] [대상 경로]

2. 명령 기능:


scp는 보안copy의 줄임말이고 scp는 linux 시스템에서 ssh 로그인을 기반으로 안전한 원격 파일 복사 명령입니다.linux의 scp 명령은 linux 서버 사이에서 파일과 디렉터리를 복사할 수 있습니다.

3. 명령 매개변수:


- 강제 scp 명령 사용 프로토콜 ssh1
- 2 강제 scp 명령 사용 프로토콜 ssh2
- 강제 scp 명령은 IPv4 주소 지정만 사용합니다.
-6 강제 scp 명령은 IPv6 주소 지정만 사용합니다.
- B 일괄 처리 모드 사용(전송 중에 전송 구령이나 구문은 묻지 않음)
- C 압축을 허용합니다.(-C 로고를 ssh에 전달하여 압축 기능을 엽니다)
-p는 원본 파일의 수정 시간, 접근 시간 및 접근 권한을 보존합니다.  
- q 전송 진행 표시줄을 표시하지 않습니다.  
-r는 전체 디렉터리를 복제합니다.  
-v 출력을 자세히 표시합니다.scp와 ssh(1)는 전체 과정의 디버깅 정보를 표시합니다.이 정보는 디버깅 연결, 검증, 설정 문제에 사용됩니다.   
- ccipher는 cipher로 데이터 전송을 암호화합니다. 이 옵션은 ssh에 직접 전달됩니다.   
-F ssh_config는 대체된 ssh 프로필을 지정합니다. 이 매개 변수는 ssh에 직접 전달됩니다.  
-i identity_파일은 지정한 파일에서 전송할 때 사용하는 키 파일을 읽습니다. 이 인자는 ssh에 직접 전달됩니다.    
- l limit은 Kbit/s 단위로 사용자가 사용할 수 있는 대역폭을 제한합니다.     
-o ssh_옵션이 ssh_ 사용에 익숙해지면config(5)의 매개 변수 전달 방식,
-P port 대문자 P, port 는 데이터 전송에 사용할 포트 번호를 지정합니다.
-S 프로그램은 암호화 전송에 사용되는 프로그램을 지정합니다.이 프로그램은 ssh(1)의 옵션을 이해할 수 있어야 합니다.

4. 인스턴스 사용:


scp 명령의 실제 응용 개요:

1. 로컬 서버에서 원격 서버로 복제:


(1) 파일 복사:
명령 형식:
scp local_file remote_username@remote_ip:remote_folder  
혹은
scp local_file remote_username@remote_ip:remote_file  
혹은
scp local_file remote_ip:remote_folder  
혹은
scp local_file remote_ip:remote_file  
1, 2개는 사용자 이름을 지정했습니다. 명령이 실행되면 사용자 비밀번호를 입력해야 합니다. 첫 번째는 원격 디렉터리만 지정했습니다. 파일 이름은 변하지 않았습니다. 두 번째는 파일 이름을 지정했습니다.
3, 4개는 사용자 이름을 지정하지 않았습니다. 명령이 실행되면 사용자 이름과 비밀번호를 입력해야 합니다. 세 번째는 원격 디렉터리만 지정했습니다. 파일 이름은 변하지 않았습니다. 네 번째는 파일 이름을 지정했습니다.
(2) 카탈로그 복사:
명령 형식:
scp -r local_folder remote_username@remote_ip:remote_folder  
혹은
scp -r local_folder remote_ip:remote_folder  
첫 번째는 사용자 이름을 지정합니다. 명령이 실행되면 사용자 비밀번호를 입력해야 합니다.  
두 번째 사용자 이름은 지정되지 않았습니다. 명령이 실행되면 사용자 이름과 비밀번호를 입력해야 합니다.

2. 원격 서버에서 로컬 서버로 복제:


원격에서 로컬로 복사된 scp 명령은 위의 명령과 동일합니다. 로컬에서 원격으로 복사된 명령 뒤에 있는 두 개의 매개 변수를 교환하면 됩니다.
인스턴스 1: 원격에서 로컬 디렉토리로 파일 복사
명령:
scp [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

출력:
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# ll
  80072
drwxr-xr-x 12 root root     4096 09-21 18:40 fms3.5
drwxr-xr-x  3 root root     4096 09-21 17:58 fms4.5
drwxr-xr-x 10 root root     4096 10-30 17:15 jdk1.6.0_16
drwxr-xr-x 10 root root     4096 09-17 19:27 jdk1.6.0_16.bak
-rwxr-xr-x  1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin
drwxrwxrwx  2 root root     4096 09-21 01:16 mysql
drwxr-xr-x  3 root root     4096 09-21 18:40 setup_file
drwxr-xr-x  9 root root     4096 09-17 19:23 tomcat6.0.32
drwxr-xr-x  9 root root     4096 2012-08-14 tomcat_7.0
[root@localhost soft]# scp [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
[email protected]'s password: 
nginx-0.5.38.tar.gz                                                                               100%  479KB 478.7KB/s   00:00    
[root@localhost soft]# ll
  80556
drwxr-xr-x 12 root root     4096 09-21 18:40 fms3.5
drwxr-xr-x  3 root root     4096 09-21 17:58 fms4.5
drwxr-xr-x 10 root root     4096 10-30 17:15 jdk1.6.0_16
drwxr-xr-x 10 root root     4096 09-17 19:27 jdk1.6.0_16.bak
-rwxr-xr-x  1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin
drwxrwxrwx  2 root root     4096 09-21 01:16 mysql
-rw-r--r--  1 root root   490220 03-15 09:11 nginx-0.5.38.tar.gz
drwxr-xr-x  3 root root     4096 09-21 18:40 setup_file
drwxr-xr-x  9 root root     4096 09-17 19:23 tomcat6.0.32
drwxr-xr-x  9 root root     4096 2012-08-14 tomcat_7.0

설명: 192.168.120.204 기계의/opt/soft/의 디렉터리에서nginx-0.5.38을 다운로드합니다.tar.gz 파일은 로컬/opt/soft/디렉터리에 있습니다.
인스턴스 2: 원격에서 로컬로 복사
명령:
scp -r [email protected]:/opt/soft/mongodb /opt/soft/

출력:
[root@localhost soft]# ll
  80556
drwxr-xr-x 12 root root     4096 09-21 18:40 fms3.5
drwxr-xr-x  3 root root     4096 09-21 17:58 fms4.5
drwxr-xr-x 10 root root     4096 10-30 17:15 jdk1.6.0_16
drwxr-xr-x 10 root root     4096 09-17 19:27 jdk1.6.0_16.bak
-rwxr-xr-x  1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin
drwxrwxrwx  2 root root     4096 09-21 01:16 mysql
-rw-r--r--  1 root root   490220 03-15 09:11 nginx-0.5.38.tar.gz
drwxr-xr-x  3 root root     4096 09-21 18:40 setup_file
drwxr-xr-x  9 root root     4096 09-17 19:23 tomcat6.0.32
drwxr-xr-x  9 root root     4096 2012-08-14 tomcat_7.0
[root@localhost soft]# scp -r [email protected]:/opt/soft/mongodb /opt/soft/
[email protected]'s password: 
mongodb-linux-i686-static-1.8.5.tgz                                                               100%   28MB  28.3MB/s   00:01    
README                                                                                            100%  731     0.7KB/s   00:00    
THIRD-PARTY-NOTICES                                                                               100% 7866     7.7KB/s   00:00    
mongorestore                                                                                      100% 7753KB   7.6MB/s   00:00    
mongod                                                                                            100% 7760KB   7.6MB/s   00:01    
mongoexport                                                                                       100% 7744KB   7.6MB/s   00:00    
bsondump                                                                                          100% 7737KB   7.6MB/s   00:00    
mongofiles                                                                                        100% 7748KB   7.6MB/s   00:01    
mongostat                                                                                         100% 7808KB   7.6MB/s   00:00    
mongos                                                                                            100% 5262KB   5.1MB/s   00:01    
mongo                                                                                             100% 3707KB   3.6MB/s   00:00    
mongoimport                                                                                       100% 7754KB   7.6MB/s   00:00    
mongodump                                                                                         100% 7773KB   7.6MB/s   00:00    
GNU-AGPL-3.0                                                                                      100%   34KB  33.7KB/s   00:00    
[root@localhost soft]# ll
  80560
drwxr-xr-x 12 root root     4096 09-21 18:40 fms3.5
drwxr-xr-x  3 root root     4096 09-21 17:58 fms4.5
drwxr-xr-x 10 root root     4096 10-30 17:15 jdk1.6.0_16
drwxr-xr-x 10 root root     4096 09-17 19:27 jdk1.6.0_16.bak
-rwxr-xr-x  1 root root 81871260 2009-12-21 jdk-6u16-linux-x64.bin
drwxr-xr-x  3 root root     4096 03-15 09:18 mongodb
drwxrwxrwx  2 root root     4096 09-21 01:16 mysql
-rw-r--r--  1 root root   490220 03-15 09:11 nginx-0.5.38.tar.gz
drwxr-xr-x  3 root root     4096 09-21 18:40 setup_file
drwxr-xr-x  9 root root     4096 09-17 19:23 tomcat6.0.32
drwxr-xr-x  9 root root     4096 2012-08-14 tomcat_7.0

설명: 192.168.120.204 기계의/opt/soft/에서 mongodb 디렉터리를 로컬/opt/soft/디렉터리로 다운로드합니다.
인스턴스 3: 원격 시스템에 로컬 파일 업로드 지정 디렉토리
명령:
scp /opt/soft/nginx-0.5.38.tar.gz [email protected]:/opt/soft/scptest

출력:
 :
[root@localhost soft]# cd scptest/
[root@localhost scptest]# ll
  0
 :
[root@localhost soft]# scp /opt/soft/nginx-0.5.38.tar.gz [email protected]:/opt/soft/scptest
[email protected]'s password: 
nginx-0.5.38.tar.gz                                               100%  479KB 478.7KB/s   00:00   
 :
[root@localhost scptest]# ll
  484
-rw-r--r-- 1 root root 490220 03-15 09:25 nginx-0.5.38.tar.gz

설명: 로컬opt/soft/디렉터리의 파일nginx-0.5.38을 복사합니다.tar.gz에서 원격 기기 192.168.120.204의opt/soft/scptest 디렉터리.
실례 4: 로컬 디렉터리를 원격 시스템에 업로드하여 지정한 디렉터리
명령:
scp -r /opt/soft/mongodb [email protected]:/opt/soft/scptest

출력:
 :
[root@localhost ~]# cd /opt/soft/scptest/
[root@localhost scptest]# ll
  484
-rw-r--r-- 1 root root 490220 03-15 09:25 nginx-0.5.38.tar.gz
 :
[root@localhost ~]# scp -r /opt/soft/mongodb [email protected]:/opt/soft/scptest
[email protected]'s password: 
mongodb-linux-i686-static-1.8.5.tgz            100%   28MB  28.3MB/s   00:01    
README                                         100%  731     0.7KB/s   00:00    
THIRD-PARTY-NOTICES                            100% 7866     7.7KB/s   00:00    
mongorestore                                   100% 7753KB   7.6MB/s   00:00    
mongod                                         100% 7760KB   7.6MB/s   00:01    
mongoexport                                    100% 7744KB   7.6MB/s   00:00    
bsondump                                       100% 7737KB   7.6MB/s   00:00    
mongofiles                                     100% 7748KB   7.6MB/s   00:00    
mongostat                                      100% 7808KB   7.6MB/s   00:01    
mongos                                         100% 5262KB   5.1MB/s   00:00    
mongo                                          100% 3707KB   3.6MB/s   00:00    
mongoimport                                    100% 7754KB   7.6MB/s   00:01    
mongodump                                      100% 7773KB   7.6MB/s   00:00    
GNU-AGPL-3.0                                   100%   34KB  33.7KB/s   00:00    
 :
[root@localhost scptest]# ll
  488
drwxr-xr-x 3 root root   4096 03-15 09:33 mongodb
-rw-r--r-- 1 root root 490220 03-15 09:25 nginx-0.5.38.tar.gz

설명: 로컬 디렉터리/opt/soft/mongodb를 원격 기기 192.168.120.204에/opt/soft/scptest 디렉터리에 업로드합니다.

좋은 웹페이지 즐겨찾기