Linux Shell学习--wget命令详解

(1)wget介绍

wget是一个用于文件下载的命令行工具,选项繁多且用法灵活。

(2)wgethelp

[[email protected]_01 ~]# wget --help
GNU Wget 1.12,非交互式的网络文件下载工具。
用法: wget [选项]... [URL]...
 
长选项所必须的参数在使用短选项时也是必须的。
 
开始:
  -V,  --version           显示 Wget 的版本信息并退出。
  -h,  --help              打印此帮助。
  -b,  --background        启动后转入后台。
  -e,  --execute=COMMAND   运行一个‘.wgetrc’风格的命令。
 
登入并输入文件:
  -o,  --output-file=FILE    将信息写入 FILE。
  -a,  --append-output=FILE  将信息添加至 FILE。
  -d,  --debug               打印大量调试信息。
  -q,  --quiet               安静模式(无信息输出)。
  -v,  --verbose             详尽的输出(此为默认值)。
  -nv, --no-verbose          关闭详尽输出,但不进入安静模式。
  -i,  --input-file=FILE     下载本地或外部 FILE 中的 URLs。
  -F,  --force-html          把输入文件当成 HTML 文件。
  -B,  --base=URL            解析与 URL 相关的
                             HTML 输入文件(由 -i -F 选项指定)。
 
下载:
  -t,  --tries=NUMBER            设置重试次数为 NUMBER (0 代表无限制)。
       --retry-connrefused       即使拒绝连接也是重试。
  -O,  --output-document=FILE    将文档写入 FILE。
  -nc, --no-clobber              不要重复下载已存在的文件。
                                 
  -c,  --continue                继续下载部分下载的文件。
       --progress=TYPE           选择进度条类型。
  -N,  --timestamping            只获取比本地文件新的文件。
                                 
  -S,  --server-response         打印服务器响应。
       --spider                  不下载任何文件。
  -T,  --timeout=SECONDS         将所有超时设为 SECONDS 秒。
       --dns-timeout=SECS        设置 DNS 查寻超时为 SECS 秒。
       --connect-timeout=SECS    设置连接超时为 SECS 秒。
       --read-timeout=SECS       设置读取超时为 SECS 秒。
  -w,  --wait=SECONDS            等待间隔为 SECONDS 秒。
       --waitretry=SECONDS       在取回文件的重试期间等待 1..SECONDS 秒。
       --random-wait             取回时等待 0...2*WAIT 秒。
       --no-proxy                关闭代理。
  -Q,  --quota=NUMBER            设置取回配额为 NUMBER 字节。
       --bind-address=ADDRESS    绑定至本地主机上的 ADDRESS (主机名或是 IP)。
       --limit-rate=RATE         限制下载速率为 RATE。
       --no-dns-cache            关闭 DNS 查寻缓存。
       --restrict-file-names=OS  限定文件名中的字符为 OS 允许的字符。
       --ignore-case             匹配文件/目录时忽略大小写。
  -4,  --inet4-only              仅连接至 IPv4 地址。
  -6,  --inet6-only              仅连接至 IPv6 地址。
       --prefer-family=FAMILY    首先连接至指定协议的地址
                                 FAMILY 为 IPv6,IPv4 或是 none。
       --user=USER               将 ftp 和 http 的用户名均设置为 USER。
       --password=PASS           将 ftp 和 http 的密码均设置为 PASS。
       --ask-password           提示输入密码。
       --no-iri                关闭 IRI 支持。
       --local-encoding=ENC      IRI 使用 ENC 作为本地编码。
       --remote-encoding=ENC     使用 ENC 作为默认远程编码。
 
目录:
  -nd, --no-directories           不创建目录。
  -x,  --force-directories        强制创建目录。
  -nH, --no-host-directories      不要创建主目录。
       --protocol-directories     在目录中使用协议名称。
  -P,  --directory-prefix=PREFIX  以 PREFIX/... 保存文件
       --cut-dirs=NUMBER          忽略 NUMBER 个远程目录路径。
 
HTTP 选项:
       --http-user=USER        设置 http 用户名为 USER。
       --http-password=PASS    设置 http 密码为 PASS。
       --no-cache              不在服务器上缓存数据。
       --default-page=NAME     改变默认页
                               (默认页通常是“index.html”)。
  -E,  --adjust-extension      以合适的扩展名保存 HTML/CSS 文档。
       --ignore-length         忽略头部的‘Content-Length’区域。
       --header=STRING         在头部插入 STRING。
       --max-redirect          每页所允许的最大重定向。
       --proxy-user=USER       使用 USER 作为代理用户名。
       --proxy-password=PASS   使用 PASS 作为代理密码。
       --referer=URL           在 HTTP 请求头包含‘Referer: URL’。
       --save-headers          将 HTTP 头保存至文件。
  -U,  --user-agent=AGENT      标识为 AGENT 而不是 Wget/VERSION。
       --no-http-keep-alive    禁用 HTTP keep-alive(永久连接)。
       --no-cookies            不使用 cookies。
       --load-cookies=FILE     会话开始前从 FILE 中载入 cookies。
       --save-cookies=FILE     会话结束后保存 cookies 至 FILE。
       --keep-session-cookies  载入并保存会话(非永久) cookies。
       --post-data=STRING      使用 POST 方式;把 STRING 作为数据发送。
       --post-file=FILE        使用 POST 方式;发送 FILE 内容。
       --content-disposition   当选中本地文件名时
                               允许 Content-Disposition 头部(尚在实验)。
       --auth-no-challenge     send Basic HTTP authentication information
                               without first waiting for the server‘s
                               challenge.
 
HTTPS (SSL/TLS) 选项:
       --secure-protocol=PR     选择安全协议,可以是 auto、SSLv2、
                                SSLv3 或是 TLSv1 中的一个。
       --no-check-certificate   不要验证服务器的证书。
       --certificate=FILE       客户端证书文件。
       --certificate-type=TYPE  客户端证书类型, PEM 或 DER。
       --private-key=FILE       私钥文件。
       --private-key-type=TYPE  私钥文件类型, PEM 或 DER。
       --ca-certificate=FILE    带有一组 CA 认证的文件。
       --ca-directory=DIR       保存 CA 认证的哈希列表的目录。
       --random-file=FILE       带有生成 SSL PRNG 的随机数据的文件。
       --egd-file=FILE          用于命名带有随机数据的 EGD 套接字的文件。
 
FTP 选项:
       --ftp-user=USER         设置 ftp 用户名为 USER。
       --ftp-password=PASS     设置 ftp 密码为 PASS。
       --no-remove-listing     不要删除‘.listing’文件。
       --no-glob               不在 FTP 文件名中使用通配符展开。
       --no-passive-ftp        禁用“passive”传输模式。
       --retr-symlinks         递归目录时,获取链接的文件(而非目录)。
 
递归下载:
  -r,  --recursive          指定递归下载。
  -l,  --level=NUMBER       最大递归深度( inf 或 0 代表无限制,即全部下载)。
       --delete-after       下载完成后删除本地文件。
  -k,  --convert-links      让下载得到的 HTML 或 CSS 中的链接指向本地文件。
  -K,  --backup-converted   在转换文件 X 前先将它备份为 X.orig。
  -m,  --mirror             -N -r -l inf --no-remove-listing 的缩写形式。
  -p,  --page-requisites    下载所有用于显示 HTML 页面的图片之类的元素。
       --strict-comments    开启 HTML 注释的精确处理(SGML)。
 
递归接受/拒绝:
  -A,  --accept=LIST               逗号分隔的可接受的扩展名列表。
  -R,  --reject=LIST               逗号分隔的要拒绝的扩展名列表。
  -D,  --domains=LIST              逗号分隔的可接受的域列表。
       --exclude-domains=LIST      逗号分隔的要拒绝的域列表。
       --follow-ftp                跟踪 HTML 文档中的 FTP 链接。
       --follow-tags=LIST          逗号分隔的跟踪的 HTML 标识列表。
       --ignore-tags=LIST          逗号分隔的忽略的 HTML 标识列表。
  -H,  --span-hosts                递归时转向外部主机。
  -L,  --relative                  只跟踪有关系的链接。
  -I,  --include-directories=LIST  允许目录的列表。
  --trust-server-names  use the name specified by the redirection url last component.
  -X,  --exclude-directories=LIST  排除目录的列表。
  -np, --no-parent                 不追溯至父目录。
 
请将错误报告或建议寄给 <[email protected]>。
You have new mail in /var/spool/mail/root
[[email protected]_01 ~]#
 

(3)wget示例

(1)、不带参数的wget

用wget可以下载网页或远程文件:

$ wget URL

如果文件名存在则在文件名后添加.{数字}

[[email protected]_01 wget]# wget http://wd.jb51.net:81/201004/books/html5_css3.rar
--2017-09-08 17:40:14--  http://wd.jb51.net:81/201004/books/html5_css3.rar
正在解析主机 wd.jb51.net... 61.160.200.48
正在连接 wd.jb51.net|61.160.200.48|:81... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1445023 (1.4M) [application/octet-stream]
正在保存至: “html5_css3.rar.1”
 
100%[================================================================================>] 1,445,023   1.49M/s   in 0.9s
 
2017-09-08 17:40:15 (1.49 MB/s) - 已保存“html5_css3.rar.1” [1445023/1445023])
 
[[email protected]_01 wget]#
[[email protected]_01 wget]# ll
总用量 105196
-rw-r--r--. 1 root root  1445023 6月  21 2012 html5_css3.rar
-rw-r--r--. 1 root root  1445023 6月  21 2012 html5_css3.rar.1
-rw-r--r--. 1 root root  1445023 6月  21 2012 html5_css3.rar.2
-rw-r--r--. 1 root root 51686763 6月  22 20:26 mysql-5.7.19.tar.gz
-rw-r--r--. 1 root root 51686763 6月  22 20:26 mysql-5.7.19.tar.gz.1
-rw-r--r--. 1 root root     2618 9月   8 17:32 wget-log
[[email protected]_01 wget]#

(2)、带-b参数

-b,  --background        启动后转入后台。

-b参数会使下载动作转入后台运行,默认情况下在前台显示下载进度。

[[email protected]_01 wget]# wget -b https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
继续在后台运行,pid 为 25173。
将把输出写入至“wget-log”。
[[email protected]_01 wget]# ll
总用量 3904
-rw-r--r--. 1 root root 3989403 9月   8 17:44 mysql-5.7.19.tar.gz
-rw-r--r--. 1 root root    6683 9月   8 17:44 wget-log
[[email protected]_01 wget]# ll
总用量 8828
-rw-r--r--. 1 root root 9022491 9月   8 17:44 mysql-5.7.19.tar.gz
-rw-r--r--. 1 root root   14269 9月   8 17:44 wget-log
[[email protected]_01 wget]#

(3)-o选项

-o,  --output-file=FILE    将信息写入 FILE。

默认情况下会在屏幕打印下载进度相关信息,-o选项可以使输出信息打进文件里。

wget -o out.txt https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz

(4)-a选项

-a,  --append-output=FILE  将信息添加至 FILE

-a选项会把输出信息追加到指定文件中。-o是清除之前的记录。

wget -a out.txt https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz

(5)-d选项

-d,  --debug               打印大量调试信息。

[[email protected]_01 wget]# wget -d  http://wd.jb51.net:81/201004/books/html5_css3.rar
DEBUG output created by Wget 1.12 on linux-gnu.
 
--2017-09-08 18:01:06--  http://wd.jb51.net:81/201004/books/html5_css3.rar
正在解析主机 wd.jb51.net... 61.160.200.48
Caching wd.jb51.net => 61.160.200.48
正在连接 wd.jb51.net|61.160.200.48|:81... 已连接。
Created socket 3.
Releasing 0x00000000008d2fd0 (new refcount 1).
 
---request begin---
GET /201004/books/html5_css3.rar HTTP/1.0
User-Agent: Wget/1.12 (linux-gnu)
Accept: */*
Host: wd.jb51.net:81
Connection: Keep-Alive
 
---request end---
已发出 HTTP 请求,正在等待回应...
---response begin---
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Last-Modified: Thu, 21 Jun 2012 08:00:38 GMT
Accept-Ranges: bytes
ETag: "017d2f1834fcd1:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Fri, 08 Sep 2017 09:59:49 GMT
Connection: keep-alive
Content-Length: 1445023
 
---response end---
200 OK
Registered socket 3 for persistent reuse.
长度:1445023 (1.4M) [application/octet-stream]
正在保存至: “html5_css3.rar.4”
 
100%[================================================================================>] 1,445,023   2.15M/s   in 0.6s
 
2017-09-08 18:01:07 (2.15 MB/s) - 已保存“html5_css3.rar.4” [1445023/1445023])
 
You have new mail in /var/spool/mail/root
[[email protected]_01 wget]#
 
 
 

(6)-q选项

-q,  --quiet               安静模式(无信息输出)。

wget -q  http://wd.jb51.net:81/201004/books/html5_css3.rar

(7)-v选项

-v,  --verbose             详尽的输出(此为默认值)。

加-v和不加输出信息是一样的

(8)-nv选项

-nv,--no-verbose          关闭详尽输出,但不进入安静模式。

$ wget -nv  http://wd.jb51.net:81/201004/books/html5_css3.rar
2017-09-08 18:07:12 URL:http://wd.jb51.net:81/201004/books/html5_css3.rar [1445023/1445023] -> "html5_css3.rar.7" [1]

(9)-i选项

-i,  --input-file=FILE     下载本地或外部 FILE 中的 URLs。

将下载地址写入文件url.txt中,批量下载多个url资源文件。

[[email protected]_01 wget]# ll
总用量 4
-rw-r--r--. 1 root root 105 9月   8 18:11 url.txt
[[email protected]_01 wget]# cat url.txt
http://yc.jb51.net:81/201707/books/YAML_cksc_jb51.rar
http://wd.jb51.net:81/201004/books/html5_css3.rar
[[email protected]_01 wget]# wget -i url.txt
--2017-09-08 18:11:31--  http://yc.jb51.net:81/201707/books/YAML_cksc_jb51.rar
正在解析主机 yc.jb51.net... 112.83.192.99
正在连接 yc.jb51.net|112.83.192.99|:81... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:703624 (687K) [application/octet-stream]
正在保存至: “YAML_cksc_jb51.rar”
 
100%[================================================================================>] 703,624     1.91M/s   in 0.4s
 
2017-09-08 18:11:37 (1.91 MB/s) - 已保存“YAML_cksc_jb51.rar” [703624/703624])
 
--2017-09-08 18:11:37--  http://wd.jb51.net:81/201004/books/html5_css3.rar
正在解析主机 wd.jb51.net... 61.160.200.48
正在连接 wd.jb51.net|61.160.200.48|:81... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1445023 (1.4M) [application/octet-stream]
正在保存至: “html5_css3.rar”
 
100%[================================================================================>] 1,445,023   2.03M/s   in 0.7s
 
2017-09-08 18:11:38 (2.03 MB/s) - 已保存“html5_css3.rar” [1445023/1445023])
 
下载完毕 --2017-09-08 18:11:38--
下载了:2 个文件,1.0s (1.99 MB/s) 中的 2.0M
[[email protected]_01 wget]# ll
总用量 2104
-rw-r--r--. 1 root root 1445023 6月  21 2012 html5_css3.rar
-rw-r--r--. 1 root root     105 9月   8 18:11 url.txt
-rw-r--r--. 1 root root  703624 7月  26 17:12 YAML_cksc_jb51.rar
[[email protected]_01 wget]#
 

(10)-O选项

-O,  --output-document=FILE    将文档写入 FILE。

通常下载的文件名和URL中的文件名会保持一致,下载日志或进度被写入stdout。

你可以通过选项-O指定输出文件名。如果存在同名文件,那么会先将该同名文件清空

(truncate)再写入下载文件。

 
$ wget -O wget_html5_css3.rar http://wd.jb51.net:81/201004/books/html5_css3.rar

(11)-nc选项

-nc,--no-clobber              不要重复下载已存在的文件。

[[email protected]_01 wget]# ll
总用量 7116
-rw-r--r--.  1 root root    8478 9月  10 11:39 wget
-rw-r--r--.  1 root root 1445023 6月  21 2012 wget_html5_css3.rar
drwxr-xr-x. 11 root root    4096 8月  28 19:59 zentaopms
-rw-r--r--.  1 root root 5821472 9月   1 14:55 ZenTaoPMS.9.5.stable.zip
[[email protected]_01 wget]# wget -O wget_html5_css3.rar  -nc   http://wd.jb51.net:81/201004/books/html5_css3.rar
文件“wget_html5_css3.rar”已经存在;不取回。
[[email protected]_01 wget]#

(12)-c选项

-c,  --continue                继续下载部分下载的文件。

-c参数,用于断点续传。

如果使用wget进行的下载在完成之前被中断,可以利用选项-c从断点开始继续下载:

$ wget  -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz

(13)-S选项

-S,  --server-response         打印服务器响应。

[[email protected]_01 wget]# wget  -c  -S https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
--2017-09-10 11:51:12--  https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
正在解析主机 dev.mysql.com... 137.254.60.11
正在连接 dev.mysql.com|137.254.60.11|:443... 已连接。
已发出 HTTP 请求,正在等待回应...
  HTTP/1.1 302 Found
  Date: Sun, 10 Sep 2017 03:51:13 GMT
  Server: Apache
  X-Frame-Options: SAMEORIGIN
  Strict-Transport-Security: max-age=15768000
  Set-Cookie: MySQL_S=8fi094bnmesvt5qutla8gds0nv9nd5ro; path=/; domain=mysql.com; HttpOnly
  Expires: Thu, 19 Nov 1981 08:52:00 GMT
  Cache-Control: no-store, no-cache, must-revalidate
  Pragma: no-cache
  Location: https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
  X-XSS-Protection: 1; mode=block
  X-Content-Type-Options: nosniff
  Content-Length: 0
  Keep-Alive: timeout=5, max=10
  Connection: Keep-Alive
  Content-Type: text/html; charset=UTF-8
位置:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19.tar.gz [跟随至新的 URL]
--2017-09-10 11:51:13--  https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
正在解析主机 cdn.mysql.com... 23.66.88.225
正在连接 cdn.mysql.com|23.66.88.225|:443... 已连接。
已发出 HTTP 请求,正在等待回应...
  HTTP/1.0 200 OK
  Server: Apache
  ETag: "03cfd5d2054339851884e5678df0550e:1500210960"
  Last-Modified: Thu, 22 Jun 2017 12:26:34 GMT
  Accept-Ranges: bytes
  Content-Length: 51686763
  Date: Sun, 10 Sep 2017 03:51:13 GMT
  Connection: keep-alive
  Content-Type: application/x-tar-gz
长度:51686763 (49M) [application/x-tar-gz]
正在保存至: “mysql-5.7.19.tar.gz”
 
85% [===================================================================>             ] 43,939,891  13.9M/s eta(英国中部时92% [==========================================================================>      ] 47,873,443  14.1M/s eta(英国中部时100%[================================================================================>] 51,686,763  14.3M/s   in 3.4s
 
2017-09-10 11:51:17 (14.3 MB/s) - 已保存“mysql-5.7.19.tar.gz” [51686763/51686763])
 
[[email protected]_01 wget]#
 

(14)-t选项

-t,  --tries=NUMBER            设置重试次数为 NUMBER (0 代表无限制)。

由于不稳定的互联网连接,下载有可能被迫中断。我们可以将重试次数作为命令参数,这样一旦下载中断,wget在放弃之前还会继续进行多次尝试。

用-t指定重试次数:

$ wget -t 5 URL

或者要求wget不停地进行重试:

$ wget -t 0 URL

(15)、下载限速

--limit-rate=RATE         限制下载速率为 RATE。

当我们的下载带宽有限,却又有多个应用程序共享互联网连接时,进行大文件下载往往会榨干所有的带宽,严重阻滞其他进程。wget命令有一个内建的选项可以限定下载任务能够占有的最大带宽,从而保证其他应用程序流畅运行。

我们可以按照下面的方式使用--limit-rate对wget进行限速:

$ wget --limit-rate 20k http://example.com/file.iso

在命令中用k(千字节)和m(兆字节)指定速度限制。

下面的示例,下载速度限制200k,还是很准的。

 
wget  --limit-rate 200k https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
--2017-09-10 12:01:54--  https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
正在解析主机 dev.mysql.com... 137.254.60.11
正在连接 dev.mysql.com|137.254.60.11|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19.tar.gz [跟随至新的 URL]
--2017-09-10 12:01:56--  https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19.tar.gz
正在解析主机 cdn.mysql.com... 23.66.88.225
正在连接 cdn.mysql.com|23.66.88.225|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:51686763 (49M) [application/x-tar-gz]
正在保存至: “mysql-5.7.19.tar.gz.1”
 
 1% [>                                                                                ] 670,819      200K/s eta(英国中部时 1% [>                                                                                ] 727,827      200K/s eta(英国中部时 1% [>                                                                                ] 784,835      200K/s eta(英国中部时 1% [>                                                                                ] 841,843      200K/s eta(英国中部时 1% [>                                                                                ] 898,851      200K/s eta(英国中部时 1% [>                                                                                ] 955,859      200K/s eta(英国中部时
 
 

(16)、设置最大下载配额

-Q,  --quota=NUMBER            设置取回配额为 NUMBER 字节。

指定最大下载配额(quota)。配额一旦用尽,下载随之停止。在下载多个文件时,对总下载量进行限制是有必要的,这能够避免在无意中占用过多磁盘空间。

使用--quota或-Q选项:

$ wget -Q 100m http://example.com/file1 http://example.com/file2

(17)、复制整个网站(镜像)

wget有一个选项可以使其像爬虫一样以递归的方式遍历网页上所有的URL链接,并逐个下载。这样一来,我们就能够获得一个网站的所有页面。

要实现这个任务,可以按照下面的方式使用选项--mirror:

$ wget --mirror --convert-links http://exampledomain.com

提示:

对网站进行镜像时,请三思而行。除非你被许可,否则只应出于个人使用的目的才可以这么做,而且不应该频繁地进行。

(18)、访问需要认证的HTTPFTP页面

一些网页需要HTTP或FTP认证,可以用--user和--password提供认证信息:

$ wget --user username --password pass URL

也可以不在命令行中指定密码,而由网页提示并手动输入密码,这就需要将--password改为--ask-password。

时间: 2024-11-18 04:53:56

Linux Shell学习--wget命令详解的相关文章

Linux Shell学习--curl命令详解

curl命令详解 (1).curl介绍 作为一款强力工具,curl支持包括HTTP.HTTPS.FTP在内的众多协议.它还支持POST.cookie.认证.从指定偏移处下载部分文件.参照页(referer).用户代理字符串.扩展头部.限速.文件大小限制.进度条等特性.如果要和网页访问序列(web page usagesequence)以及数据检索自动化打交道,那么curl定能助你一臂之力. (2).curl的help curl --help Usage: curl [options...] <u

Linux Shell学习--awk命令详解

(1).awk介绍 awk是由Alfred Aho .Peter Weinberger 和 Brian Kernighan于1977年开发的变成语言,awk是上述三位创建者姓的首字母. Awk的基本语法与c语言类似,如果对c语言很熟悉,那么学习awk编程也将事半功倍. Awk功能与sed相似,都是用来进行文本处理的,awk语言可以从文件或字符串中基于指定规则浏览和抽取信息,在抽取信息的基础上,才能进行其他文本操作.   awk是一款设计用于数据流的工具.它颇有玩头的原因就在于可以对列和行进行操作

Linux Shell学习-sed命令详解

(1).sed介绍 Sed是流编辑器,stream editor,它是一个将一些列编辑命令作用于一批文本文件的理想工具. (2).sed工作原理 Sed是一个非交互式文本编辑器,它可以对文本文件和标准输入进行编辑,标准输入可以是来自键盘输入.文件重定向.字符串.变量,甚至来自管道的文本. Sed从文本的一个文本行或标准输入中读取数据,将其复制到缓冲区,然后读取命令行或脚本的第一个命令,对此命令要求的行号进行编辑,重复此过程,直到命令行或脚本中的所有命令都执行完毕. 相对于诸如vi等其他文本编辑器

linux应用之wget命令详解

wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例如: # wget linuxsense.org/xxxx/xxx.tar.gz">http://www.linuxsense.org/xxxx/xxx.tar.gz 简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使用命令接着下载 例如: # wget -c http://www.linuxsense.org/xxxx/xxx.tar.gz 下

Linux CAT与ECHO命令详解 &lt;&lt;EOF EOF

Linux CAT与ECHO命令详解 cat命令是Linux下的一个文本输出命令,通常是用于观看某个文件的内容的: cat主要有三大功能: 1.一次显示整个文件. $ cat filename 2.从键盘创建一个文件. $ cat > filename 只能创建新文件,不能编辑已有文件. 3.将几个文件合并为一个文件. $cat file1 file2 > file cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName 说明:

Linux Shell数组常用操作详解

Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) 1 declare -a array 2 array=(1 2 3 4 5) 数组用小括号括起,数组元素之间用空格分开 2显示数组长度: [@tc_132_227 dm_pid_day]$ echo ${#array[@]} 5 [@tc_132_227 dm_pid_day]$ echo ${#array[*]} 5 命令: ${#数组名[@或*]} 获取数组长度,若数组无

Linux上的free命令详解

Linux上的free命令详解 转自: http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如: FO[2][1] = 24677460 FO[3][2] = 10321516 1          2          3    

Ubuntu Linux系统下apt-get命令详解

Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install package 安装包 sudo apt-get install package - - reinstall 重新安装包 sudo apt-get -f install 修复安装"-f = ——fix-missing&

Linux 系统下 ifconfig 命令详解

Linux系统下网卡网络配置详解 Ifconfig命令使LINUX核心知道软件回送和网卡这样一些网络接口,这样Linux就可以使用它们. 除了上面介绍的这些用法之外,ifconfig命令用来监控和改变网络接口的状态,并且还可以带上很多命令行参数.下面是一个ifconfig的通用调用语法: #ifconfig interface [[-net -host] address [parameters]] 其中interface是网络接口名:address是分配给指定接口的主机名或IP地址.这里使用的主