这是可以在 OnWorks 免费托管服务提供商中使用我们的多个免费在线工作站之一运行的命令 pwget,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
pwget - Perl Web URL 获取程序
概要
获取 http://example.com/ [网址...]
pwget --config $HOME/config/pwget.conf --标记 linux --标记 emacs ..
pwget --详细 --覆盖 http://example.com/
pwget --verbose --overwrite --输出 〜/目录/ http://example.com/
pwget --新 --覆盖 http://example.com/package-1.1.tar.gz
商品描述
自动定期下载文件和包。
如果您定期检索某些程序块的最新版本,这就是 Perl
脚本给你。 从 cron 作业运行或每周运行一次以上传最新版本的文件
互联网。 笔记:
威格特 和 Free Introduction 程序
此时你可能想知道,你在什么时候需要这个 perl 程序 wget的(1)
C 程序已成为多年的标准。 嗯,1) Perl 是跨平台的,而且更容易
可扩展 2) 您可以将文件下载条件记录到配置文件中并使用 perl
定期epxressions选择下载3)程序可以分析网页和“搜索”
对于仅下载链接的说明 4) 最后但并非最不重要的,它可以跟踪最新的
自上次下载以来名称已更改的软件包。 有启发式方法来确定
根据配置中定义的文件名骨架最新的文件或包。
该程序不代替 获取(1) 因为它提供的选项没有 wget 多,
比如递归下载和日期比较。 使用 wget 进行临时下载和这个
用于更改(新版本档案)或您监控的文件的实用程序
定期地。
短 介绍
这个小实用程序可以在配置文件中保留 URL 列表,并且
使用简单的命令定期检索这些页面或文件。 这个工具是最好的
适用于下载例如最新版本的软件文件的小批量作业。 如果
您使用的 URL 已经在磁盘上,请务必提供选项 --覆盖 允许
覆盖现有文件。
虽然您可以从命令行运行此程序来检索单个文件,但程序具有
被设计为通过使用单独的配置文件 --配置 选项。 在配置中
文件,您可以使用单独的指令控制下载,例如“保存:”,它告诉
以不同的名称保存文件。 检索最新版本的最简单方法
来自 FTP 站点的包是:
pwget --new --overwite --verbose \
http://www.example.com/package-1.00.tar.gz
不要担心文件名“package-1.00.tar.gz”。 最新版本,比如说,
将检索“package-3.08.tar.gz”。 选项 - 新的 指示查找更新版本
比提供的 URL。
如果 URL 以斜杠结尾,则远程机器上的目录列表将存储到文件中:
!path!000 根文件
该文件的内容可以是 index.html 或目录列表,具体取决于
使用的 http 或 ftp 协议。
配置
-一种, --regexp-内容 REGEXP
分析文件的内容并匹配 REGEXP。 仅当正则表达式与文件匹配时
内容,然后下载文件。 此选项会使下载变慢,因为文件是
作为单行读入内存,然后针对内容搜索匹配项。
例如下载Foo先生编写的不区分大小写的Emacs lisp文件(.el)
方式:
pwget -v -R '\.el$' -A "(?i)Author: Mr. Foo" \
http://www.emacswiki.org/elisp/index.html
-C, --创建路径
创建“lcd:”指令中不存在的路径。
默认情况下,任何对不存在目录的 LCD 指令都会中断程序。 和
此选项,根据需要创建本地目录,从而可以重新创建
配置文件中的确切结构。
-C, --配置 文件
可以多次给出此选项。 读取所有配置。
从配置文件中读取 URL。 如果没有给出配置文件,则指向的文件
环境变量被读取。 参见环境。
配置文件布局在 CONFIGURATION FILE 部分
--chdir 目录
做一个 目录目录() 在任何 URL 下载开始之前到 DIRECTORY。 这就像做:
光盘目录
获取 http://example.com/index.html
-d, -调试 [等级]
使用正 LEVEL 数字打开调试。 零意味着没有调试。 此选项开启
--详细 了。
-e, - 提炼
检索文件后解压缩所有文件。 解压典型归档文件的命令
在程序中定义。 确保这些程序沿着路径。 Win32 用户是
鼓励在这些程序成为标准的地方安装 Cygwin 实用程序。 参考
参见部分。
.tar => 焦油
.tgz => tar + gzip
.gz => gzip
.bz2 => bzip2
.zip => 解压
-F, --防火墙 防火墙
通过 ftp:// 协议访问文件时使用防火墙。
-H, - 帮帮我
以文本形式打印帮助页面。
--帮助-html
以 HTML 格式打印帮助页面。
--帮助者
以 Unix 手册页格式打印帮助页面。 您想将此输出提供给 c
-man> 以便阅读。
打印帮助页面。
-米, - 镜子 站点
如果 URL 指向 Sourcefoge 下载区,请使用镜像站点下载。
或者,完整的完整 URL 可以包括镜像信息。 和例子:
--镜面肯特 http://downloads.sourceforge.net/foo/foo-1.0.0.tar.gz
-n, - 新的
获取最新文件。 这适用于没有扩展名 .asp 或 .html 的数据文件。
当发布新版本时,文件名中的版本号通常会说明哪个是
当前的一个因此得到硬编码的文件:
pwget -o -v http://example.com/dir/program-1.3.tar.gz
从自动化的角度来看,这通常是不实用的。 添加 - 新的 选项
命令行导致双通:a)整个 http://example.com/dir/ 被检查
所有文件和 b) 大约匹配文件名 program-1.3.tar.gz 的文件是
检查,启发式排序并检索具有最新版本号的文件。
--无液晶
忽略配置文件中的“lcd:”指令。
在配置文件中,任何“lcd:”指令都被遵守。 但是如果
您确实想检索当前目录的 URL,请务必提供此选项。
否则文件将以“lcd:”结尾到目录指针。
--不保存
忽略配置文件中的“save:”指令。 如果 URL 具有“保存:”选项,
它们在获取期间被忽略。 你通常想结合 --无液晶 - --不保存
--无提取
忽略配置文件中的“x:”指令。
-O, - 输出 DIR
在检索任何文件之前,chdir 到 DIR。
-o, --覆盖
检索 URL 时允许覆盖现有文件。 结合这个
--跳过版本 如果您定期更新文件。
- 代理 代表委任
使用代理服务器进行 HTTP。 (看 --防火墙 用于 FTP。)。 端口号是可选的
电话:
- 代理 http://example.com.proxy.com
--代理 example.com.proxy.com:8080
-p, - 字首 字首
将 PREFIX 添加到所有检索到的文件中。
-P, --后缀 后缀
将 POSTFIX 添加到所有检索到的文件中。
-D, --前缀日期
为所有检索到的文件添加 iso8601 ":YYYY-MM-DD" 前缀。 这是在可能之前添加的
--前缀-www or - 字首.
-W, --前缀-www
通常文件以与 URL 目录中相同的名称存储,但如果您检索
具有相同名称的文件,您可以单独存储每个页面,以便文件
name 以站点名称为前缀。
http://example.com/page.html --> example.com::page.html
http://example2.com/page.html --> example2.com::page.html
-r, --正则表达式 REGEXP
在目标 URL 站点检索文件匹配。 这就像“连接到 URL
并获取所有匹配 REGEXP 的文件“。这里所有的 gzip 压缩文件都是从 HTTP 中找到的
服务器目录:
pwget -v -R "\.gz" http://example.com/archive/
-R, --config-正则表达式 REGEXP
从配置文件中检索匹配 REGEXP 的 URL。 这取消 - 标签 选项
命令行。
-是的, - 自我测试
运行一些内部测试。 仅供维护者或开发者使用。
- 睡觉 SECONDS
在下一个 URL 请求之前休眠 SECONDS。 当使用基于正则表达式的下载时,可能
返回很多点击,一些网站不允许在短时间内连续请求
时间。 此选项使程序在检索之间休眠数秒
克服“服务不可用”。
--标准输出
检索 URL 并写入标准输出。
--跳过版本
不要下载具有版本号且已存在于磁盘上的文件。
假设您有这些文件并使用选项 --跳过版本:
压缩包.tar.gz
文件-1.1.tar.gz
仅检索 file.txt,因为 file-1.1.tar.gz 包含版本号和
自上次检索以来,文件未更改。 这个想法是,在每个版本中
分布中的数量增加,但可能有分布不
包含版本号。 您可能希望定期加载这些包
再次,但跳过版本化文件。 简而言之:这个选项没有多大意义
没有额外的选择 - 新的
如果要再次重新加载版本化文件,请添加选项 --覆盖.
-t, - 测试, --试运行
在测试模式下运行。
-T, - 标签 您的姓名 [姓名] ...
从配置文件中搜索标签 NAME 并仅下载该标签下定义的条目。
请参阅 --配置 文件 选项说明。 你可以给多个 - 标签 开关。
将此选项与 --正则表达式 没有意义,后果是
不明确的。
-v, --详细 [数字]
打印详细消息。
-V, - 版
打印版本信息。
示例
从站点获取文件:
获取 http://www.example.com/dir/package.tar.gz ..
从 Debian 页面显示软件包 GNU make 的版权文件:
pwget --stdout --regexp 'copyright$' http://packages.debian.org/unstable/make
获取所有匹配“gz”的邮件列表归档文件:
pwget --regexp gz http://example.com/mailing-list/archive/download/
读取目录并将其存储到文件名 YYYY-MM-DD::!dir!000root-file。
pwget --前缀日期 --overwrite --verbose http://www.example.com/dir/
更新包的最新版本,但前提是磁盘上没有。 这
- 新的 选项指示查找更新的包,文件名仅用作骨架
要查找的文件:
pwget --overwrite --skip-version --new --verbose \
ftp://ftp.example.com/dir/packet-1.23.tar.gz
要覆盖文件并向文件名添加日期前缀:
pwget --前缀日期 --overwrite --verbose \
http://www.example.com/file.pl
--> YYYY-MM-DD::file.pl
将日期和 WWW 站点前缀添加到文件名:
pwget --prefix-date --prefix-www --overwrite --verbose \
http://www.example.com/file.pl
--> YYYY-MM-DD::www.example.com::file.pl
获取配置文件标签更新下的所有更新文件:
pwget --verbose --overwrite --skip-version --new --Tag 更新
pwget -v -o -s -n -T 更新
获取文件,因为它们在配置文件中读取到当前目录,忽略任何
"lcd:" 和 "save:" 指令:
pwget --config $HOME/config/pwget.conf /
--no-lcd --no-save --overwrite --verbose \
http://www.example.com/file.pl
要检查配置文件,请使用不匹配的正则表达式运行程序并解析
文件并在途中检查“lcd:”指令:
pwget -v -r 虚拟正则表达式
- >
pwget.DirectiveLcd: LCD [$EUSR/目录 ...]
不是 /users/foo/bin/pwget 第 889 行的目录。
配置 文件
留言
配置文件不是 Perl 代码。 注释以哈希字符 (#) 开头。
变量
此时,变量扩展只发生在 液晶显示器:. 不要试图在任何地方使用它们
否则,就像在 URL 中一样。
路径变量 液晶显示器: 使用以下符号定义,不允许有空格
VALUE 部分(没有带空格的目录名)。 变量名区分大小写。 变量
替换具有相同名称的环境变量。 环境变量是
立即可用。
VARIABLE = /home/my/dir # 定义变量
VARIABLE = $dir/some/file # 使用之前定义的变量
FTP = $HOME/ftp # 使用环境变量
右手边可以引用之前定义的变量或现有环境
变量。 重复,这不是 Perl 代码,虽然它看起来像一个,但只是一个
配置文件中允许的语法。 注意右手边有美元>
当变量被引用时,但在定义变量时左侧没有美元。
这是一个可能的配置文件内容的示例。 标签是分层的
无限制订购。
警告:记住在单独的包含文件中使用不同的变量名称。 全部
变量是全局的。
包括 档
可以在语句中包含更多配置文件
包括
文件名中可以进行变量扩展。 没有限制多少或多深
使用了包含结构。 每个文件只包含一次,因此可以安全地拥有
多个包含到同一个文件。 每个包含都被读取,所以把最重要的
覆盖包括最后:
包括# 全球的
INCLUDE <$HOME/config/pwget.conf> # HOME 覆盖它
一个特殊的“THIS”标签表示当前包含文件的相对路径,这使得它
可能包含多个文件形成初始包含文件的同一目录
居住
# 在 /etc/pwget.conf 开始配置
# 这个 = /等, 当前位置
包括
# 指当前用户所在目录:pwd
包括
# 结尾
配置 文件 例子
配置文件可以包含很多,其中每个指令都以一个
冒号。 每个目录的用法最好通过检查配置文件来解释
下面并阅读每个指令附近的评论。
# $HOME/config/pwget.conf F- Perl pwget 配置文件
ROOT = $HOME # 定义变量
配置 = $HOME/配置
更新 = $ROOT/更新
下载 = $ROOT/下载
# 包含更多的配置文件。 有可能
# 将一个巨大的文件分成几部分并拥有“linux”,
# "win32", "debian", "emacs" 配置分开
# 和可管理的文件。
包括 <$CONF/pwget-other.conf>
包括 <$CONF/pwget-more.conf>
tag1: local-copy tag1: local # 多个名称到这个类别
lcd: $UPDATE # chdir 指令
# 这是向用户显示的选项 --verbose
打印:注意,本站移动了 YYYY-MM-DD,请更新您的书签
文件://absolute/dir/file-1.23.tar.gz
标签1:外部
液晶显示器:$DOWNL
标签2:外部-http
http://www.example.com/page.html
http://www.example.com/page.html 保存:/dir/dir/page.html
标签2:外部FTP
ftp://ftp.com/dir/file.txt.gz 保存:xx-file.txt.gz 登录:foo pass:passwd x:
液晶:$HOME/下载/包
ftp://ftp.com/dir/package-1.1.tar.gz 新:
标签2:包-x
液晶显示器:$DOWNL/package-x
# 人在他的主页宣布新文件,下载所有
# 公布的文件。 打开所有东西 (x:) 并移除任何东西
# 现有目录 (xopt:rm)
http://example.com/~foo pregexp:\.tar\.gz$ x: xopt:rm
# 配置文件 pwget.conf 结束
清单 OF 指令 IN 配置 文件
所有指令必须在 URL 所在的同一行中。 程序扫描行和
确定为 URL 提供的所有选项。 指令可以被命令覆盖
线选项。
cnv:转换
目前只 转换:文本 是可用的。
将下载的页面转换为文本。 此选项始终需要 节省: or 改名:,
因为只有这些指令会更改文件名。 下面是一个例子:
http://example.com/dir/file.html cnv:text 保存:file.txt
http://example.com/dir/ pregexp:\.html cnv:text 重命名:s/html/txt/
A 文本: 可以使用速记指令代替 cnv:文本.
正则表达式:正则表达式
仅当内容匹配 REGEXP 时才下载文件。 这与选项相同
--正则表达式内容. 在这个例子中,列出了 Emacs lisp 包 (.el) 的目录是
下载但仅当其内容表明作者是 Mr. Foo 时:
http://example.com/index.html cregexp:(?i)作者:.*Foo pregexp:\.el$
液晶:目录
将本地下载目录设置为 DIRECTORY(chdir 到它)。 任何环境变量都是
替换为路径名。 如果找到此标签,它将替换设置 - 输出。 如果
路径不是目录,以错误终止。 也可以看看 --创建路径 和 --无液晶.
登录:登录名
ftp 登录名。 默认值为“匿名”。
镜像:站点
这仅与 Sourceforge 相关,它不允许使用链接直接下载。
访问项目的 Sourceforge 主页并查看哪些镜像可用于
下载。
一个例子:
http://sourceforge.net/projects/austrumi/files/austrumi/austrumi-1.8.5/austrumi-1.8.5.iso/download 新:镜子:肯特
新:
获取最新文件。 这个变量被重置为 - 新的 线路完成后
处理。 最新的意思是,在 ftp 中运行了一个“ls”命令,还有一些东西
在 HTTP“ftp 目录”中等效,并且任何类似于文件名的文件都是
根据文件的版本号进行检查、排序和启发式判断
哪个是最新的。 例如在 YYYYMMDD 中有版本信息的文件
格式最有可能被正确检索。
不检查文件的时间戳。
唯一的要求是文件名“必须”遵循通用版本编号
标准:
FILE-VERSION.extension # 实际版本定义为 [\d.]+
文件 19990101.tar.gz # 好的
文件 1999.0101.tar.gz # 好的
文件 1.2.3.5.tar.gz # 好的
file1234.txt # 无法识别。 一定有 ”-”
file-0.23d.tar.gz #警告,字母有问题
在 VERSION 末尾有一些字母版本指示符的文件可能不是
正确处理。 联系开发者并告知他事实上的标准,以便
可以更智能地检索文件。
注意: 为了使 新: 指令要知道要查找的文件类型,它需要一个
文件模板。 您可以使用指向某个文件名的直接链接。 这里的位置
"http://www.example.com/downloads" 被检查并使用所使用的文件名模板
作为“file-1.1.tar.gz”来搜索可能更新的文件,比如
“文件 9.1.10.tar.gz”:
http://www.example.com/downloads/file-1.1.tar.gz 新:
如果文件名出现在命名页面中,请使用指令 文件: 为模板。 在这
如果检查“download.html”页面是否有类似“file.*tar.gz”的文件,
最新搜索:
http://www.example.com/project/download.html 文件:file-1.1.tar.gz 新的:
覆盖: o:
与开启相同 --覆盖
页面:
阅读网页并对其应用命令。 一个例子:联系根页面并保存:
http://example.com/~foo 页面:save:foo-homepage.html
为了从页面中找到正确的信息,其他指令通常是
提供指导搜索。
1) 添加指令“pregexp:ARCHIVE-REGEXP”匹配页面中的 A HREF 链接。
2) 添加指令 新: 指示查找文件的更新版本。
3)添加指令“file:DOWNLOAD-FILE”告诉使用什么模板来构造
可下载的文件名。 这是“new:”指令所必需的。
4) 指令“vregexp:VERSION-REGEXP”匹配页面中的确切位置
提取版本信息的地方。 默认正则表达式查找行
说“最新版本......是...... NN”。 正则表达式必须返回子匹配 2
版本号。
一个例子
从 HTTP 目录列表中搜索更新的文件。 检查页面
http://www.example.com/download/dir 对于模型“package-1.1.tar.gz”并找到更新的
文件。 例如“package-4.7.tar.gz”将被下载。
http://www.example.com/download/dir/package-1.1.tar.gz 新:
一个例子
从页面内容中搜索较新的文件。 该指令 文件: 充当
要注意的文件名模型。
http://www.example.com/project/download.html 新:pregexp:tar.gz 文件:package-1.1.tar.gz
一个例子
使用指令 改名: 在磁盘上排序之前更改文件名。 在这里,
版本号附加到 actila 文件名:
文件.txt-1.1
文件.txt-1.2
所需的指令如下; 条目已被拆分为单独的行
易读性:
http://example.com/files/
正则表达式:\.el-\d
vregexp:(file.el-([\d.]+))
文件:file.el-1.1
新:
重命名:s/-[\d.]+//
这实际上是:“看看是否有新版本的东西看起来像
file.el-1.1 并通过删除额外的版本号将其保存在名称 file.el 下
原始文件名的结尾”。
一个例子
联系绝对 页面: at http://www.example.com/package.html 并搜索 A HREF 网址
在匹配的页面中 前置表达式:. 另外,再次扫描并搜索版本
页面中从 thw 位置匹配的数字 正则表达式: (子匹配 2)。
找到所有的碎片后,使用模板 文件: 制作可检索的文件
使用从 正则表达式:. 实际下载位置是
的组合 页面: 和一个 HREF 前置表达式: 的位置。
所需的指令如下; 条目已被拆分为单独的行
易读性:
http://www.example.com/~foo/package.html
页面:
前置表达式:package.tar.gz
vregexp: ((?i)最新.*?版本.*?\b([\d][\d.]+).*)
文件:package-1.3.tar.gz
新:
x:
上述内容适用的网页示例:
最新版本的包是2.4.1可以
以多种形式下载:
tar文件
压缩文件
对于此示例,假设“package.tar.gz”是指向
最新版本文件“package-2.4.1.tar.gz”。 因此,实际的下载位置将
已经 ”http://www.example.com/~foo/download/files/package-2.4.1.tar.gz".
为什么不简单地下载“package.tar.gz”? 因为这样程序就无法决定
页面上的版本比上次下载时存储在磁盘上的版本新。 和
文件名中的版本号,比较是可能的。
页面:查找
FIXME:这个选项已经过时了。 不使用。
这仅适用于 HTTP。 使用 Use 指令 正则表达式: 对于 FTP 协议。
这是一个比 页面: 和 正则表达式: 上面解释过。
指示下载 HTML 页面匹配上的每个 URL 正则表达式:RE. 在典型情况下
页面维护者在开发页面中列出了他的软件。 这个例子将
下载页面中的每个 tar.gz 文件。 请注意,REGEXP 与 A 匹配
HREF 链接内容,而不是页面上显示的实际文本:
http://www.example.com/index.html 页面:找到pregexp:\.tar.gz$
您还可以使用额外的 正则表达式号: 指令,如果你想在之后排除文件
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 前置表达式: 匹配了一个链接。
http://www.example.com/index.html 页面:查找 pregexp:\.tar.gz$ regexp-no:desktop
密码:密码
用于 FTP 登录。 默认值为“[email protected]".
正则表达式:RE
搜索与正则表达式匹配的页面中的 HREF 链接。 正则表达式必须
是一个没有空格的单词。 这是不正确的:
pregexp:(这个正则表达式)
它必须写成:
正则表达式:(this\s+regexp\s)
打印:留言
向请求匹配标签名称的用户打印相关消息。 该指令必须在
标签内的单独行。
标签 1: linux
打印:此下载站点已于 2002-02-02 移动,请检查您的书签。
http://new.site.com/dir/file-1.1.tar.gz 新:
仅当用户打开 --verbose 模式时,才会显示标签的“打印:”指令:
pwget -v -T Linux
重命名:PERL-CODE
使用 PERL-CODE 重命名每个文件。 PERL-CODE 必须是完整的 perl 程序,没有
任何地方的空间。 在此期间可以使用以下变量 评估() 代码:
$ARG = 当前文件名
$url = 文件的完整 url
代码必须返回用于文件名的 $ARG
例如,如果页面包含指向实际上是文本文件的 .html 文件的链接,
以下语句将更改文件扩展名:
http://example.com/dir/ 页面:查找 pregexp:\.html 重命名:s/html/txt/
如果文件名包含写入,您还可以调用函数“MonthToNumber($string)”
月份名称,如<2005-February.mbox>。该函数会将名称转换为数字。
许多邮件列表档案可以通过这种方式干净地下载。
# 这将下载 SA-Exim 邮件列表档案:
http://lists.merlins.org/archives/sa-exim/ pregexp:\.txt$ 重命名:$ARG=MonthToNumber($ARG)
这是一个更复杂的例子:
http://www.contactor.se/~dast/svnusers/mbox.cgi pregexp:mbox.*\d$ 重命名:my($y,$m)=($url=~/年=(\d+).*month=(\d+)/);$ARG="$y-$m.mbox"
让我们把它分开。 你可能会花一些时间在这个例子上,因为
可能性是无限的。
1.连接到页面
http://www.contactor.se/~dast/svnusers/mbox.cgi
2. 搜索页面匹配正则表达式 'mbox.*\d$' 的 URL。 一种
找到的链接可以匹配这样的href:
http://svn.haxx.se/users/mbox.cgi?年=2004&月=12
3.找到的链接放到$ARG(同$_),可以使用
使用 perl 代码提取合适的邮箱名称
评估。 结果名称必须出现在 $ARG 中。 因此代码
有效地从链接中提取两个项目以形成邮箱
名称:
我的 ($y, $m) = ( $url =~ /year=(\d+).*month=(\d+)/ )
$ARG = "$y-$m.mbox"
=> 2004-12.mbox
请记住,“rename:”指令后面的 perl 代码 必须 不得
包含任何空格。 所有这些都必须作为一个字符串可读。
正则表达式:正则表达式
获取 ftp 目录中匹配正则表达式的所有文件。 指示 节省: 被忽略。
正则表达式号:REGEXP
在“regexp:”指令匹配后,排除匹配指令的文件 正则表达式-
不:
正则表达式:REGEXP
此选项用于交互使用。 从 HTTP 或 FTP 站点检索所有文件
匹配正则表达式。
保存:本地文件名
以该名称保存文件到本地磁盘。
标签N:NAME
下载可以在“tagN”下分组,例如选项 --标签1 会开始
从那一刻开始下载文件,直到找到下一个“tag1”。 目前有
无限数量的标签级别:tag1、tag2 和 tag3,以便您可以安排您的
在配置文件中分层下载。 例如下载所有Linux
您监控的文件,您可以选择 - 标签 Linux的. 仅下载 NT
Emacs 最新的二进制文件,你会给出选项 - 标签 emacs-nt. 注意你不给
选项中的“级别”,程序会在之后从配置文件中找到
标签名称匹配。
下载在“相同级别”的下一个标签处停止。 也就是说,tag2 只停在
下一个 tag2,或者当找到上层标签时 (tag1) 或直到文件结束。
tag1: linux # 此类别下的所有 Linux 下载
tag2:sunsite tag2:这个地方的另一个名字
# 从这里下载的文件列表
标签2:ftp.funet.fi
# 从这里下载的文件列表
标签 1:emacs 二进制
标签2:emacs-nt
标签 2: xemacs-nt
标签2:emacs
标签 2:xemacs
x: 下载后提取(解压)文件。 另见选项 --解压 和 --无提取 这个
存档文件,比如 .tar.gz 将在当前下载位置提取文件。
(见指令 液晶显示器:)
解包过程检查存档的内容以查看包是否是
正确形成。 事实上的存档格式是
包-N.NN.tar.gz
在存档中,所有文件都应该存储在适当的子目录下
版本信息:
包-N.NN/doc/README
包-N.NN/doc/INSTALL
包-N.NN/src/Makefile
包-N.NN/src/some-code.java
“重要:”如果存档没有所有文件的子目录,则子目录
已创建,所有项目都在其下解压缩。 中的默认子目录名称
从具有当前日期戳的存档名称构建,格式为:
包-YYYY.MMDD
如果存档名称包含看起来像版本号的内容,则创建的
目录将从它构建,而不是当前日期。
package-1.43.tar.gz => package-1.43
xx: 类似指令 x: 但“按原样”提取存档,而不检查文件的内容
档案。 如果您知道存档不包含任何子目录是可以的,
使用此选项来禁止创建人工根包-YYYY.MMDD。
xopt:rm
这个选项告诉删除任何以前的解包目录。
有时存档中的文件都是只读的,第二次解压存档
时间,一段时间后,会显示
tar: package-3.9.5/.cvsignore: 无法创建文件:
没有权限
tar: package-3.9.5/BUGS: 无法创建文件:
没有权限
这不是一个严重的错误,因为存档已经在磁盘上而 tar 没有
覆盖以前的文件。 最好通知存档维护者,
文件有错误的权限。 通常期望分布式包具有
为所有文件设置了可写标志。
错误
以下是可能的错误消息列表以及如何处理它们。 开启 -调试
将有助于了解程序如何解释配置文件或命令行
选项。 密切注意生成的输出,因为它可能会揭示一个正则表达式
对于一个网站太丢失或太紧。
ERROR {网址-这里} 坏 文件 描述符
这是“找不到文件错误”。 您写错了文件名。 双倍的
检查配置文件的行。
使用 onworks.net 服务在线使用 pwget
