728x90
반응형
scp
ssh 환경의 파일(디렉토리)를 cp(복사) 해오는 명령어
$ scp -r root@210.180.XXX.XXX:/root/workspace/tech_repo_list/REPO ./
$ scp -r root@210.180.XXX.XXX:/root/ADMIN_REPO ./
ssh로 접속한 곳의(root@210.180.XXX.XXX:)
해당 폴더를(/root/workspace/tech_respo_list/REPO)
지정한 곳에(./)
복사한다(scp)
재귀적으로 (-r)
* 재귀적으로? -r
함수의 결과값을 다시 변수로 받아서 처리
a -> f(a) -> f(f(a)) -> f(f(f(a))) ...
디렉토리를 복사하는 경우, 디렉토리 안에는 파일외에 또 디렉토리가 있을 수 있다.
재귀적으로 복사하지 않으면 파일과 빈 디렉토리만 가져오게 된다(1 depth 경로만 가져오는 것)
디렉토리 안의 디렉토리 까지 전부 가져오기 위해서 재귀적으로 실행
파일 복사의 경우 다음과 같이 보면 됨
f(x): 해당 경로 복사
a: 1 depth 복사 결과값
f(f(f(f(f(f(a))))))... (하위 디렉토리가 없을때까지)
참고:
* -r 옵션 안쓰려면? 압축해서 한번에 가져오기 (권장: 이게 더 빠르긴 하다)
tar, tar.gz, zip 등 이용
** ssh key 관련
일반유저 (hwan@mail)
루트유저 (root@mail)
일반유저의 ssh-key를 remote에 등록해 놓은 경우
scp 명령어 사용 가능
루트 유저는 그럼 바로 scp 명령어 가능할까?
안된다.
루트 유저랑 일반 유저는 remote에서 봣을 때는 엄연히 다른 유저이기 때문에
루트 유저의 ssh key를 별도로 등록해주어야 한다.
more examples
To copy a file from your local system to a remote system:
scp /path/to/local/file username@remote:/path/to/remote/destination
To copy a file from a remote system to your local system:
scp username@remote:/path/to/remote/file /path/to/local/destination
To copy a directory and all its contents from your local system to a remote system:
scp -r /path/to/local/directory username@remote:/path/to/remote/destination
To copy a directory and all its contents from a remote system to your local system:
scp -r username@remote:/path/to/remote/directory /path/to/local/destination
By default, scp uses port 22 to establish a secure connection.
If you need to use a different port, you can specify it using the -P flag:
scp -P 2222 /path/to/local/file username@remote:/path/to/remote/destination
To copy a file and specify the location of your ssh private key (if you're not using the default ~/.ssh/id_rsa):
scp -i /path/to/private/key /path/to/local/file username@remote:/path/to/remote/destination
참고:
1) scp -i /path/to/private/key 만 별도로 쓸 수 없다.
2) -r 옵션 사용 가능(recursive)
728x90
반응형
'Linux(Ubuntu)' 카테고리의 다른 글
Linux shell: alias 대신 함수로 동적으로 명령어 실행하기 # dynamic command (0) | 2023.12.24 |
---|---|
Linux(ubuntu) 실행 중인 프로세스 죽이기 #netstat # fuser # port # kill (0) | 2023.03.20 |
파일 압축 # tar, tar.gz, zip (0) | 2023.01.07 |
Linux 기초: Kernel (0) | 2022.12.28 |
Linux 기초: ABI / ELF (0) | 2022.12.27 |