欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > Linux系统之cp命令的基本使用

Linux系统之cp命令的基本使用

2025/1/11 20:03:58 来源:https://blog.csdn.net/jks212454/article/details/144558439  浏览:    关键词:Linux系统之cp命令的基本使用

Linux系统之cp命令的基本使用

  • 一、检查本地系统版本
  • 二、cp命令帮助
  • 三、cp命令选项解释
  • 四、cp命令的日常使用
    • 1.将一个文件夹拷贝到另外一个文件夹下
    • 2.将一个文件夹下内容拷贝拷贝到另外一个文件夹
  • 五、cp命令的注意事项
    • 1.将一个文件夹拷贝到另外一个文件夹下
    • 2.将一个文件夹下内容拷贝拷贝到另外一个文件夹
  • 六、备份文件时常用操作
  • 七、注意事项

一、检查本地系统版本

本次实践操作系统为Centos7.6,如下所示:

[root@node ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

二、cp命令帮助

在命令行终端,使用–help选项查询cp命令的帮助信息。


[root@node ~]# cp --help
Usage: cp [OPTION]... [-T] SOURCE DESTor:  cp [OPTION]... SOURCE... DIRECTORYor:  cp [OPTION]... -t DIRECTORY SOURCE...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.Mandatory arguments to long options are mandatory for short options too.-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 beopened, remove it and try again (this optionis ignored when the -n option is also used)-i, --interactive            prompt before overwrite (overrides a previous -noption)-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 (overridesa 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 possibleadditional 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 beforeattempting to open it (contrast with --force)--sparse=WHEN            control creation of sparse files. See below--strip-trailing-slashes  remove any trailing slashes from each SOURCEargument-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 newerthan the destination file or when thedestination 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 destinationfile to default type--context[=CTX]          like -Z, or if CTX is specified then set theSELinux or SMACK security context to CTX--help     display this help and exit--version  output version information and exitBy default, sparse SOURCE files are detected by a crude heuristic and the
corresponding DEST file is made sparse as well.  That is the behavior
selected by --sparse=auto.  Specify --sparse=always to create a sparse DEST
file whenever the SOURCE file contains a long enough sequence of zero bytes.
Use --sparse=never to inhibit creation of sparse files.When --reflink[=always] is specified, perform a lightweight copy, where the
data blocks are copied only when modified.  If this is not possible the copy
fails, or if --reflink=auto is specified, fall back to a standard copy.The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:none, off       never make backups (even if --backup is given)numbered, t     make numbered backupsexisting, nil   numbered if numbered backups exist, simple otherwisesimple, never   always make simple backupsAs a special case, cp makes a backup of SOURCE when the force and backup
options are given and SOURCE and DEST are the same name for an existing,
regular file.GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'cp invocation'

三、cp命令选项解释

  • cp命令常用选项解释如下所示:

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

四、cp命令的日常使用

1.将一个文件夹拷贝到另外一个文件夹下

[root@node ~]# cp -r /etc/ /test/
[root@node ~]# ll /test/
total 12
drwxrwxrwx.   2 root root    6 Oct 27 13:10 dir01
drwxrwx---.   2 root root    6 Oct 27 13:10 dir02
d------rwx.   2 root root    6 Oct 27 13:10 dir03
drwxr-xr-x  146 root root 8192 Nov 12 22:56 etc

2.将一个文件夹下内容拷贝拷贝到另外一个文件夹


[root@node ~]# mkdir /home/{test01,test02}
[root@node ~]# touch /home/test01/file1
[root@node ~]# cp -r /home/test01/* /home/test02/
[root@node ~]# ll /home/test02/
total 0
-rw-r--r-- 1 root root 0 Nov 12 23:02 file1
[root@node ~]# 

五、cp命令的注意事项

1.将一个文件夹拷贝到另外一个文件夹下

以下4种方法都是将test01/目录及其下面递归的子目录和文件都拷贝到到另一个文件夹下

cp -r /home/test01 /home/test02
cp -r /home/test01  /home/test02/
cp -r /home/test01/ /home/test02
cp -r /hometest01/ /home/test02/

2.将一个文件夹下内容拷贝拷贝到另外一个文件夹

以下2种方法都是讲将一个文件夹下内容拷贝拷贝到另外一个文件夹下面

cp -r /hometest01/* /home/test02/
cp -r /hometest01/* /home/test02

六、备份文件时常用操作

递归复制,复制的数据会保留原有数据的时间戳等信息(具体:时间戳+所有权+复制链接文件属性而非文件本身)

[root@node ~]# cp -a /etc/ /backup/
[root@node ~]# ll /backup/
total 12
drwxr-xr-x. 146 root root 8192 Nov 12 14:03 etc
[root@node ~]# ls /backup/etc/

七、注意事项

  1. 使用 cp 命令复制文件时,确保源文件路径正确以避免复制错误的文件。
  2. 复制目录时需要使用 -r-R 选项来递归复制整个目录内容。
  3. 使用 -i 选项可以防止覆盖目标位置已有的文件,会在覆盖前提示确认。
  4. 利用 -p 选项可以保留文件的属性,包括所有者、时间戳和权限等。
  5. 当执行跨分区复制时,注意 -a 选项能实现归档模式,保持所有文件特性不变。
  6. 使用 -v 选项可让 cp 命令在操作过程中显示详细的处理信息,便于跟踪复制进度。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com