linux复制文件cp相对路径,Linux 文件管理:Linux cp 命令(复制文件)

cp 命令是拷贝(copy)的意思,用于将文件或目录复制一份。

在当前目录下拷贝一个文件的语法,

cp  

# cp

8436deaf2347af5158811193643cc854.png

如上截图所示,想要创建一个名为 docu 文件的副本并且命名为 newdocu,使用 $ cp docu newdocu 命令。若指定文件(例子中是 newdocu)已存在,存在的文件将被覆盖。

拷贝文件到不同的目录

一定要在命令中指定拷贝到的目标目录。

如下截图图示中,之前在 /home/sssit/Desktop 目录下并没有 text 文件。图示命令执行后,text 文件就被拷贝到指定目录下了。

6cd5ca163a9e403ad63d292fc67bbc4f.png

cp 命令选项

选项

功能说明cp -r

拷贝目录及其子目录。 r 是递归的意思。

cp file1 file2 directoryname

拷贝多个文件或目录到指定目标目录。

cp -backup

拷贝现存文件为同名备份文件。

cp -i

交互式确认拷贝文件。

cp -l

创建文件硬链接代替实际拷贝文件。

cp -p

保留文件属性。p 这里是 Preserves 的意思。

cp -u -v

保证拷贝源文件比被覆盖同名文件要新。

cp 命令 -r 选项

-r 命令选项,用于拷贝包含(多层)子目录的目录被递归地完全拷贝到目标目录下。

语法:

cp -r  

# cp -r

举例:

$ cp -r library /home/sssit/Documents

7aa838f9510f5d2a8c1e924ac5f6f5c3.png

如上截图例示,拷贝 library 整个目录内容到 /home/sssit/Documents 目录下。 library 的所有内容及其目录树都被递归地拷贝到 Documents 目录下。

拷贝多个文件或目录

多个文件或目录可一次性拷贝到指定目标目录。这种情况下,目标目录一定是一个目录。拷贝多文件或目录可利用 通配符 ,例如 cp *.txt 等命令。(注:与 windows 下的概念相同,* 和 ? 是通配符,读者自查其含义)

语法:

cp *. 

举例:

$ cp *.txt /home/sssit/Documents

b259c014e42d1d2419974f194d5cb711.png

上图例子中,拷贝具有相同后缀名的文件 (file1,file2,file3)到指定目录下。

cp 命令 --backup 选项

若拷贝的文件在目标目录下已存在同名文件,可使用此命令生成同名备份文件。

语法:

cp --backup  

举例:

$ cp --backup file2.txt /home/sssit/Downloads

bee24dcfa66a3d3795dcdaecbf4bbfa4.png

上图中可看出,file2.txt 在目标目录中已存在,因此,通过此命令创建欲拷贝文件的备份文件放到目标目录,与已存在文件名相同。

现在,目标目录 Downloads 下有两个同名文件 (file2.txt)。

cp 命令 -i 选项

cp -i 命令选项,当覆盖已存在文件时,向用户询问。(注:命令行中 cp 命令默认是覆盖文件)

语法:

cp -i  

举例:

$ cp -i file3.txt /home/sssit/Desktop

7e16b8ee04e3b6130c6eb3235dbdc796.png

如上可见,由于 file3.txt 文件已存在目标目录,系统会询问用户是否覆盖?这时,若回答 y 就覆盖文件,回答 n 就不覆盖已有文件。

cp 命令 -l 选项

如果只是创建文件硬链接,而不拷贝。可以使用此选项 -l 。

注: 硬链接意味着2个文件的 inode 值相同。若是拷贝文件, inode 值不同。

语法:

cp -l  

举例:

$ cp -l file1.txt usr/

004ed98a7ba393a0a802b63997240343.png

注意这里我们在 usr 目录下创建 file1.txt 的硬链接,2个文件的 inode 值相同。(图中的 659160)。

cp 命令 -p 选项

cp -p 命令用于拷贝文件时保留文件的属性和特性,也可指定哪些属性或特性需要保留。

语法:

cp -p  

举例:

$ cp -p file2.txt usr/

effe0b504412d6d124b7f60d16dbe220.png

在上图中可看到2个文件具有相同的属性和特性(访问权限、修改时间等)。

cp 命令 -u 和 -v 选项

cp -u -v 命令用于拷贝时,用户能看出哪些文件缺失或不存在。

语法:

cp -u -v  

举例:

$ cp -u -v docc file1.txt /home/sssit/Downloads/

c24ccf814a6c24ed7d1cc73fad408559.png

如上例截图所示,在 imp 目录下有2个文件 docc ,file1.txt 。把它们拷贝到 Download 目录中。但在 Download 目录下已存在 file1.txt 文件。

使用 cp -u -v 命令可看见只拷贝了 docc 文件,而 file1.txt 未拷贝,目标目录中原有同名文件未被覆盖。(译注:关于 -u 和 -v 选项含义,自行看手册研究。-v 是探查的意思--运行中显示每步骤信息--,-u 是更新的意思,覆盖时检查是否原始文件更新才覆盖)

这个命令用于拷贝大文件。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值