리눅스 cp
IT 위키
더 많은 작업
- 파일이나 디렉터리를 복사한다.
- 유닉스와 리눅스 모두에서 명령어와 옵션이 같음
- 경로 : /bin/cp
- 이름은 copy 에서 왔다. 원본은 그대로 남고 새 파일이 하나 더 생긴다. 원본을 옮기려면 mv 를 쓴다.
cp [옵션] 원본 대상 cp [옵션] 원본1 원본2 ··· 디렉터리
- 대상이 이미 있는 파일이면 덮어쓴다.
- 대상이 디렉터리면 그 안에 원본과 같은 이름으로 복사한다.
- 원본을 여러 개 주면 마지막 인자는 반드시 디렉터리여야 한다.
- -r, -R, --recursive : 디렉터리와 그 하위 내용을 통째로 복사한다. 디렉터리를 복사할 때는 반드시 붙인다.
- -i, --interactive : 덮어쓰기 전에 물어본다.
- -f, --force : 대상 파일을 열 수 없으면 지우고 다시 복사한다. 묻지 않고 진행한다.
- -n, --no-clobber : 이미 있는 파일은 덮어쓰지 않는다.
- -p : 원본의 권한·소유자·수정 시각을 그대로 보존한다.
- -a, --archive : -dR --preserve=all 과 같다. 링크·권한·시각을 보존한 채 디렉터리를 통째로 복사한다(백업용).
- -d : 심볼릭 링크를 따라가지 않고 링크 자체를 복사한다.
- -l, --link : 복사하지 않고 하드 링크를 만든다.
- -s, --symbolic-link : 복사하지 않고 심볼릭 링크를 만든다.
- -u, --update : 원본이 대상보다 새것이거나 대상이 없을 때만 복사한다.
- -b, --backup : 덮어쓸 대상 파일의 백업(이름 뒤에 ~)을 만든다.
- -v, --verbose : 복사하는 파일 이름을 출력한다.
$ cp a.txt b.txt # a.txt 를 b.txt 로 복사 $ cp a.txt /tmp/ # /tmp 아래에 a.txt 로 복사 $ cp -i a.txt b.txt # b.txt 가 있으면 덮어쓸지 묻는다 $ cp -r /etc/httpd /backup/ # 디렉터리를 하위까지 복사 $ cp -a /home/user /backup/ # 권한·소유자·시각을 보존해 복사