想象一下,你正在Linux系统中复制或移动一堆大文件,但终端静悄悄的,没有一点动静,你怎么知道复制到哪里了?是不是挺让人着急的?没关系,给这个无聊的复制过程加点儿特效吧!今天,我要教你如何让cp和mv命令变得更炫酷,显示这个复制过程的进度条。

首先,我们得调用一位神秘的小伙伴——rsync。这家伙不仅能够完成cp和mv的任务,还能带上一个进度条,告诉你复制的速度和剩余时间。

要复制文件,并看到那个炫酷的进度条,可以用下面这个魔法般的命令:

rsync -ah --progress source_file destination_file

这个命令里,-a是指归档模式,也就是说会复制文件的大部分属性;-h是说要用人类可阅读的格式显示信息;--progress就是我们今天的主角,让你可以看到进度条和其他信息。

那如果要移动文件怎么办?别急,rsync同样可以搞定,用这个命令:

rsync -ah --progress --remove-source-files source_file destination_directory

这一行命令里有一个新伙伴 --remove-source-files,这个参数会在复制后删除源文件,就像mv一样。

但你可能会说,"这都是什么鬼,我记不住这一大串啊!" 那好吧,我们就来个小技巧,别跑开,瞧好了:

你可以在你的 .bashrc或者 .bash_aliases文件中加入一些别名(alias),使得每当你输入 cpmv时,其实运行的是包含进度条的rsync命令。

打开你的终端,输入这两行命令,把它们添加到 .bash_aliases中吧:

echo "alias cp='rsync -ah --progress'" >> ~/.bash_aliases
echo "alias mv='rsync -ah --progress --remove-source-files'" >> ~/.bash_aliases

然后,运行 source ~/.bash_aliases或者重新打开你的终端,就完事儿了。

现在,每当你使用cp或mv的时候,终端都会变得灵动起来,那令人愉快的进度条就会告诉你,它在忙什么。它滚动的数字和变化的条状,就像终端中的DJ节奏一样,为你的文件操作带上了节奏感。

不过,就像所有的魔法一样,也有局限性。你不能指望rsync的进度条在复制小文件时表现得很精准,速度太快,进度条都还没来得及跳舞,文件已经复制完了。

另外,别忘了,rsync是用于同步文件的,所以当你复制的目标文件夹中已经有了完全相同的文件,rsync不会去复制那个文件,更别指望它显示什么进度条了。

好了,就这样,让你的Linux复制体验充满乐趣吧!记住,每一个冷冰冰的命令背后,都有方法让它变得热情起来。

云服务器/高防CDN推荐

蓝易云国内/海外高防云服务器推荐


海外免备案云服务器链接:www.tsyvps.com

蓝易云安全企业级高防CDN:www.tsycdn.com

持有增值电信营业许可证:B1-20222080【资质齐全】

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。


百度搜索:蓝易云

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2023 年 11 月 24 日
如果觉得我的文章对你有用,请随意赞赏