日更第2天:Linux常用命令之cp用法

cp命令是Linux复制工具,坑:不使用-r复制文件夹会失败。

示例:cp folder /path/to/destination/ 报错:omitting directory
实操提醒:复制文件夹前,先确认是否添加了-r选项。

Linux的命令【6】:cp命令

哈,你这是要给我上一堂Linux的cp命令速成课啊?好的,那我来说说我自己怎么用这个命令的。

上周有个客人问我,怎么在Linux下把一个文件复制到另一个文件夹里,还想着改个名字。
我就给他演示了,首先得知道cp命令的基本用法。
就像你说的,基本语法是cp[原路径][新路径]。
比如,我有个文件叫a.txt,我想复制到a文件夹里,然后改成b.txt,就得这样写:cp a.txt a/b.txt。

不过,这命令可不只是复制文件那么简单。
要是你想复制一个文件夹,得加上个-r参数,这个参数的意思是递归复制,就是说文件夹里的所有内容都会被复制过去。
所以,要复制整个a文件夹到Music目录,就得这样写:cp -r a Music。

但是,用cp命令的时候有几个注意事项得特别注意。
比如说,源路径必须得存在,目标路径的父目录也得存在,不然复制不了。
我还记得有一次,有个同事想复制一个文件到不存在的文件夹里,结果就失败了。

还有,如果目标路径已经存在同名文件或文件夹,默认情况下cp命令会直接覆盖。
所以,你要是复制到Music目录的a文件夹,如果里面已经有a文件夹了,它就直接把原来的a文件夹覆盖掉了。
为了避免这种情况,你可以用-i参数,这样在覆盖前会提示你确认。

我自己踩过的坑是权限问题。
有时候你可能会遇到Permission denied的错误,这时候要么用sudo来执行命令,要么用chmod来调整文件权限。

进阶用法的话,比如你想保留文件的属性,比如权限、时间戳等,可以用-p参数。
如果你在复制前想确认一下是否覆盖,可以用-i参数。
还有,如果你想看看复制的进度,可以用-v参数,它会显示操作详情。

总之,cp命令是个挺强大的工具,但是用的时候得小心,尤其是路径和权限问题。
反正你看着办,用得好能提高效率,用不好可能会出乱子。
我还在想这个问题,怎么让新手的操作更安全一些呢。

Linux 命令 | cp

这就是坑:直接用cp命令复制目录,不加-r会失败。

别信:默认cp命令会覆盖文件,不加-i选项风险大。

别这么干:复制前不检查磁盘空间,大文件复制会失败。

Linux复制文件命令cp用法总结

这就是坑:别信cp命令能完美备份,用cp-a也需谨慎,系统备份用专业工具。

别这么干:大文件或跨网络复制用rsync,不是cp。

实操提醒:复制前确认目标路径,用-i选项避免误覆盖。