linux中cp命令的常见用法
来源:互联网 发布:什么软件可以备份数据 编辑:程序博客网 时间:2024/06/01 17:59
本篇博客来讨论linux中cp命令。
cp
命令用来复制文件或文件夹。它主要有两种形式
# 用法一:复制一个文件$ cp [option] src-file target-file# 用法二:复制多个文件,目标是一个文件夹$ cp [option] src-file1 src-file2 ... target-directory
如果一次复制多个文件的话,target必须是一个文件夹。
下面是几个常用的选项
- -r --recursive
递归复制,会复制文件夹内部的文件夹,自动创建目标位置不存在的文件夹。多用于目录的复制
- -p
连同属性一起复制,而不是使用默认的属性
- -d
若src-file属于link file,则复制为link file,而非文件本身
- -a --archive
等同于-prd
,常用于文件备份
- -i --interactive
若目标文件以存在,则在覆盖前询问是否覆盖
- -u --update
若源文件比目标文件新,则覆盖,否则跳过
- -f --force
强制复制
- -s -symbolic-link
复制为符号链接文件,即快捷方式文件,俗称软连接
- -l --link
复制为硬连接文件
cp
命令除了简单的复制文件以外,还有几个比较常用的场景,分别是:备份文件,更新文件夹中的内容,创建快捷方式等,下面我们来简单地模拟一下。
准备工作:创建一个src文件夹,里面有三个文件,分别是:a.txt,b.txt,c.sh,使用ls -l
命令的输出是
$ ls -altotal 12drwxrwxr-x. 2 kite kite 4096 9月 24 10:03 .drwxr-xr-x. 4 kite kite 4096 9月 24 10:02 ..-rw-rw-r--. 1 kite kite 0 9月 24 10:02 a.txt-rw-rw-r--. 1 kite kite 0 9月 24 10:02 b.txt-rwxrwxr-x. 1 kite kite 19 9月 24 10:03 c.sh
c.sh是一个bash脚本,里面只有一句话,echo 'hello,world'
。
如果你的c.sh文件没有执行权限,则使用chmod a+x c.sh
来赋予它可执行的权限
使用cp进行备份
首先尝试将src文件夹备份为src-backup文件夹,运行下面的命令
$ cp src src-backupcp: -r not specified; omitting directory 'src'
按照提示,我们应该加上-r
参数,那就加上这个参数再试一次,成功了,仔细看一下src和src-backup文件夹内的文件
$ ls -l src src-backup/src:total 4-rw-rw-r--. 1 kite kite 0 9月 24 10:02 a.txt-rw-rw-r--. 1 kite kite 0 9月 24 10:02 b.txt-rwxrwxr-x. 1 kite kite 19 9月 24 10:03 c.shsrc-backup/:total 4-rw-rw-r--. 1 kite kite 0 9月 24 10:11 a.txt-rw-rw-r--. 1 kite kite 0 9月 24 10:11 b.txt-rwxrwxr-x. 1 kite kite 19 9月 24 10:11 c.sh
会发现三个文件的创建时间不一样了。很显然,文件备份成这样是不太行的。其实,备份文件最常用的参数是-a
。让我们删掉src-backup文件夹,再试一次
$ rm -rf src-backup/
$ cp -a src src-backup
$ ls -l src src-backup/src:total 4-rw-rw-r--. 1 kite kite 0 9月 24 10:02 a.txt-rw-rw-r--. 1 kite kite 0 9月 24 10:02 b.txt-rwxrwxr-x. 1 kite kite 19 9月 24 10:03 c.shsrc-backup/:total 4-rw-rw-r--. 1 kite kite 0 9月 24 10:02 a.txt-rw-rw-r--. 1 kite kite 0 9月 24 10:02 b.txt-rwxrwxr-x. 1 kite kite 19 9月 24 10:03 c.sh
这次的文件时间都一致了,备份完成!
使用cp更新文件夹中的内容
将a.txt中的内容随便修改一下,然后,我们再来备份一次。对比一下src文件夹下的a.txt和src-backup文件夹下的a.txt的时间
$ ls -l src/a.txt src-backup/a.txt -rw-rw-r--. 1 kite kite 14 9月 24 14:32 src/a.txt-rw-rw-r--. 1 kite kite 0 9月 24 10:02 src-backup/a.txt
可以看出来src/a.txt的时间更新
接下来通过-u
参数来将更新后的a.txt备份到src-backup文件夹下
cp -u src/* src-backup/
查看一下修改时间
ls -l src src-backup/src:total 8-rw-rw-r--. 1 kite kite 24 9月 24 14:32 a.txt-rw-rw-r--. 1 kite kite 0 9月 24 10:02 b.txt-rwxrwxr-x. 1 kite kite 19 9月 24 10:03 c.shsrc-backup/:total 8-rw-rw-r--. 1 kite kite 24 9月 24 14:32 a.txt-rw-rw-r--. 1 kite kite 0 9月 24 10:02 b.txt-rwxrwxr-x. 1 kite kite 19 9月 24 10:03 c.sh
可以看出来,备份文件已经更新了
还可以指定-i
参数,在替换之前会询问是否继续。
创建快捷方式
src目录下有一个c.sh脚本,如果希望在任何地方都能运行它,通用的方法是在/usr/bin下面创建一个快捷方式。
$ cd /usr/bin/$ sudo cp -s ~/Demos/src/c.sh c
创建快捷方式的话,需要先进入目标文件夹内。我将src下的c.sh脚本创建了一个快捷方式c,从任何一个终端位置都可以直接运行c
这个命令。
- linux中cp命令的常见用法
- 关于Linux中CP命令用法的一些冷知识
- 《linux中cp和scp命令用法》
- linux vi 的cp命令参数、用法
- Linux下的cp命令用法
- linux下cp命令的用法
- linux中touch命令的常见用法
- cp 命令的用法
- Linux中cp命令的使用总结
- LINUX CP命令用法示例
- Linux cp命令用法示例
- LINUX的cp命令
- Linux 的cp命令
- Linux 的cp命令
- Linux 的cp命令
- Linux 的cp命令
- Linux 的cp命令
- Linux 的cp命令
- Qt 学习之路 2(18):事件
- mvn学习日记(mvn clean install mvn archetype:generate)
- Spring JDBC-使用注解配置声明式事务
- A/B Test;名字取得不好, 很容易让人产生误解
- javawebday08(sax解析入门)
- linux中cp命令的常见用法
- 一些不错的caffe初学者的教程链接
- Qt 学习之路 2(19):事件的接受与忽略
- 支付宝生活号已激活但自动登录提示没权限,什么原因
- 北京赛区(2017)网络赛-I-线段树
- 编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的区别
- html之a标签不能嵌套a标签及解决方案
- 2017微软秋季校园招聘在线编程笔试-#1402 : MS Recognition
- 16秋计算机JAVA第一节课作业(钟永钜)