scp(Secure Copy) 명령어

scp는 서로 다른 서버가 네트워크가 연결되어 있는 상태에서 원격으로 파일을 전송을 할 수 있는 명령어입니다. 

 

로컬에서 원격지에 있는 파일을 가져오거나, 원격지에서 로컬로 파일을 가져오는데 사용합니다. 

 

1. 연격지에서 로컬로 파일 보내기

scp [옵션] [원본 위치] [로컬계정@IP:파일생성 위치]

 

예)

# scp -P 8000 /home/text1.txt root@111.111.111.111:/home/text2.txt

 

서로 서버간의 통신은 8000포트를 사용하면서 /home/text1.txt. 파일을 111.111.111.111 서버에 있는 /home 디렉토리 아래 text2.txt 파일로 복사를 한다. 

 

2. 로컬에서 원격지에 있는 파일 가져오기

scp [옵션] [원격지계정@IP:가져올 파일 위치] [파일생성 위치]

 

예)

# scp -P 8000 root@111.111.111.111:/home/text1.txt /home/text2.txt

서로 서버간의 통신은 8000포트를 사용하면서 111.111.111.111서버에 /home디렉토리 아래에 text1.txt 파일을 /home 디렉토리 아래 text2.txt 파일로 복사를 한다. 

3.옵션

옵션 설명
-r 디렉토리를 전체 복사
-P(대문자) 지정된 포트로 연결(기본 22번)
-p(소문자) 복사될 대상의 권한, 속성 등 그대로 유지
-c 압축해서 복사
-v 실행과정 출력

 

vi 에디터

리눅스 환경에서 파일을 수정을 할 때 사용하는 에디터는 주로 vi 나 vim을 사용합니다.

이 에디터는 처음 사용자에게는 필요로 하는 명령어가 많아 조작하기 힘듭니다.

 

# vi file

 

file 에 자신이 열고자 하는 파일을 입력하면 됩니다.

현재 디렉토리에 없는 파일을 입력시 입력된 파일명의 이름으로 새파일 글쓰기가 됩니다(저장시 파일 생성).

 

에디터에서 "입력모드", "명령모드", "ex모드"를 번갈아 가며, 활용이 가능합니다.

1. 입력

 입력 키

설명 

 i

 커서가 있는 곳에서 입력모드 전환(삽입)

 R

 커서가 있는 곳에서 입력모드 전환(덮어쓰기)

 I

 커서가 있는 행에 맨 왼쪽에서 입력모드 전환

 A

 커서가 있는 행에 맨 오른쪽에서 입력모드 전환

 

2. 삭제

 입력 키

설명 

 x

커서가 위치한 문자 삭제 

 dd

 커서가 위치한 행 삭제

 10dd

 커서가 위치한 행 부터 아래로 10행 까지 삭제

 D

 커서가 위치한 행에서 커서 뒤로 문자 전부 삭제

 

3. 커서이동

 입력 키

설명 

 방향키(↑,→,↓,←)

 커서를 위치한 곳부터 한칸씩 이동시킴

 %

커서가 { } 또는 ( ) 위치에서 입력시 짝이 있는곳으로 이동시킴

 H

현재 보이는 화면에서 커서를 맨 위로 이동시킴 

 M

 현재 보이는 화면에서 커서를 중앙으로 이동시킴

 L

 현재 보이는 화면에서 커서를 맨 아래로 이동시킴

 ^

 커서가 위치한 행에 맨 앞으로 이동

 $

 커서가 위치한 행에 맨 뒤로 이동

 

4. 화면이동

 입력 키

설명 

ctrl + f

화면 아래에 있는 다음 페이지를 보여줌

ctrl + b

화면 위에 있는 이전 페이지를 보여줌 

 ctrl + e

 화면 아래에 있는 한줄을 보여줌

ctrl +  y

화면 위에 있는 한줄을 보여줌

 

5. 복사 붙여넣기

 입력 키

설명 

 yy

커서가 위치해 있는 행을 버퍼에 저장 

 10yy

 커서가 위치해 있는 행부터 10행까지 버퍼에 저장

 p

 버퍼에 저장된 내용을 커서 뒤로 붙여넣음

 

6. 문자열 찾기

 입력 키

설명 

 /문자열

 파일에 "문자열"이 있는 곳으로 커서 이동

n

커서에서 부터 다음 찾기 

 N

 커서에서 부터 이전 찾기

 :라인 수

해당 라인수로 커서를 이동시킴 

 

7. 저장

 입력 키

설명 

 :w

저장 

 :q

 저장하지 않고 종료

 :q!

저장하기 않고 강제종료 

 

 

8. 기타

 입력 키

설명 

 :set number

파일에 라인 수를 표시함 

 :set nonumber

파일에 라인 수가 표시된걸 지움 

 

 

 

자주 사용하는 단축키는 빨간색으로 표시를 해두었습니다.

 

 

리눅스 WC 명령어 활용

wc명령어는 파일이나 출력되는 택스트에 단어, 문자열, 행 등 수를 파악할때 유용할게 사용할 수 있는 명령어 입니다.

 

사용 방법

[localhost:/home/web]# wc index.jsp
275     864   10123 index.jsp

 

아무 옵션없이 wc 명령어로 index.jsp 파일을 검색을 해보면 275, 864, 10123 숫자만 나옵니다.

이 숫자를 해석을 하면 아래와 같습니다.

 

행 : 275 

단어 : 864

바이트 : 10123

 

wc 명령어는 그냥 사용을 하기보다는 옵션을 사용해 활용을 많이 합니다.

 

wc 옵션

 l

행 수

 w

단어 수

 c

바이트 수

 m

문자 수

 

wc명령어 응용

1. 디렉토리 안에 파일 개수를 빠르게 카운트 하는법

 

[localhost:/home/web]# ls /home/web | wc -w

 7

 

 

2. 파일 내부에 특정 문자 또는 문자열이 몇개가 있는지 카운트 하는법

 

[localhost:/home/web]# cat index.jsp | grep 'index' | wc -l
       5 

 

옵션을 사용해 파일 내부에 특정 단어가 들어가 있는 수를 파악하기 위해서는 위와 같이 사용을 하면 된다.

index.jsp 파일 내부에 "index"가 들어가는 라인의 수는 5줄이다.

 

문제 사항 : 한 라인에 특정 단어가 2개 이상이 있으면 라인이 1개로 출력이 되기 때문에 정확한 카운트가 되지 않는다.

 

+ Recent posts