post-removal脚本子进程返回错误状态1或2

今天在ubuntu kylin上安装了virtualbox, 后来我想删除了再装个新一点的,结果正常的情况下删除不了,我就把找到的virtualbox的目录全部都删除了,

再通过apt-get remove等命令就删除不了了,出现标题所示的错误

子进程 已安装 pre-removal 脚本 返回了错误号 1

在网上找了一圈,费了好大的劲才找到以下的解决方案,记录一下:

一、子进程 已安装 pre-removal 脚本 返回了错误号 1或2 解决办法:

sudo gedit /var/lib/dpkg/status

找到Package: <package name>,比如Package: vsftpd

删除这部分的描述,删到下个Package: XXX前就好。存档后,再进行操作就OK了。

二、子进程 已安装 post-installation 脚本 返回了错误号 1或2 解决办法:

sudo rm /var/lib/dpkg/info/<package name>.*

比如sudo rm /var/lib/dpkg/info/vsftpd.*,存档后,再进行操作就OK了。

VLOOKUP功成身退!XLOOKUP将取而代之

什么是 XLOOKUP 函数?
IT之家获悉,它是一个结合众多函数优势而生的高效「查询函数」,拥有更优秀的垂直、水平查找能力。它的语法结构如下图所示,共有六个参数,前三项我们常用于一般基础查找,后三项则可在特定场景下使用。

一般基础查找

假设我们拿到一张员工信息表,想要知道员工编号为 A005 的真名是什么。

那你只需在表格内输入“=XLOOKUP”,填入对应的内容:查找值是 A005 所在“H3”单元格,查找数组则是 A005 所在的编号列“B3:B12”,而返回数组就是姓名列“D3:D12”。

最后按下「Enter」键,就能得出结果 A005 员工的真名叫:凯文。

公式:=XLOOKUP (H3,B3:B12,D3:D12)

反向查找

还是用前面的例子,假设我们想要知道员工达叔的部门。

按照公式进行操作:我们依次输入:

1)查找值:达叔所在的单元格“H3”;

2)查找数组:姓名列“D3:D12”

3)返回数组:部门列“C3:C12”,即可得出结果「策划部」

公式:=XLOOKUP (H3,D3:D12,C3:C12)

从例子上看,我们的查找数组“姓名”列在返回数组“部门”列的右边。也就是说 XLOOKUP 函数完成了 VLOOKUP 函数不能做到的反向查找。

多列查找

通过 XLOOKUP 函数,我们还可以轻松完成多个结果的查找。

比如当知道员工编号,我们想一次性知道他的部门、姓名、性别等信息时:

先选中所有输入结果的区域,输入公式。注意!返回数组须直接框选所有区域,最后按下 「Ctrl+Shift+Enter」 即可得出结果。

公式:=XLOOKUP (H3,B3:B12,C3:F12)

多条件查找

当数据信息量变多,单个条件无法满足查询需求时,我们可以进行「多条件查找」。

假设已知编号 A005 的员工真名叫凯文,想查找他在什么部门。

那公式的第 1、2 个参数就可以用“&”符号联结多个值和范围,即:编号 A005 单元格 & 姓名凯文单元格、姓名区域 & 编号区域。

公式:=XLOOKUP (H3&I3,B3:B12&D3:D12,C3:C12)

搜索模式

接着,再来看看 XLOOKUP 函数的搜索模式,它有 4 个参数:

1:表示从上往下查找

-1:表示从下往上查找

2:表示升序排序的二进制文件搜索

-2:表示降序排序的二进制文件搜索

拿实际例子试试看:比如现在有一份员工出门的打卡记录(顺序是从早到晚),如果想知道员工凯文最后一次出门时间,该怎么做?

只须框选查找值、查找数值、返回数值后,加个-1 的参数,就能快速从下至上查找得出结果了。

公式:=XLOOKUP (E3,C3:C12,B3:B12,,,-1)

匹配模式

XLOOKUP 函数还有一大特点是:它可以设置匹配模式,同样也是 4 个参数:

0:表示精确匹配,若未找到所查找内容返回#N/A

2:表示可使用通配符匹配

-1:表示精确匹配,若未找到所查找内容返回较小项

1:表示精确匹配,若未找到所查找内容返回较大项

举个例子:比如,我们需要根据下图右侧表格中的规则,给每个员工进行绩效评价,评价有 4 个,不同分数段对应不同评价。

那么,我们需要框选绩效评价区域,填写 XLOOKUP 函数,查找值:员工的绩效,查找数组:表格右侧 4 个绩效分数,返回数组:4 个评价,未找到值不用写,可空或 0。

因为未达到指定绩效分数,就会自动匹配下一个「较小」评价,故匹配模式选择 -1。

公式:=XLOOKUP (F3:F12,J3:J6,L3:L6,0,-1)

未找到值时返回指定内容

查询一个不存在的值,表格通常会返回一个错误乱码,让人迷惑。此时可以在 XLOOKUP 函数添加一个语法,叫 [未找到值],它的作用是在我们查找不存在的值时,能够返回指定内容。

比如,我想查找王大野,但此人不存在,那我可以在 [未找到值] 语法处填上“查无此人”的内容(内容需要在英文双引号内)。

公式:=XLOOKUP (H3,D3:D12,C3:C12,”查无此人”)

这样一来,输入姓名正确时,单元格会显示正常查找到的结果;如果未找到,XLOOKUP 函数就会弹出设定好的信息。

转自:https://www.ithome.com/0/583/132.htm

Linux复制文件夹到当前目录

一、当前文件夹中右键,打开终端,输入root命令:

sudo -s

二、输入复制文件命令:cp -r 待复制的文件路径 ./

┌──(zhong㉿kali)-[/usr/share/icons]
└─$ sudo -s 
[sudo] zhong 的密码:
┌──(root?kali)-[/usr/share/icons]
└─# cp -r /home/zhong/下载/volantes_light_cursors ./

                                                                                                                                                          
┌──(root?kali)-[/usr/share/icons]
└─# cp -r /home/zhong/下载/Maya-Black ./            
                                                                                                                                                          
┌──(root?kali)-[/usr/share/icons]
└─# cp -r /home/zhong/下载/DasBlack ./

利用WORD邮件功能批量制作名牌

有时候需要制作公司员工的名牌,而员工人数又比较多,逐个逐个地做估计相当地费事。通过WORD邮件功能批量制作就方便多了,只要事先准别好相关的资料,几分钟就能完成所有员工的名牌制作,大幅度提高工作效率。

一、打开word,依次点击:菜单“邮件”——“开始邮件合并”——“目录”;

二、依次点选:“选择收件人”——“使用现有列表”——“选择EXCEL数据源”(事先建好);

三、点选“插入合并域”,依次在对应的位置插入除图片之外的数据列;

四、菜单“插入”——“文档部件”——“域”——选择“includepicture”选项——输入相片URL“C:\Users\zhang\Desktop\相片”——再在URL后添加占位字符“\命名”(C:\Users\zhang\Desktop\相片\命名)——点击“确定”;

五、选择图片,按ALT+F9键,选中“命名”字符;

六、依次点选:菜单“邮件”——“插入合并域”——插入“相片命名”替代刚才选中的“命名”字符;

七、按ALT+F9键——“预览结果”——调整相片大小(如图片不显示,选中图片按F9键);

八、依次点选:菜单“邮件”——“完成并合并”——“全部”生成WORD(不更新的图片,选中图片按F9键更新)。

8个恶搞Linux命令

1.sl 命令

你会看到一辆火车从屏幕右边开往左边……

安装:$ sudo apt-get install sl

运行:$ sl

2.aafire命令

燃起字符串大火

安装:sudo apt-get install libaa-bin

运行:aafire

3.cowsay 命令

用 ASCII 字符打印牛,羊等动物。

安装:$sudo apt-get install cowsay

运行:$cowsay “I am not a cow, hahaha”

4.cmatrix 命令

这个很酷!可以生成《黑客帝国》那种矩阵风格的动画效果。

安装:$ sudo apt-get install cmatrix

运行:$cmatrix

5.figlet 、toilet 命令

艺术字生成器,由 ASCII 字符组成,把文本显示成标题栏。

安装:$sudo apt-get install figlet

$sudo apt-get install toilet

运行:$figlet fuck you !

$toilet i love you!

6.oneko 命令

桌面上出现一直喵星人,跟着你的鼠标跑,你不动了它就睡觉。

安装:$sudo apt-get install oneko

运行:$oneko

要关掉这家伙,按 ctrl+c 结束:

7.xeyes 命令

在屏幕上出现一双眼睛,盯着你的鼠标指针。

安装:$sudo apt-get install xeyes

运行:$xeyes

8.yes 命令

输出无穷无尽的字符,按 ctrl+c 结束,如:

$yes 我很NB

linux核心索引

线上查询及帮助命令 (2 个)
man 查看命令帮助,命令的词典,更复杂的还有 info,但不常用。
help 查看 Linux 内置命令的帮助,比如 cd 命令。

文件和目录操作命令 (18 个)
ls 全拼 list,功能是列出目录的内容及其内容属性信息。
cd 全拼 change directory,功能是从当前工作目录切换到指定的工作目录。
cp 全拼 copy,其功能为复制文件或目录。
find 查找的意思,用于查找目录及目录下的文件。
mkdir 全拼 make directories,其功能是创建目录。
mv 全拼 move,其功能是移动或重命名文件。
pwd 全拼 print working directory,其功能是显示当前工作目录的绝对路径。
rename 用于重命名文件。
rm 全拼 remove,其功能是删除一个或多个文件或目录。
rmdir 全拼 remove empty directories,功能是删除空目录。
touch 创建新的空文件,改变已有文件的时间戳属性。
tree 功能是以树形结构显示目录下的内容。
basename 显示文件名或目录名。
dirname 显示文件或目录路径。
chattr 改变文件的扩展属性。
lsattr 查看文件扩展属性。
file 显示文件的类型。
md5sum 计算和校验文件的 MD5 值。

查看文件及内容处理命令(21 个)
cat 全拼 concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。
tac tac 是 cat 的反向拼写,因此命令的功能为反向显示文件内容。
more 分页显示文件内容。
less 分页显示文件内容,more 命令的相反用法。
head 显示文件内容的头部。
tail 显示文件内容的尾部。
cut 将文件的每一行按指定分隔符分割并输出。
split 分割文件为不同的小片段。
paste 按行合并文件内容。
sort 对文件的文本内容排序。
uniq 去除重复行。
wc 统计文件的行数、单词数或字节数。
iconv 转换文件的编码格式。
dos2unix 将 DOS 格式文件转换成 UNIX 格式。
diff 全拼 difference,比较文件的差异,常用于文本文件。
vimdiff 命令行可视化文件比较工具,常用于文本文件。
rev 反向输出文件内容。
grep/egrep 过滤字符串,三剑客老三。
join 按两个文件的相同字段合并。
tr 替换或删除字符。
vi/vim 命令行文本编辑器。

文件压缩及解压缩命令(4 个)
tar 打包压缩。
unzip 解压文件。
gzip gzip 压缩工具。
zip 压缩工具。

信息显示命令(11 个)
uname 显示操作系统相关信息的命令。
hostname 显示或者设置当前系统的主机名。
dmesg 显示开机信息,用于诊断系统故障。
uptime 显示系统运行时间及负载。
stat 显示文件或文件系统的状态。
du 计算磁盘空间使用情况。
df 报告文件系统磁盘空间的使用情况。
top 实时显示系统资源使用情况。
free 查看系统内存。
date 显示与设置系统时间。
cal 查看日历等时间信息。

搜索文件命令(4 个)
which 查找二进制命令,按环境变量 PATH 路径查找。
find 从磁盘遍历查找文件或目录。
whereis 查找二进制命令,按环境变量 PATH 路径查找。
locate 从数据库 (/var/lib/mlocate/mlocate.db) 查找命令,使用 updatedb 更新库。

用户管理命令(10 个)
useradd 添加用户。
usermod 修改系统已经存在的用户属性。
userdel 删除用户。
groupadd 添加用户组。
passwd 修改用户密码。
chage 修改用户密码有效期限。
id 查看用户的 uid,gid 及归属的用户组。
su 切换用户身份。
visudo 编辑 / etc/sudoers 文件的专属命令。
sudo 以另外一个用户身份(默认 root 用户)执行事先在 sudoers 文件允许的命令。

基础网络操作命令(11 个)
telnet 使用 TELNET 协议远程登录。
ssh 使用 SSH 加密协议远程登录。
scp 全拼 secure copy,用于不同主机之间复制文件。
wget 命令行下载文件。
ping 测试主机之间网络的连通性。
route 显示和设置 linux 系统的路由表。
ifconfig 查看、配置、启用或禁用网络接口的命令。
ifup 启动网卡。
ifdown 关闭网卡。
netstat 查看网络状态。
ss 查看网络状态。

深入网络操作命令(9 个)
nmap 网络扫描命令。
lsof 全名 list open files,也就是列举系统中已经被打开的文件。
mail 发送和接收邮件。
mutt 邮件管理命令。
nslookup 交互式查询互联网 DNS 服务器的命令。
dig 查找 DNS 解析过程。
host 查询 DNS 的命令。
traceroute 追踪数据传输路由状况。
tcpdump 命令行的抓包工具。

有关磁盘与文件系统的命令(16 个)
mount 挂载文件系统。
umount 卸载文件系统。
fsck 检查并修复 Linux 文件系统。
dd 转换或复制文件。
dumpe2fs 导出 ext2/ext3/ext4 文件系统信息。
dump ext2/3/4 文件系统备份工具。
fdisk 磁盘分区命令,适用于 2TB 以下磁盘分区。
parted 磁盘分区命令,没有磁盘大小限制,常用于 2TB 以下磁盘分区。
mkfs 格式化创建 Linux 文件系统。
partprobe 更新内核的硬盘分区表信息。
e2fsck 检查 ext2/ext3/ext4 类型文件系统。
mkswap 创建 Linux 交换分区。
swapon 启用交换分区。
swapoff 关闭交换分区。
sync 将内存缓冲区内的数据写入磁盘。
resize2fs 调整 ext2/ext3/ext4 文件系统大小。

系统权限及用户授权相关命令(4 个)
chmod 改变文件或目录权限。
chown 改变文件或目录的属主和属组。
chgrp 更改文件用户组。
umask 显示或设置权限掩码。

查看系统用户登陆信息的命令(7 个)
whoami 显示当前有效的用户名称,相当于执行 id -un 命令。
who 显示目前登录系统的用户信息。
w 显示已经登陆系统的用户列表,并显示用户正在执行的指令。
last 显示登入系统的用户。
lastlog 显示系统中所有用户最近一次登录信息。
users 显示当前登录系统的所有用户的用户列表。
finger 查找并显示用户信息。

内置命令及其它(19 个)
echo 打印变量,或直接输出指定的字符串
printf 将结果格式化输出到标准输出。
rpm 管理 rpm 包的命令。
yum 自动化简单化地管理 rpm 包的命令。
watch 周期性的执行给定的命令,并将命令的输出以全屏方式显示。
alias 设置系统别名。
unalias 取消系统别名。
date 查看或设置系统时间。
clear 清除屏幕,简称清屏。
history 查看命令执行的历史纪录。
eject 弹出光驱。
time 计算命令执行时间。
nc 功能强大的网络工具。
xargs 将标准输入转换成命令行参数。
exec 调用并执行指令的命令。
export 设置或者显示环境变量。
unset 删除变量或函数。
type 用于判断另外一个命令是否是内置命令。
bc 命令行科学计算器

系统管理与性能监视命令 (9 个)
chkconfig 管理 Linux 系统开机启动项。
vmstat 虚拟内存统计。
mpstat 显示各个可用 CPU 的状态统计。
iostat 统计系统 IO。
sar 全面地获取系统的 CPU、运行队列、磁盘 I/O、分页(交换区)、内存、 CPU 中断和网络等性能数据。
ipcs 用于报告 Linux 中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。
ipcrm 用来删除一个或更多的消息队列、信号量集或者共享内存标识。
strace 用于诊断、调试 Linux 用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。
ltrace 命令会跟踪进程的库函数调用, 它会显现出哪个库函数被调用。

关机 / 重启 / 注销和查看系统信息的命令(6 个)
shutdown 关机。
halt 关机。
poweroff 关闭电源。
logout 退出当前登录的 Shell。
exit 退出当前登录的 Shell。
Ctrl+d 退出当前登录的 Shell 的快捷键。

进程管理相关命令(15 个)
bg 将一个在后台暂停的命令,变成继续执行 (在后台执行)。
fg 将后台中的命令调至前台继续运行。
jobs 查看当前有多少在后台运行的命令。
kill 终止进程。
killall 通过进程名终止进程。
pkill 通过进程名终止进程。
crontab 定时任务命令。
ps 显示进程的快照。
pstree 树形显示进程。
nice/renice 调整程序运行的优先级。
nohup 忽略挂起信号运行指定的命令。
pgrep 查找匹配条件的进程。
runlevel 查看系统当前运行级别。
init 切换运行级别。
service 启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

虚拟机和主机文件共享的方法

我的台式机系统装的统信UOS系统家庭版,在安装了vmware虚拟机后,接着在虚拟机里装了DEBIAN系统。问题来了,如何实现主机UOS和虚拟机DEBIAN之间的文件共享呢?在网上一阵搜索后,终于找到了答案。实现虚拟机与主机文件共享的最好最简单的方法就是用虚拟机自带的共享功能实现共享,三步即可实现,方法如下:

1.先在主机设置好要共享的文件夹。

2.在vmware里依次VM->settings->Options->Shared Folders 添加刚才在主机里设置的共享文件夹。

3.然后到虚拟机系统里的 /mnt/hgfs下可以找到要共享的文件了。

linux中新建firefox桌面图标

先在桌面上新建firefox.desktop文件,然后用文本打开:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Name=Firefox Web Browser
Comment=Browse the World Wide Web
GenericName=Web Browser
Keywords=Internet;WWW;Browser;Web;Explorer
Exec=firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/opt/firefox/browser/chrome/icons/default/default128.png
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupNotify=true

linux命令行下载管理器wget

wget是Linux/Unix命令行文件下载器,它是下载网站上文件的免费的非交互下载工具,它支持HTTP、HTTPS和FTP协议,也支持通过HTTP代理检索。Wget是非交互的,这就是说它可以在用户没有登录到系统时在后台工作。

实例1 :下载单个文件。以下命令会下载CentOS 7 ISO文件到用户当前工作目录中。

# wget http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

实例2:续传分段下载文件。总有那么一些场景,当我们开始下载一个大文件时,中途互联网却断开了。那样的话,我们可以使用wget命令的‘-c’选项,让下载从断点续传。

    # wget -c http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

实例3:后台下载文件。我们可以通过在wget命令中使用‘-b’选项来让它在后台下载文件。

    linuxtechi@localhost:~$ wget -b http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/
    CentOS-7.0-1406-x86_64-DVD.iso
    Continuing in background, pid 4505.
    Output will be written to ‘wget-log’.

正如我们上面所见,下载进程被捕获到用户当前目录中的‘wget-log’文件中。

    linuxtechi@localhost:~$ tail -f wget-log
    2300K .......... .......... .......... .......... .......... 0% 48.1K 18h5m
    2350K .......... .......... .......... .......... .......... 0% 53.7K 18h9m
    2400K .......... .......... .......... .......... .......... 0% 52.1K 18h13m
    2450K .......... .......... .......... .......... .......... 0% 58.3K 18h14m
    2500K .......... .......... .......... .......... .......... 0% 63.6K 18h14m
    2550K .......... .......... .......... .......... .......... 0% 63.4K 18h13m
    2600K .......... .......... .......... .......... .......... 0% 72.8K 18h10m
    2650K .......... .......... .......... .......... .......... 0% 59.8K 18h11m
    2700K .......... .......... .......... .......... .......... 0% 52.8K 18h14m
    2750K .......... .......... .......... .......... .......... 0% 58.4K 18h15m
    2800K .......... .......... .......... .......... .......... 0% 58.2K 18h16m
    2850K .......... .......... .......... .......... .......... 0% 52.2K 18h20m

实例4:限制下载速率。默认情况下,wget命令尝试以全速下载,但是有时候你可能使用的是共享互联网,那么如果你尝试使用wget来下载庞大的文件时,就会把其它用户的网络拖慢。这时,你如果使用‘-limit-rate’选项来限制下载速率,就可以避免这种情况的发生。在下面例中,下载速率被限制到了100k。

    #wget --limit-rate=100k http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

实例5:使用‘-i’选项来下载多个文件。如果你想要使用wget命令来下载多个文件,那么首先要创建一个文本文件,并将所有的URL添加到该文件中。

    # cat download-list.txt
    url1
    url2
    url3
    url4

现在,发出以下命令吧:

    # wget -i download-list.txt

实例6:增加重试次数。

我们可以使用‘-tries’选项来增加重试次数。默认情况下,wget命令会重试20次,直到下载成功。该选项在你下载一个大文件的过程中互联网连接发生问题时十分有用,因为在那种情况下,会增加下载失败的几率。

    # wget --tries=75 http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

实例7:使用-o选项来重定向wget日志到文件。我们可以使用‘-o’选项来重定向wget命令的日志到一个日志文件。下面的命令会在用户当前目录下创建download.log文件。

    #wget -o download.log http://mirror.nbrc.ac.in/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso

实例8:下载整个网站用于本地查看。

    # wget --mirror -p --convert-links -P ./<Local-Folder> website-url
–mirror : 开启适用于镜像的选项。
-p : 下载所有能正确显示指定HTML网页的全部必要文件。
–convert-links : 下载完成后,转换文档中的链接以用于本地查看。
-P ./Local-Folder : 保存所有文件和目录到指定的目录。

实例9:下载过程中拒绝文件类型。当你正打算下载整个网站时,我们可以使用‘-reject’选项来强制wget不下载图片。

    # wget --reject=png Website-To-Be-Downloaded

实例10:使用wget -Q设置下载配额。我们可以使用‘-Q’选项强制wget命令在下载大小超过特定大小时退出下载。

    # wget -Q10m -i download-list.txt

注意,配额不会对单个文件的下载产生影响。所以,如果你指定wget -Q10m ftp://wuarchive.wustl.edu/ls-lR.gz,ls-lR.gz 的全部内容都会被下载。这在下载命令行指定的多个URL时也一样。然而,在递归或从一个输入文件检索时,还是值得一用。因此,你可以安全地输入‘wget -Q10m -i download-list.txt’,在超过配额时,下载会退出。

实例11:从密码保护的网站下载文件。

    # wget --ftp-user=<user-name> --ftp-password=<password> Download-URL

另外一种指定用户名和密码的方式是在URL中。任一方法都将你的密码揭露给了那些运行“ps”命令的人。要防止密码被查看到,将它们存储到.wgetrc或.netrc中,并使用“chmod”设置合适的权限来保护这些文件不让其他用户查看到。如果密码真的很重要,不要在它们还在文件里躺着的时候走开,在Wget开始下载后,编辑该文件,或者删除它们。

linux命令行下载管理器Axel

Axel 是一个轻量级下载程序,它和其他加速器一样,对同一个文件建立多个连接,每个连接下载单独的文件片段以更快地完成下载。Axel 支持 HTTP、HTTPS、FTP 和 FTPS 协议。它也可以使用多个镜像站点下载单个文件,所以,Axel 可以加速下载高达 40%(大约,我个人认为)。它非常轻量级,因为它没有依赖并且使用非常少的 CPU 和内存。Axel 一步到位地将所有数据直接下载到目标文件(LCTT 译注:而不是像其它的下载软件那样下载成多个文件块,然后拼接)。注意:不支持在单条命令中下载两个文件。

大多数发行版(Debian、Ubuntu、Mint、Fedora、suse、openSUSE、Arch Linux、Manjaro、Mageia 等)都有 axel 包,所以我们可以从发行版官方仓库轻松安装。对于 CentOS/RHEL,我们需要启用 EPEL Repository。

    [在 Debian/Ubuntu/LinuxMint 上安装 Axel]
    $ sudo apt-get install axel
    [在 RHEL/CentOS 上安装 Axel]
    $ sudo yum install axel
    [在 Fedora 上安装 Axel]
    $ sudo dnf install axel
    [在 openSUSE 上安装 Axel]
    $ sudo zypper install axel
    [在 Mageia 上安装 Axel]
    $ sudo urpmi axel
    [在基于 Arch Linux 的发行版安装 Axel]
    $ sudo pacman -S axel

1) 下载单个文件。以下命令将从给定的 URL 下载文件并存储在当前目录中,下载文件时,我们可以看到文件的信息(建立的连接数、下载速度、下载进度、完成下载所花费的时间以及连接完成的时间)。

    # axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    File size: 22678208 bytes
    Opening output file owncloud-9.0.0.tar.bz2
    Starting download
    [  0%]  .......... .......... .......... .......... ..........  [ 146.7KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 267.0KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 373.9KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 406.9KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 487.5KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 572.6KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 650.7KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 649.3KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 718.1KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 769.3KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 838.7KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 866.0KB/s]
    Connection 0 finished
    .
    .
    [ 99%]  .......... .......... .......... .......... ..........  [5721.0KB/s]
    Connection 2 finished
    [ 99%]  .......... .......... .......... .......... ..........  [5733.4KB/s]
    Connection 1 finished
    [ 99%]  .......... .......... .......... .......... ..........  [5745.4KB/s]
    [100%]  .......... .......... .......... .......... ......
    Downloaded 21.6 megabytes in 3 seconds. (5755.94 KB/s)

2) 用不同的名称保存文件。要使用其他名称来保存文件,启动下载时可以添加 -o(小写字母)选项和文件名。这里我们使用文件名 owncloud.tar.bz2 来保存文件。

    # axel -o cloud.tar.bz2 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    File size: 22678208 bytes
    Opening output file cloud.tar.bz2
    Starting download
    [  0%]  .......... .......... .......... .......... ..........  [ 143.0KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 264.1KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 309.8KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 406.3KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 495.4KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 586.3KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 673.1KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 647.1KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 721.1KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 781.3KB/s]
    Connection 2 finished
    .
    .
    Connection 0 finished
    [ 98%]  .......... .......... .......... .......... ..........  [6221.9KB/s]
    [ 98%]  .......... .......... .....
    Connection 1 finished
            ,,,,,,,,,, ,,,,,,,,,, ,,,,,..... .......... ..........  [6145.6KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [6159.2KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [6172.0KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [5977.9KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [5989.6KB/s]
    [100%]  .......... .......... .......... .......... ......
    Downloaded 21.6 megabytes in 3 seconds. (6001.05 KB/s)

3) 限制下载速度。默认情况下 axel 以字节/秒为单位设置下载文件的最大速度。当我们的网络连接速度较慢时,可以使用此选项。只需添加 -s 选项,后面跟字节值。这里我们要限速 512 KB/s 下载一个文件。

    # axel -s 512000 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    File size: 22678208 bytes
    Opening output file owncloud-9.0.0.tar.bz2
    Starting download
    [  0%]  .......... .......... .......... .......... ..........  [ 141.5KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 266.1KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 308.0KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 405.9KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 496.7KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 526.4KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 507.0KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 505.6KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 504.8KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 503.9KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 503.4KB/s]
    .
    .
    [ 99%]  .......... .......... .......... .......... ..........  [ 497.0KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [ 496.9KB/s]
    [100%]  .......... ..
    Connection 0 finished
            ,,,,,,,,,, ,,.....
    Connection 1 finished
    Connection 3 finished
            ,,,,,,,,,, ,,,,,,,... .......... .......... ......
    Downloaded 21.6 megabytes in 44 seconds. (494.54 KB/s)

4) 限制连接数。axel 默认建立 4 个连接以从不同的镜像获取文件。此外,我们可以通过使用 -n 选项添加更多的连接,后跟连接数 10 来提高下载速度。保险起见,我们添加了十个连接,但不幸的是,它花了更多时间来下载文件。

    # axel -n 10 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    File size: 22678208 bytes
    Opening output file owncloud-9.0.0.tar.bz2
    Starting download
    [  0%]  .......... .......... .......... .......... ..........  [ 140.8KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 265.7KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 305.4KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 402.1KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 496.3KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 522.1KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 567.5KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 640.5KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 710.8KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 780.5KB/s]
    .
    .
    [ 98%]  .......... .......... .......... .......... ..........  [7544.9KB/s]
    [ 98%]  .......... .......... .......... .......... ..........  [7557.9KB/s]
    [ 98%]  .......... .......... .......... .......... ..........  [7570.4KB/s]
    [ 98%]  .......... .......... .......... .......... ..........  [7495.3KB/s]
    [ 99%]  .......... .......... .......... .......... ......
    Connection 2 finished
            ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,....  [7311.6KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [7318.9KB/s]
    [ 99%]  .......... .......... .......... .......... ..........
    Connection 9 finished
            ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,,  [7331.0KB/s]
    [ 99%]  .......... .......... .......... ..........
    Connection 3 finished
            ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ..........  [4300.7KB/s]
    [100%]  .......... .......... .......... .......... ......
    Downloaded 21.6 megabytes in 5 seconds. (4109.41 KB/s)

5) 恢复未完成的下载。axel 默认具有恢复未完成的下载的行为。Axel 在下载文件时定期更新状态文件(扩展名为 .st)。由于某些原因,下载中途停止了?不用担心,只要使用相同的 axel 命令,它将会检查 file 和 file.st,如果找到,它会从停止处恢复下载。

    # axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    File size: 22678208 bytes
    Opening output file owncloud-9.0.0.tar.bz2
    Starting download
    [  0%]  .......... .......... .......... .......... ..........  [ 140.8KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 265.7KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 305.4KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 402.1KB/s]
    [  0%]  .......... .......... .......... .......... ..........  [ 496.3KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 522.1KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 567.5KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 640.5KB/s]
    [  1%]  .......... .......... .......... .......... ..........  [ 710.8KB/s]
    [  2%]  .......... .......... .......... .......... ..........  [ 780.5KB/s]
    .
    .
    [ 84%]  .......... .......... .......... .......... ..........  [7100.7KB/s]
    [ 84%]  .......... .......... .......... .......... ..........  [7104.3KB/s]
    [ 84%]  .......... .......... .......... .^C
    Downloaded 18.3 megabytes in 2 seconds. (7009.79 KB/s)

上面的输出清晰地显示了在下载断开时有两个文件 owncloud-9.0.0.tar.bz2 和 owncloud-9.0.0.tar.bz2.st。当重新开始下载时,它会从停止处开始下载。

    # ls -lh
    total 19M
    -rw------- 1 root root 22M Dec 27 08:33 owncloud-9.0.0.tar.bz2
    -rw------- 1 root root  44 Dec 27 08:33 owncloud-9.0.0.tar.bz2.st
    # axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    File size: 22678208 bytes
    Opening output file owncloud-9.0.0.tar.bz2
    State file found: 19180828 bytes downloaded, 3497380 to go.
    Starting download
            ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,......... ..........  [  66.5KB/s]
    [ 84%]  .......... .......... .......... .......... ..........  [ 186.0KB/s]
    [ 85%]  .......... .......... .......... .......... ..........  [ 241.7KB/s]
    [ 85%]  .......... .......... .......... .......... ..........  [ 335.6KB/s]
    [ 85%]  .......... .......... .......... .......... ..........  [ 351.5KB/s]
    [ 85%]  .......... .......... .......... .......... ..........  [ 427.1KB/s]
    [ 85%]  .......... .......... .......... .......... ..........  [ 427.4KB/s]
    [ 86%]  .......... .......... .......... .......... ..........  [ 491.5KB/s]
    .
    .
    [ 98%]  ...
    Connection 0 finished
            ,,,....... .......... .......... .......... ..........  [2106.6KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [2140.5KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [2172.4KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [2203.2KB/s]
    [ 99%]  .......... .......... .......... .......... ..........  [2236.2KB/s]
    [100%]  .......... .......... .......... .......... ......
    Downloaded 3415.4 kilobytes in 1 second. (2264.93 KB/s)

6) 不显示文件下载进度。如果你不想要看到文件的下载进度,只要在 axel 命令中加入 -q 选项。

    # axel -q https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2

7) 替换进度条。如果你不喜欢默认的进度条,你可以使用 -a 选项来替换进度条。

    # axel -a https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    File size: 22678208 bytes
    Opening output file owncloud-9.0.0.tar.bz2
    Starting download
    [ 66%] [......0      ...1        ..........2  ...........3] [   5.8MB/s] [00:01]^C
    Downloaded 14.3 megabytes in 2 seconds. (5916.11 KB/s)

我们中断了上面的下载,以便在下载文件时能清楚地显示替代进度条状态。一旦文件成功下载后,你可以看到相同的输出,如下所示。

    # axel -a https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
    File size: 22678208 bytes
    Opening output file owncloud-9.0.0.tar.bz2
    Starting download
    Connection 2 finished                                                          ]
    Connection 1 finished                                                          ]
    Connection 3 finished                                                          ]
    Connection 0 finished                                                          ]
    Downloaded 21.6 megabytes in 4 seconds. (5062.32 KB/s)

8) 了解关于 axel 的更多信息。如果你想要了解更多关于 axel 的选项,只需要进入它的手册。

    # man axel
    或者
    # axel --help