wget

用于从网页上下载资源的命令。

[land@localhost test]$ wget www.baidu.com
--2018-12-12 07:13:42--  http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 61.135.169.121, 61.135.169.125
Connecting to www.baidu.com (www.baidu.com)|61.135.169.121|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [text/html]
Saving to: ‘index.html’

100%[======================================>] 2,381       --.-K/s   in 0s      

2018-12-12 07:13:43 (389 MB/s) - ‘index.html’ saved [2381/2381]

使用-O可以指定输出文件名,如果存在同名文件,那么该文件会被下载文件所取代,也可以使用选项-o,指定一个日志文件,这样日志信息就不会被打印到stdout了。

由于网络问题,有可能会中断,所以使用-t选项,可以在放弃下载之前尝试指定次数

wget -t 5 www.baidu.com

下载限速:使用--limit-rate

[land@localhost test]$ wget --limit-rate 1k www.baidu.com
--2018-12-12 07:30:11--  http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 61.135.169.125, 61.135.169.121
Connecting to www.baidu.com (www.baidu.com)|61.135.169.125|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [text/html]
Saving to: ‘index.html.1’

100%[==================================================================================================>] 2,381       1023B/s   in 2.3s    

2018-12-12 07:30:14 (1023 B/s) - ‘index.html.1’ saved [2381/2381]

-Q 或 -quota 可以指定最大下载配额,配额用尽,则停止下载。

-c,从断点开始继续下载

对于访问需要认证的HTTP或FTP页面,可以使用--user或--password 来提供认证信息

[land@localhost test]$ wget --user XXX --password XXX www.XXX.com

wget像爬虫一样以递归的方式遍历网页上的所有的URL连接,并逐个下载,可以使用--mirror --conver-links xx.com.

[land@localhost test]$ wget --mirror --convert-links https://www.csdn.net/
[land@localhost test]$ ll
total 0
drwxrwxr-x. 4 land land 79 Dec 12 07:47 www.csdn.net

tar

命令用于归档,可以将多个文件和文件夹打包为单个文件,同时保留所有文件属性,tar命令可以创建,更新,检查以及解包归档文件。

-c 表示创建新的归档文件, -f表示归档文件名,-t表示列出归档文件中所包含的文件,-v 在输入中加入更多的细节信息,这个特性叫做冗长模式。

[land@localhost test]$ tar -cf output.tar www.csdn.net/
[land@localhost test]$ tar -tvf output.tar 
drwxrwxr-x land/land         0 2018-12-12 07:47 www.csdn.net/
-rw-rw-r-- land/land    234222 2018-12-12 07:45 www.csdn.net/index.html
-rw-rw-r-- land/land       270 2018-12-06 04:17 www.csdn.net/robots.txt
drwxrwxr-x land/land         0 2018-12-12 07:45 www.csdn.net/nav/
-rw-rw-r-- land/land    105016 2018-12-12 07:45 www.csdn.net/nav/newarticles
-rw-rw-r-- land/land         0 2018-12-12 07:45 www.csdn.net/nav/watchers
-rw-rw-r-- land/land    141364 2018-12-12 07:45 www.csdn.net/nav/news
-rw-rw-r-- land/land    143992 2018-12-12 07:45 www.csdn.net/nav/ai
......

-r可以将新文件追加到已有的归档文件末尾。

从归档文件中提取文件或目录。使用-x可以将归档文件的内容提取到当前目录,-f,-v同理

[land@localhost test]$ tar -xvf output.tar 
www.csdn.net/
www.csdn.net/index.html
www.csdn.net/robots.txt
www.csdn.net/nav/
www.csdn.net/nav/newarticles
www.csdn.net/nav/watchers
......

使用-A选项可以合并多个tar文件。

压缩tar归档文件

tar命令默认只进行归档,并不对其进行压缩,但是tar支持使用压缩,压缩能够显著减少文件的体积,-j代表bunzip2格式,-z代表gzip压缩,--lzma代表lzma格式。-a可以根据扩展名自动选择压缩算法。可以使用选项--exclude [PATTERN]可以将匹配通配符模式的文件排除在归档过程之外。

[land@localhost test]$ tar -acvf output3.tar hello.txt 
hello.txt
[land@localhost test]$ tar -zcvf output3.tar hello.txt 
hello.txt

解压缩使用压缩算法的归档文件,只需将c选项改为x选项即可。

zcat命令可以直接查看使用gzip格式文件。

其他压缩命令有:

gzip: 压缩:gzip filename  解压缩:gunzip filename.gz

bzip2: 压缩:bzip2 filename 解压缩: bunzip2 filename.bz2

lzma: 压缩:lzma filename  解压缩:unlzma filename.lzma

zip: 压缩:zip filename.zip file1 file2  解压缩: unzip file.zip

 

参考《Linux Shell 脚本攻略》