想象一下,你正在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),使得每当你输入 cp
或 mv
时,其实运行的是包含进度条的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精品网络服务器。拒绝绕路,拒绝不稳定。