Linux每天学习一个命令之cp命令
2016-05-11 10:27
579 查看
最近学习Linux中的复制文件命令cp,把学习记录如下
cp [选项] source(来源文件) destination(目的文件)
cp [选项] source1 source2 source3 source4 source5
...directory
cp命令可以复制文件或文件夹,后面可以接多个源文件;当有多个源文件时,最后一个参数是要存放的目的目录,若目的目录不存在,不是目的目录都会报错。如下面所示:
下面来看看选项参数:
-a:相当于-dr
-d:若文件是链接文件,则会复制链接文件而不是文件本身
-f:表示强制复制
-l:进行链接的复制,不是文档本身的复制
-p;连同文档的属性(权限,用户、时间)一起复制过去,而不是使用复制时的预设的属性
-r:递归地进行复制,对文件夹复制时使用的选项
-s:复制成为符号链接
-u:将源文件与目的文件进行对比,若有更新才进行复制
下面来看些例子:
例子一:把test复制为test_root
例子二:把etc目录复制到./tmp目录下
例子三:把/etc/rc.local链接文件复制到当前目录并保留链接,不复制文件本身
看完上面几个例子,可以看出,在进行复制文件的时候,目的文件的属性会随着当前命令的执行者发生变化;若需要保留原来的属性,则可以使用-p选项参数
总结:
cp命令复制文件时会与命令的执行者有关;当要复制多个文件时,最后一个参数一定要是目录
cp [选项] source(来源文件) destination(目的文件)
cp [选项] source1 source2 source3 source4 source5
...directory
cp命令可以复制文件或文件夹,后面可以接多个源文件;当有多个源文件时,最后一个参数是要存放的目的目录,若目的目录不存在,不是目的目录都会报错。如下面所示:
[root@localhost ~]# ll
总用量 8
-rw-------. 1 root root 1585 4月 29 09:11 anaconda-ks.cfg
-rw-r--r--. 1 root root 1633 4月 29 17:03 initial-setup-ks.cfg
[root@localhost ~]# cp /etc/asound.conf /etc/bashrc anaconda-ks.cfg
cp: 目标"anaconda-ks.cfg" 不是目录
[root@localhost ~]# cp /etc/asound.conf /etc/bashrc tmp
cp: 目标"tmp" 不是目录
下面来看看选项参数:
-a:相当于-dr
-d:若文件是链接文件,则会复制链接文件而不是文件本身
-f:表示强制复制
-l:进行链接的复制,不是文档本身的复制
-p;连同文档的属性(权限,用户、时间)一起复制过去,而不是使用复制时的预设的属性
-r:递归地进行复制,对文件夹复制时使用的选项
-s:复制成为符号链接
-u:将源文件与目的文件进行对比,若有更新才进行复制
下面来看些例子:
例子一:把test复制为test_root
[root@localhost dream]# ll
总用量 0
-rw-rw-r--. 1 dream dream 0 5月 11 09:58 test
-rw-rw-r--. 1 dream dream 0 5月 11 09:58 test.log
[root@localhost dream]# cp test test_root
[root@localhost dream]# ll
总用量 0
-rw-rw-r--. 1 dream dream 0 5月 11 09:58 test
-rw-rw-r--. 1 dream dream 0 5月 11 09:58 test.log
-rw-r--r--. 1 root root 0 5月 11 09:58 test_root
例子二:把etc目录复制到./tmp目录下
[root@localhost dream]# cp -r /etc/ ./tmp/
例子三:把/etc/rc.local链接文件复制到当前目录并保留链接,不复制文件本身
[root@localhost dream]# cp /etc/rc.local ./
[root@localhost dream]# ll
总用量 4
-rw-r--r--. 1 root root 473 5月 11 10:11 rc.local
[root@localhost dream]# cp -d /etc/rc.local ./
[root@localhost dream]# ll
总用量 0
lrwxrwxrwx. 1 root root 13 5月 11 10:13 rc.local -> rc.d/rc.local
看完上面几个例子,可以看出,在进行复制文件的时候,目的文件的属性会随着当前命令的执行者发生变化;若需要保留原来的属性,则可以使用-p选项参数
[root@localhost dream]# ll
总用量 0
-rw-rw-r--. 1 dream dream 0 5月 11 09:58 test
[root@localhost dream]# cp -p test ./test.tmp
[root@localhost dream]# ll
总用量 0
-rw-rw-r--. 1 dream dream 0 5月 11 09:58 test
-rw-rw-r--. 1 dream dream 0 5月 11 09:58 test.tmp
总结:
cp命令复制文件时会与命令的执行者有关;当要复制多个文件时,最后一个参数一定要是目录
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍