博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux常用基本命令[cp]
阅读量:6329 次
发布时间:2019-06-22

本文共 4916 字,大约阅读时间需要 16 分钟。

cp:复制文件或者目录

用法格式:

cp [option] [source] [dest]

cp [选项] [源文件] [目标文件]

>用root账户,创建文件,复制文件

root@dev:/home/ghostwu/linux/cp# vim 1.txt root@dev:/home/ghostwu/linux/cp# ls -ltotal 4-rw-r--r-- 1 root root 19 5月   6 17:47 1.txtroot@dev:/home/ghostwu/linux/cp# cp 1.txt 2.txtroot@dev:/home/ghostwu/linux/cp# ls -ltotal 8-rw-r--r-- 1 root root 19 5月   6 17:47 1.txt-rw-r--r-- 1 root root 19 5月   6 17:48 2.txtroot@dev:/home/ghostwu/linux/cp# su - ghostwughostwu@dev:~$ cd --su: cd: OLDPWD not setghostwu@dev:~$ cd linux/cpghostwu@dev:~/linux/cp$ ls -ltotal 8-rw-r--r-- 1 root root 19 5月   6 17:47 1.txt-rw-r--r-- 1 root root 19 5月   6 17:48 2.txtghostwu@dev:~/linux/cp$ cp 2.txt 3.txtcp: cannot create regular file '3.txt': Permission denied

上面,当我切换到ghostwu这个账户去复制的时候,权限不允许,因为2.txt 这个文件 的其他组只有 只读 权限, 而cp需要写权限,所以就报了一个无权限创建复制的文件。

方法一,用sudo提权

ghostwu@dev:~/linux/cp$ ls -ltotal 8-rw-r--r-- 1 root root 19 5月   6 17:47 1.txt-rw-r--r-- 1 root root 19 5月   6 17:48 2.txtghostwu@dev:~/linux/cp$ sudo cp 2.txt 3.txt[sudo] password for ghostwu: ghostwu@dev:~/linux/cp$ ls -ltotal 12-rw-r--r-- 1 root root 19 5月   6 17:47 1.txt-rw-r--r-- 1 root root 19 5月   6 17:48 2.txt-rw-r--r-- 1 root root 19 5月   6 17:52 3.txt

方法二,用root用户给文件的其他组用户 可写权限,同时普通用户要对文件所属的目录拥有写权限, 也就是要对 "cp" 这个目录拥有写权限

ghostwu@dev:~/linux$ ls -ltotal 4drwxr-xr-x 2 root root 4096 5月   6 17:52 cpghostwu@dev:~/linux$ sudo chmod o+w cpghostwu@dev:~/linux$ ls -ltotal 4drwxr-xrwx 2 root root 4096 5月   6 17:52 cpghostwu@dev:~/linux$ cd cpghostwu@dev:~/linux/cp$ ls -ltotal 12-rw-r--r-- 1 root root 19 5月   6 17:47 1.txt-rw-r--r-- 1 root root 19 5月   6 17:48 2.txt-rw-r--rw- 1 root root 19 5月   6 17:52 3.txtghostwu@dev:~/linux/cp$ sudo chmod o+w 2.txt ghostwu@dev:~/linux/cp$ ls -ltotal 12-rw-r--r-- 1 root root 19 5月   6 17:47 1.txt-rw-r--rw- 1 root root 19 5月   6 17:48 2.txt-rw-r--rw- 1 root root 19 5月   6 17:52 3.txtghostwu@dev:~/linux/cp$ cp 2.txt 4.txtghostwu@dev:~/linux/cp$ ls -ltotal 16-rw-r--r-- 1 root    root    19 5月   6 17:47 1.txt-rw-r--rw- 1 root    root    19 5月   6 17:48 2.txt-rw-r--rw- 1 root    root    19 5月   6 17:52 3.txt-rw-r--r-- 1 ghostwu ghostwu 19 5月   6 17:58 4.txt

用普通用户去复制root账户创建的2.txt文件,起一个新名字4.txt,默认情况下cp 改变了文件的权限和时间属性,如果在复制的时候想保留文件原有的权限信息以及时间属性时,可以加参数 -p

ghostwu@dev:~/linux/cp$ ls -ltotal 16-rw-r--r-- 1 root    root    19 5月   6 17:47 1.txt-rw-r--rw- 1 root    root    19 5月   6 17:48 2.txt-rw-r--rw- 1 root    root    19 5月   6 17:52 3.txt-rw-r--r-- 1 ghostwu ghostwu 19 5月   6 17:58 4.txtghostwu@dev:~/linux/cp$ cp -p 2.txt 5.txtghostwu@dev:~/linux/cp$ ls -ltotal 20-rw-r--r-- 1 root    root    19 5月   6 17:47 1.txt-rw-r--rw- 1 root    root    19 5月   6 17:48 2.txt-rw-r--rw- 1 root    root    19 5月   6 17:52 3.txt-rw-r--r-- 1 ghostwu ghostwu 19 5月   6 17:58 4.txt-rw-r--rw- 1 ghostwu ghostwu 19 5月   6 17:48 5.txt

-i: 带提示信息的复制,默认情况下,cp命令会直接覆盖

ghostwu@dev:~/linux/cp$ ls -ltotal 20-rw-r--r-- 1 root    root    19 5月   6 17:47 1.txt-rw-r--rw- 1 root    root    19 5月   6 17:48 2.txt-rw-r--rw- 1 root    root    19 5月   6 17:52 3.txt-rw-r--r-- 1 ghostwu ghostwu 19 5月   6 17:58 4.txt-rw-r--rw- 1 ghostwu ghostwu 19 5月   6 17:48 5.txtghostwu@dev:~/linux/cp$ cp 2.txt 5.txt ghostwu@dev:~/linux/cp$ cp -i 2.txt 5.txt cp: overwrite '5.txt'? y

-r参数: 递归复制目录以及文件

ghostwu@dev:~/linux/cp$ ls -ltotal 20-rw-r--r-- 1 root    root    19 5月   6 17:47 1.txt-rw-r--rw- 1 root    root    19 5月   6 17:48 2.txt-rw-r--rw- 1 root    root    19 5月   6 17:52 3.txt-rw-r--r-- 1 ghostwu ghostwu 19 5月   6 17:58 4.txt-rw-r--rw- 1 ghostwu ghostwu 19 5月   6 18:04 5.txtghostwu@dev:~/linux/cp$ mkdir -p a/bghostwu@dev:~/linux/cp$ mv *.txt a/b/ghostwu@dev:~/linux/cp$ tree.└── a    └── b        ├── 1.txt        ├── 2.txt        ├── 3.txt        ├── 4.txt        └── 5.txt2 directories, 5 filesghostwu@dev:~/linux/cp$ cp a a2cp: omitting directory 'a'ghostwu@dev:~/linux/cp$ lsaghostwu@dev:~/linux/cp$ cp -r a a2ghostwu@dev:~/linux/cp$ tree.├── a│   └── b│       ├── 1.txt│       ├── 2.txt│       ├── 3.txt│       ├── 4.txt│       └── 5.txt└── a2    └── b        ├── 1.txt        ├── 2.txt        ├── 3.txt        ├── 4.txt        └── 5.txt4 directories, 10 filesghostwu@dev:~/linux/cp$

通过alias别名,给cp命令加提示信息

ghostwu@dev:~/linux/cp$ alias cp='cp -i'ghostwu@dev:~/linux/cp$ lsa  a2ghostwu@dev:~/linux/cp$ touch 1.txtghostwu@dev:~/linux/cp$ cp 1.txt 2.txtghostwu@dev:~/linux/cp$ cp 1.txt 2.txt cp: overwrite '2.txt'? yghostwu@dev:~/linux/cp$

使用命令的绝对路径(全路径),可以屏蔽别名

ghostwu@dev:~/linux/cp$ alias | grep cpalias cp='cp -i'ghostwu@dev:~/linux/cp$ ls1.txt  2.txt  a  a2ghostwu@dev:~/linux/cp$ cp 1.txt 2.txt cp: overwrite '2.txt'? yghostwu@dev:~/linux/cp$ which cp/bin/cpghostwu@dev:~/linux/cp$ /bin/cp 1.txt 2.txt

使用反斜杠,也可以屏蔽系统别名

ghostwu@dev:~/linux/cp$ \cp 1.txt 2.txt ghostwu@dev:~/linux/cp$ \cp 2.txt 1.txt

-a参数,相当于-r -d -p三个参数的综合作用效果

ghostwu@dev:~/linux/cp$ ls1.txt  2.txt  a  a2ghostwu@dev:~/linux/cp$ cp -a a a3ghostwu@dev:~/linux/cp$ ls1.txt  2.txt  a  a2  a3

 

转载地址:http://yvfoa.baihongyu.com/

你可能感兴趣的文章
uboot学习之BL3的流程
查看>>
杂题 NOIP2016蚯蚓
查看>>
关于kafka连接不上别的机器问题Connection refused
查看>>
课后作业-阅读任务-阅读提问-3
查看>>
【C语言】23-typedef
查看>>
Effective前端4:尽可能地使用伪元素
查看>>
去除重复的数据
查看>>
poj 2019 二维RMQ
查看>>
poj 1279 半平面交核面积
查看>>
win10下安装TensorFlow(CPU only)
查看>>
进程间通信的方式——信号、管道、消息队列、共享内存
查看>>
Potala(3)——Transaction
查看>>
cocos 锚点、包围盒
查看>>
RAM建模和初始化
查看>>
sql server 2008学习3 表组织和索引组织
查看>>
away3d 4.1 环境反射总结
查看>>
超越halcon速度的二值图像的腐蚀和膨胀,实现目前最快的半径相关类算法(附核心源码)。...
查看>>
MySql 修改列的注释信息的方法
查看>>
养成代码注释习惯,帮助你更好使用NetBeans导航器
查看>>
通过xmanager连接Centos的远程桌面
查看>>