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