반응형

cp

* 기본 형식

cp (옵션) (원본파일) (대상파일)

이 때 파일 앞에 경로를 지정해서 다른곳에서 가져오거나 붙여넣을 수 있다.

 

이렇게 경로를 지정해서 다른 곳으로 옮길 수 있다. 만약 작업하는 디렉토리와 복사하고 싶은 파일의 위치가 다르다면 복사하고 싶은 파일 앞에 경로를 입력해주면 복사가 가능하다. 또한 눈치가 빠른사람들은 이름을 변경해서 복사가 가능하다는 것을 알아챘을 것이다.


cp 속성
  • cp -a : 파일 및 디렉토리를 원래 상태를 유지하면서 복사한다. 즉, 소스 파일의 모든 속성(파일 권한, 소유자, 타임스탬프 등)을 대상 파일에 복사한다. 재귀적으로 디렉토리를 복사하며 하드 링크를 사용하여 파일을 복사한다. 원본 파일에 대한 변경 사항을 복사본에 반영하지 않으며, 대상 파일이 이미 존재하는 경우 덮어쓴다.

  • cp -r : 디렉토리와 그 내용을 재귀적으로 복사한다. 디렉토리의 권한, 소유자, 타임스탬프 및 모드 등은 그대로 복사된다. 하지만 하드 링크 대신 복사를 사용하여 파일을 복사한다. 원본 파일에 대한 변경 사항을 복사본에 반영하지 않는다. 대상 디렉토리가 이미 존재하는 경우 덮어쓴다.


cp 옵션

-f --force: 이름이 중복된다면 대상을 덮어쓴다.

-n --no-clobber: f와 반대로 덮어쓰지 않는다.

-u --update: 대상 파일이 이미 존재하고, 원본 파일보다 수정된 시간이 더 이후일 경우에만 복사한다.

 

* 공통 옵션 --help

내가 사용하려는 명령어의 옵션이 궁금하다면 명령어 뒤에 --help를 적어보면 사용할 수 있는 항목이 여럿 나온다. 거기서 찾아 적용하면 될 것이다. 영어가 어렵게 돼있는것도 아니라서 찾는데 크게 어려움은 없을 것이다.


이번 포스팅부터 옵션을 중요한 경우가 아니라면 적용 사진을 넘어가도록 하겠다. 옵션이 너무 많기도 하거니와 다 사용하지도 않기 때문이다. 대신 옵션의 정보만 나열해 적어두도록 하겠다.

 

 

* 출처 : 리눅스 cp --help

  -a, --archive                same as -dR --preserve=all
       --attributes-only        don't copy the file data, just the attributes
       --backup[=CONTROL]       make a backup of each existing destination file
  -b                           like --backup but does not accept an argument
       --copy-contents          copy contents of special files when recursive
  -d                           same as --no-dereference --preserve=links
  -f, --force                  if an existing destination file cannot be opened, remove it and try again (this option
                                 is ignored when the -n option is also used)
  -i, --interactive            prompt before overwrite (overrides a previous -n option)
  -H                           follow command-line symbolic links in SOURCE
  -l, --link                   hard link files instead of copying
  -L, --dereference            always follow symbolic links in SOURCE
  -n, --no-clobber             do not overwrite an existing file (overrides a previous -i option)
  -P, --no-dereference         never follow symbolic links in SOURCE
  -p                           same as --preserve=mode,ownership,timestamps
       --preserve[=ATTR_LIST]   preserve the specified attributes (default: mode,ownership,timestamps), if possible
                                 additional attributes: context, links, xattr, all
  -c                           deprecated, same as --preserve=context
      --no-preserve=ATTR_LIST  don't preserve the specified attributes
      --parents                use full source file name under DIRECTORY
  -R, -r, --recursive          copy directories recursively
      --reflink[=WHEN]         control clone/CoW copies. See below
      --remove-destination     remove each existing destination file before attempting to open it (contrast with --force)
      --sparse=WHEN            control creation of sparse files. See below
      --strip-trailing-slashes  remove any trailing slashes from each SOURCE argument
  -s, --symbolic-link          make symbolic links instead of copying
  -S, --suffix=SUFFIX          override the usual backup suffix
  -t, --target-directory=DIRECTORY  copy all SOURCE arguments into DIRECTORY
  -T, --no-target-directory    treat DEST as a normal file
  -u, --update                 copy only when the SOURCE file is newer than the destination file or when the
                                 destination file is missing
  -v, --verbose                explain what is being done
  -x, --one-file-system        stay on this file system
  -Z                           set SELinux security context of destination file to default type

반응형