Linux의 복사 명령은 "cp"입니다. cp 명령은 주로 파일과 디렉터리를 복사하는 데 사용됩니다. "cp [옵션] 소스 파일 대상 파일" 구문은 특정 파일이나 디렉터리에 동시에 하나 이상의 소스 파일이나 디렉터리를 복사할 수 있습니다. 옵션을 사용하면 전체 디렉토리뿐만 아니라 이전 파일과 새 파일을 비교하고 업그레이드하는 등의 기능도 수행할 수 있습니다.
이 튜토리얼의 운영 환경: CentOS 6 시스템, Dell G3 컴퓨터.
Linux의 복사 명령은 "cp"입니다.
cp의 정식 영어 이름은 "copy file"이며 중국어로 파일을 복사한다는 뜻입니다.
cp 명령은 주로 파일과 디렉터리를 복사하는 데 사용됩니다. 하나 이상의 소스 파일이나 디렉터리를 지정된 대상 파일이나 디렉터리에 복사할 수 있습니다.
cp 명령의 기본 형식은 다음과 같습니다.
cp [选项] 源文件 目标文件
옵션:
-d, -p 및 -r 옵션 세트와 동일합니다.
-d: 소스 파일이 소프트 링크인 경우(유효하지 않음) 하드 링크), 복사된 대상 파일도 소프트 링크입니다.
-i: 대상 파일이 이미 존재하는 경우 덮어쓸 것인지 묻습니다.
-l: 대상 파일을 생성합니다. 소스 파일을 복사하는 대신 소스 파일의 하드 링크 파일로 생성
-s: 소스 파일을 복사하는 대신 소스 파일의 소프트 링크 파일로 생성합니다. : 복사 후 대상 파일은 소스 파일의 속성(소유자, 소유권 그룹, 권한 및 시간 포함)을 유지합니다.
-r: 재귀 복사, 디렉터리 복사에 사용됨
-u: 대상 파일이 원본 파일과 다른 경우 이 옵션을 사용하여 대상 파일을 업데이트합니다. 이 옵션은 파일 업그레이드 및 백업에 사용할 수 있습니다.
참고: 특정 옵션을 사용하면 cp 명령은 전체 디렉터리를 복사하고 두 파일의 이전 파일과 새 파일을 비교하여 업그레이드할 수도 있습니다.cp 명령어 사용 예:
【예제 1】cp 명령어의 기본 사용법
cp 명령어는 파일과 디렉터리를 모두 복사할 수 있습니다. 먼저 파일을 복사하는 방법을 살펴보겠습니다. 예를 들어
[root@localhost ~]# touch cangls #建立源文件 [root@localhost ~]# cp cangls /tmp/ #把源文件不改名复制到 /tmp/ 目录下
[root@localhost ~]# cp cangls /tmp/bols #改名复制
복사 대상 위치에 동일한 이름의 파일이 이미 존재하는 경우, cp 명령은 기본적으로 "cp -i"의 별칭을 실행하기 때문에 덮어쓸 것인지 묻는 메시지가 표시됩니다. 예:
[root@localhost ~]# cp cangls /tmp/ cp:是否覆盖"/tmp/cangls"?y #目标位置有同名文件,所以会提示是否覆盖
다음으로 디렉토리를 복사하는 방법을 살펴보겠습니다. "-r" 옵션을 사용하여 디렉토리를 복사합니다. 예:
[root@localhost ~]# mkdir movie #建立测试目录 [root@localhost ~]# cp -r /root/movie/ /tmp/ #目录原名复制
[예제 2] 소프트 링크 파일 복사
소스 파일이 일반 파일이 아닌 소프트 링크 파일인 경우 속성을 지정할 수 있습니다. 소프트 링크가 복사되나요? 시도해 보겠습니다.
[root@localhost ~]# ln -s /root/cangls /tmp/cangls_slink #建立一个测试软链接文件/tmp/cangls_slink [root@localhost ~]# ll /tmp/cangls_slink lrwxrwxrwx 1 root root 12 6 月 14 05:53 /tmp/cangls_slink -> /root/cangls #源文件本身就是一个软链接文件 [root@localhost ~]# cp /tmp/cangls_slink /tmp/cangls_t1 #复制软链接文件,但是不加"-d"选项 [root@localhost ~]# cp -d /tmp/cangls_slink /tmp/cangls_t2 #复制软链接文件,加入"-d"选项 [root@localhost ~]# ll /tmp/cangls_t1 /tmp/cangls_t2 -rw-r--r-- 1 root root 0 6月 14 05:56 /tmp/cangls_t1 #会发现不加"-d"选项,实际复制的是软链接的源文件,而不是软链接文件 lrwxrwxrwx 1 root root 12 6 月 14 05:56/tmp/ cangls_t2-> /root/cangls #而如果加入了"-d"选项,则会复制软链接文件
【예제 3】소스 파일 속성 복사 유지
복사 명령을 실행한 후 대상 파일의 시간이 소스 파일의 시간이 아닌 복사 명령의 실행 시간이 되는 것을 발견했습니다. 예를 들면 다음과 같습니다.
[root@localhost ~]# cp /var/lib/mlocate/mlocate.db /tmp/ [root@localhost ~]# ll /var/lib/mlocate/mlocate.db -rw-r-----1 root slocate2328027 6月 14 02:08/var/lib/mlocate/mlocate.db #注意源文件的时间和所属组 [root@localhost ~]#ll /tmp/mlocate.db -rw-r----- 1 root root2328027 6 月 14 06:05/tmp/mlocate.db #由于复制命令由root用户执行,所以目标文件的所属组为了root,而且时间也变成了复制命令的执行时间
[root@localhost ~]# cp -p /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2 #使用"-p"选项 [root@localhost ~]# ll /var/lib/mlocate/mlocate.db /tmp/mlocate.db_2 -rw-r----- root slocate 2328027 6月 14 02:08 /tmp/mlocate.db_2 -rw-r----- root slocate 2328027 6月 14 02:08 /var/lib/mlocate/mlocate.db #源文件和目标文件的所有属性都一致,包括时间
앞에서 "-a" 옵션은 "-d, -p, -r" 옵션과 동일하다고 이미 언급했습니다. 따라서 "-a" 옵션을 사용하면 소스 파일의 소유자, 그룹, 시간 및 소프트 링크를 포함하여 대상 파일과 소스 파일의 모든 속성이 일관됩니다. "-d, -p, -r" 옵션 대신 "-a" 옵션을 사용하는 것이 더 편리합니다.
【예 4】 "-l" 및 "-s" 옵션
"-l" 옵션을 사용하면 대상 파일이 소스 파일에 대한 하드 링크로 생성됩니다. -" s" 옵션을 사용하면 대상 파일이 소스 파일에 대한 소프트 링크로 생성됩니다.
[root@localhost ~]# touch bols #建立测试文件 [root@localhost ~]# ll -i bols 262154-rw-r--r-- 1 root root 0 6月 14 06:26 bols #源文件只是一个普通文件,而不是软链接文件 [root@localhost ~]# cp -l /root/bols /tmp/bols_h [root@localhost ~]# cp -s /root/bols /tmp/bols_s #使用"-l" 和"-s"选项复制 [root@localhost ~]# ll -i /tmp/bols_h /tmp/bols_s 262154-rw-r--r-- 2root root 0 6 月 14 06:26/tmp/bols_h #目标文件 /tmp/bols_h 为源文件的硬链接文件 932113 lrwxrwxrwx 1 root root 10 6 月 14 06:27/tmp/bols_s -> /root/bols #目标文件 /tmp/bols_s 为源文件的软链接文件
관련 권장 사항: "
Linux 비디오 튜토리얼"
위 내용은 리눅스에서 복사 명령은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!