教你如何优雅的给 cp 和 mv 命令添加一个 高颜值 的进度条

使用advcpmv,编译coreutils工具包,添加补丁,添加-g参数,在bashrc中设置别名,复制大文件夹的进度条,显示平均速度。

如何在Linux中复制文件夹 cp命令轻松实现文件夹复制操作

说白了,Linux命令非常适合复制文件夹,但如果参数使用不正确,很容易陷入陷阱。

使用 -r 复制整个文件夹。
例如,要将报告报告给 Back,请键入 CP -r ~/Documents/report ~/Back。

您想保留所有原始文件吗?使用,-a。
这比-r有更多的功能,包括权限和指令。
例如,要检索 myapp/media,请 cp -a ~/Projects/myapp/media usb。

担心在覆盖文件之前不小心删除了文件?添加-i。
你会一直被问到是否要覆盖它。
例如,将配置复制到etc,只需ep -ri ~/Downloads/config/etc。

担心复制大文件夹时会卡住?添加-v。
它会显示所表达的内容,看起来更加确定。
例如,要将系列/媒体复制到 nas,如 ep -rv ~/Videos/series/media nas。

你自己看看,当这些参数设置好后,模拟器文件夹就稳定了。
还有什么不明白的?

linux cp命令有什么用?

这就是洞。
不要相信官方文件。
不要这样做。

linux常用命令cp怎么用

哎哟,这个cp命令,我刚学Linux的时候,被它骗了很多次。
让我告诉你我陷入的陷阱,以确保它是实用的。

前一年,我在服务器上开发一个项目,我复制了一个配置文件。
我认为这很简单,只需 cp config.ini /etc/ 即可。
结果呢?终端直接给我报错,说“权限被拒绝”。
那一刻我很困惑。
这份文件显然是我写的。
经过检查,发现/etc/目录是系统范围的,普通用户没有权限对其进行写入。
我必须使用 sudo cp config.ini /etc/ 来执行此操作。
因此,在复制文件之前,首先要考虑一下您是否有权限写入目标路径。

还有一次,我复制了一个目录,想要快速同步一个代码分支。
只需愚蠢地输入 cp my_project /backup/ 即可。
原来备份磁盘空间快满了,很多文件根本没有复制。
后来我学会了用cp -i,覆盖之前它会问你是否要覆盖,这样至少你知道会吃掉哪个文件。
我记得有一次我的手在颤抖,我按下 Enter 键,覆盖了一个旧的日志文件。
还好我发现得及时,不然又得加班了。

让我告诉你另一个陷阱。
复制目录时不加-r。
我想复制一个源代码目录到测试环境中,直接cp my_code /test_env/。
结果终端直接骂我:“cp:省略目录‘my_code’”。
当时我还在想:为什么不复制呢?后来我意识到你的命令是复制文件,而不是目录。
赶紧加上-r,cp -r my_code /test_env/,就可以了。
因此,复制目录时一定要加上-r,否则会出问题。

另外,如果你想在复制时保持文件权限和时间戳,不要只使用cp,添加-p。
例如,cp -p config.ini /etc/,使复制的文件与原始文件具有相同的权限和时间戳。
我已经复制了一个配置文件,没有添加 -p。
结果复制出来的文件权限都是6 4 4 ,时间戳都是当前时间。
这导致了系统问题,花了几天时间才解决。

最后,复制大文件时,如果想查看进度,加上-v。
例如cp -v /data/videos /backup/,让终端显示每个视频文件的名称,即可知道哪些已经复制,哪些还在复制。
我曾经复制过一些G视频。
如果不加-v的话,我在复制的过程中就不知道走到哪里了,会很着急。

总之,这个cp命令看似简单,但如果用得不好,还是会惹上麻烦。
只有多练习、多总结,才能运用好。
如果您有任何疑问,请随时问我,我一定会告诉您一切。