Friday, April 28, 2017

CentOS 6.6 리눅스 기초] 6. 기초 명령(4) - cp, mv


  

6. 기초 명령(4) - cp, mv

■ cp

cp 명령은 원본 파일에 대한 복사본을 만들기 위해서 사용할 수 있다. 또는 디렉터리를 복사하기 위해 사용할 수 있다.

1). 명령 형식

  cp [옵션] source target

source는 복사 대상을 가리키고 target은 파일 이름 또는 디렉터리가 될 수 있다. 만약 target 이름이 존재하는 디렉터리 이름이라면 그 안으로 파일이 복사된다.

2). 옵션

 옵 션
 내 용
 -i
 상호 대화(interactive) 형식으로 복사하기 위해 사용한다. 사용자에게 복사를 물어본다. 이는 동일한 이름을 가지는 파일 덮어쓰기 방지를 하기 위해 사용할 수 있다.
 -r
 재귀적 (recursive) 형식으로 복사하기 위해 사용한다. 디렉터리를 복사하기 위해 사용한다. 또는 파이프 형식을 파일을 복사하기 위해 사용할 수 있다.


3). 예제

아래는 date 명령의 결과값을 리다이렉션 기호 > 를 사용하여 a.txt 파일을 생성, 저장하였다. 그리고 cp 명령을 사용하여 사본인 b.txt 파일을 만들었다.


아래는 하위 디렉터리가 있는 디렉터리를 만들어 복사하기 위해 테스트를 하였다. 옵션 없이 디렉터리를 복사하려 하면 에러나 나오는데 -r 옵션을 사용하면 디렉터리를 복사할 수 있음을 알 수 있다.


아래는 이미 존재하는 디렉터리에 디렉터리를 복사하는 내용이다.


옵션 없이 named pipe 파일을 복사하려 하면 명령이 멈춘 상태로 계속 유지된다. 그래서 이러한 유형을 복사하기 위해 -r 옵션을 사용해야 한다.


■ mv

mv 명령은 파일 이름을 변경하기 위해 또는 파일이나 디렉터리를 이동시키기 위해 사용하는 명령이다.

1). 명령 형식

  mv [옵션] source target

source는 대상을 가리키고 target은 파일 이름 또는 디렉터리가 될 수 있다. 만약 target 이름이 존재하는 파일 이름이라면 덮어쓰기가 된다. 만약 존재하는 디렉터리 이름이라면 그 디렉터리로 대상 파일이 이동된다. 만약 target 이름이 존재하지 않는다면 그 이름으로 대상 이름이 변경된다.

2). 옵션

 옵 션
 내 용
 -i
 상호 대화(interactive) 형식으로 동작하도록 만들기 위해 사용한다. 이는 동일한 이름을 가지는 파일 덮어쓰기 방지를 하기 위해 사용할 수 있다.

3). 예제

아래는 date 명령의 결과값으로 date1.txt 파일을 생성한 후 이 이름을 date2로 변경한 예이다.


mv 명령이 별칭 처리되어 있기 때문에 테스트를 위해 unalias 명령으로 mv 별칭을 제거하였다. 그리고 -i 옵션을 사용하지 않으면 mv 명령으로 파일을 덮어쓸 수도 있다는 예를 보여주기 위해 아래 명령을 사용하였다.


-i 옵션을 사용하면 이미 같은 이름의 파일이 존재한다면 아래와 같이 덮어쓸 것인지 물어본다. 중요한 파일이라면 덮어쓰지 않는 것이 좋겠죠?


아래는 target 이름이 이미 존재하는 디렉터리 이름이라면 그 디렉터리로 파일이 이동하는 것을 보여주는 예이다.








No comments:

Post a Comment