Linux命令拓展:为cp和mv添加进度显示

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

想象一下,你正在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复制体验充满乐趣吧!记住,每一个冷冰冰的命令背后,都有方法让它变得热情起来。

目录
相关文章
|
27天前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
103 16
|
19天前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
|
2月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
398 0
|
2月前
|
安全 Linux Shell
Linux系统中sudo命令的高效运用技巧。
用户可以通过sudo -l来列出自己目前可执行的命令列表,这有助于用户了解自己的权限范围。
122 0
|
2月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
Linux
每日一个Linux命令之mv
每日一个Linux命令之mv
110 0
|
Linux Shell
Linux 处理文件( touch 命令、cp 命令、mv 命令、rm 命令)
创建文件( touch 命令),复制文件( cp 命令),重命名文件( mv 命令),删除文件(rm 命令)
333 1
Linux 处理文件( touch 命令、cp 命令、mv 命令、rm 命令)
|
Linux
Linux命令(91)之mv
Linux命令(91)之mv
140 0
|
Shell Linux 程序员
linux(十二)文件和目录相关命令cp和mv
接下来,我们来看一下linux系统中的移动mv和复制cp命令。 复制粘贴命令的使用频率相对就高很多了。毕竟程序员的键盘磨损最严重的三个按键就是ctrl、c、v键了。开个玩笑。
208 0
|
Linux
Linux命令之mv
Linux命令 mv
123 0