Shell笔记系列五
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 脚本攻略》