一、advcpmv介绍
我们在使用cp和mv命令拷贝和移动文件时,是否想要显示进度条和速度。advcpmv是一个可以替代cp和mv命令的工具,它提供了进度条显示和其他一些额外的功能。要使用advcpmv,首先我们需要再Linux系统上安装它。
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为centos7.6。
hostname | 本地P地址 | 操作系统版本 | 内核版本 | python版本 |
---|---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 3.10.0-957.el7.x86_64 v16.17.0 | 3.6.8 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境;
2.此次实践必须在普通用户下使用,否则后续过程会报错;
3.可以使用其他方法强制在root用户下安装advcpmv,本次实践不涉及;
4.在centos7.6环境下编译安装advcpmv工具,用于高级复制和移动文件和目录。
三、环境准备工作
3.1 安装开发环境
代码语言:bash复制安装开发工具的软件包组
yum -y groupinstall "Development tools"
3.2 安装基本软件
代码语言:bash复制安装基本软件
yum install -y gcc gcc-c zlib zlib-devel libffi-devel openssl openssl-devel pcre pcre-devel yum-utils vim wget tree htop sqlite-devel
四、配置sudo权限
4.1 创建用户
代码语言:bash复制创建admin用户,并设置密码。
useradd admin
代码语言:bash复制passwd admin
4.2 配置sudo权限
代码语言:bash复制配置admin用户的sudo权限
vim /etc/sudoers
代码语言:bash复制admin ALL=(ALL) NOPASSWD: ALL
4.3 切换普通账户
代码语言:bash复制切换到admin普通用户
[root@jeven ~]# su - admin
Last login: Thu Mar 28 18:01:16 CST 2024 on pts/0
[admin@jeven ~]$ pwd
/home/admin
五、编译安装advcpmv
5.1 下载advcpmv项目
代码语言:bash复制拉取advcpmv项目源码
[admin@jeven ~]$ git clone https://github.com/jarun/advcpmv.git
Cloning into 'advcpmv'...
remote: Enumerating objects: 272, done.
remote: Counting objects: 100% (239/239), done.
remote: Compressing objects: 100% (122/122), done.
remote: Total 272 (delta 145), reused 198 (delta 117), pack-reused 33
Receiving objects: 100% (272/272), 108.62 KiB | 0 bytes/s, done.
Resolving deltas: 100% (159/159), done.
代码语言:bash复制查看源码目录内容
[admin@jeven advcpmv]$ ls
advcpmv-0.5-8.21.patch advcpmv-0.8-8.28.patch advcpmv-0.8-8.32.patch advcpmv-0.9-9.2.patch install.sh
advcpmv-0.6-8.24.patch advcpmv-0.8-8.30.patch advcpmv-0.9-9.0.patch advcpmv-0.9-9.3.patch README.md
advcpmv-0.7-8.25.patch advcpmv-0.8-8.31.patch advcpmv-0.9-9.1.patch advcpmv-0.9-9.4.patch
[admin@jeven advcpmv]$
5.2 安装advcpmv
代码语言:bash复制执行项目目录下的一键安装脚本
bash install.sh
5.3 拷贝命令文件
代码语言:bash复制将命令文件拷贝到/usr/local/bin/目录下
sudo cp -a ./advcp /usr/local/bin/
sudo cp -a ./advmv /usr/local/bin/
5.4 设置环境变量
代码语言:bash复制设置环境变量
echo "alias cp='/usr/local/bin/advcp -g'" >> ~/.bashrc
echo "alias mv='/usr/local/bin/advmv -g'" >> ~/.bashrc
source ~/.bashrc
5.5 查看命令帮助信息
- cp帮助信息
cp --help
- mv帮助信息
mv --help
六、测试文件拷贝
6.1 生成测试文件
代码语言:bash复制使用dd命令,生成测试。
dd if=/dev/zero of=file.txt bs=1M count=500
6.2 拷贝文件
代码语言:bash复制拷贝文件,可以看到进度条以及文件拷贝速度。
cp file.txt /tmp
七、总结
advcpmv是一个高级拷贝与移动工具,专为提升Linux命令行操作体验而设计,它以替代传统的cp和mv命令为目标,最大特点是加入了实时进度条显示与传输速度监测功能,让用户在执行文件拷贝或移动操作时能直观地了解进程状态。安装advcpmv后,用户不仅能享受更友好的交互体验,还能利用其附加功能,进一步提升工作效率和控制度,是Linux系统管理和文件处理任务的理想伴侣。