我有一个赋值,需要在UNIX中使用一些系统调用,如mktime()和fnmatch(),来完成一些操作。我们只提供了手册页的名称以查找函数
现在,就作业而言,这很好。但是将来当我进行UNIX编程时,我可能不知道确切的名称(如果不先知道它的名称,我永远不会知道fnmatch的存在)
因此,问题是:如何获得所有UNIX系统函数的综合列表?我真的不在乎它是分类的还是排序的(尽管这会很好),但我希望列表中包含描述,以便可以搜索。这样,当我需要一个函数时,我可以进行一些搜索以找到潜在的候选函数,然后我可以
根据grep的手册
-l, --files-with-matches
Suppress normal output; instead print the name of each input
file from which output would normally have been printed. The
scanning will stop on the first match.
grep-l,这似乎很好,因为
kill-s SIGCHLD
上面是杀死任何僵尸进程的代码,但我的问题是:
一个僵尸进程是否有任何方式来表现自己 steenhulthin是正确的,但在它被移动之前,还是有人在这里回答它为好。在子进程终止和父进程调用其中一个wait()函数以获取其退出状态之间,存在一个僵尸进程
一个简单的例子:
/* Simple example that creates a zombie process. */
#include <stdio.h>
#include <unistd.h&g
我正在创建一个构建脚本,以便在生成.html文件后扫描这些文件,我似乎无法找到如何使其工作。以下是一个片段:
for PAGE in ${PAGES[@]}
do
echo "\t\t\t- $DIR_PRE$PAGE.html"
echo "\t\t\t- cleaning links in $DIR_PRE$PAGE.html"
php helper.php output lang=$GET+environment=prod+page=$PAGE > $SITE
我有档案
*.tar.gz
如何将其解压缩到目标目录中
gzip -dc archive.tar.gz | tar -xf - -C /destination
或者,用GNU焦油
tar xzf archive.tar.gz -C /destination
如果您使用的是Gnu版本的tar,您可以使用选项-C(或-目录,如果您喜欢长选项),以提供您选择的目标目录。目录应该存在:
mkdir foo
tar -xzf bar.tar.gz -C foo
如果您没有使用能够提取到特定目录的ta
我想使用awk获得第二个目录模式,我可以使用cut-d命令执行同样的操作,并且需要使用reverse,因为两个目录之间的空间不保持相同
这是我想要的第三种样式的字符串,用粗体标记。我可以用cut-d和rev实现这一点,但我想用awk实现它
* example_view /nas/viewstore/admin/example_view.vws
请注意,两个字符串之间的空格不同,因此我们不能使用固定值
我使用了下面的命令来执行此操作,请考虑视图设置在某处时出现的*
cleartool ls
我需要一个帮助来为下面的场景编写脚本
需要比较前一天和当前一天的文件大小如果当前文件大小下降小于前一天的20%,或者如果当前文件大小为0,则我应该触发邮件,我们如何在Unix脚本中执行此操作
-rw-r-----+ 1 599076 599076 3371531 Dec 1 08:15 engine.log
-rw-r-----+ 1 599076 599076 86949 Dec 2 08:16 engine.log
获取文件名,然后对大小使用(du-m)命令,然后相应地放入逻辑
下面我将设置从文件读取的变量:
$ replace=$(cat file.txt)
我正在尝试使用sed,如下所示
$ sed -i 's|old|'$replace'|g'
但是,我得到以下错误:
sed: -e expression #1, char 7: unterminated `s' command
注意-在我的例子中,replace字符串是从一个有如下空格和换行符的文件中读取的
file.txt
line 1
line 2
sed不能处理有新行的模式吗?可能吗?虽然可能有一些
标签: Unix
findpattern-matchingconditionalsubdirectory
我想在目录树中搜索与特定模式匹配的常规文件,例如
find -regex '.*\.\(expect\|missing\|ok\)'
这很好,但在我的应用程序中效率很低——因为如果一个目录至少包含一个匹配的文件,那么就不需要搜索它的子目录(很多、很深、文件很多),因为它们肯定不包含任何匹配项
那么,只有在父目录中找到匹配的文件时,我如何-prune子目录呢
例如,如果我有以下树:
./a/file.ok
./a/a1/
./a/a2/
./b/file.missing
./b/file.exp
我需要setpgid的另一个函数调用来调用已完成exec()调用的进程。
如果对已调用exec的子级调用setpgid,则返回错误。
是否存在任何替代功能?成功执行后,流程组只能由流程本身更改。如果子进程正在合作,从另一个进程更改它的最直接的方法是使用管道或其他进程间通信机制来请求子进程更改自己的进程组。另一种选择是附加到子进程(例如,使用ptrace、gdb或操作系统特定的mechansim),并在子进程的上下文中执行setpgid()系统调用。其他替代方案,如新的内核模块或修改内核内存,需要
我正在尝试使用以下命令加载我的守护程序应用程序launchctl load/Library/LaunchDaemons/myPlistFileName它工作正常,但仅当我的用户登录到系统时
我如何加载我的deamon应用程序,它将在没有任何用户登录系统(如windows服务)的情况下保持加载状态
命令sudo launchctl load/Library/LaunchDaemons/myPlistFileName给我一个错误->找不到要加载的内容
哪种方法是正确的
编辑:我的Plist文件
&
结果在干净的文件中。我想让他们的乳胶表格式与粘贴
那么我如何才能有一个分隔符“\t&\t”
还是有乳胶工具
按列粘贴以具有\t&\t分隔符
$ paste -d'\t\&\t' d d_powered_-2 rad
5.0 400.0&384.5
7.5 204.1&184.5
10.0 100.0&115.5
15.0 44.4&58.2
20.0 25.0&45.0
25.0 16.0&a
作为cygwin下ksh的替代品,pdksh可能是唯一的选择。但是看起来cygwin有一个bug:pdksh(5.2.14-3)支持反斜杠路径(\)
它将吞下\:
$ cd .\access
pdksh: cd: /cygdrive/e/.access - No such file or directory
在互联网上搜索后,其他平台也解决了同样的问题。但是不知道如何为cygwin解决这个问题。您必须使用正斜杠,或者将所有反斜杠加倍,或者对可能是路径名的每个字符串使用单引号。对不起,这是没办法
我目前正在使用WebSphere MQ FTE
让我们考虑下面的场景:
A是unix服务器,在/test/file.txt
此文件的文件权限为-rw-r--r--.
我想使用ant脚本(chmod任务)将此文件的权限更改为-rw-rw-rw,我应该从服务器B(windows)调用该脚本
这可能吗?您可以使用sshexec任务:
要将此作为WMQ FTE任务来执行,如果整个任务都要更改权限,您可以使用,如果您需要在传输之前或之后更改权限,则可以使用
调用或任务可以直接执行chmod,但这需要沙盒包
标签: Unix
historysegmentation-fault
有什么历史原因吗?真的有什么原因吗?还是纯属巧合?这次我失败了,所以我希望你能给我提供一些信息/答案。:) 这实际上是段冲突。段冲突——核心转储蓝调!哦!这是有道理的,我想知道为什么我没有想到它。。。那么,现在怎么会是分段错误/分段错误呢?分段冲突(触及你不应该触及的地方)会导致分段错误(你得到的错误)。因此,从维基百科的备份和评论来看,这似乎是事实。谢谢你这么快的回答。:)(离接受还有9分钟)顺便说一下:D@voithos:确认!对不起,完全忽略了。。。
标签: Unix
tardirectory-structurearchive-tar
我不想创建一个没有内部目录结构的“扁平”tarball。但是我希望顶级文件是“松散的”,而不是镜像它们最初所在的目录结构
考虑:
+ archives
|
+ data
|
+ site
|
+ file1.html
|
+ subdirectory
|
+ etc...
如果我将cd放入存档并在那里创建tar,例如:tar-czf archive.tgz
我正在尝试在unix中以电子邮件的形式发送文件内容。我使用下面的代码来执行此操作。但是当我收到电子邮件时,我看到该主题,并且“收件人”为空。你能告诉我为什么是空白的吗?另外,发件人地址如下所示admin@myhost. 是否有任何方法可以将从设置为用户定义的值
SUBJECT="Automated Security Alert"
TO="xyz@abc.com"
MESSAGE="/export/home/admin/bin/getStatus2.txt"
来自维基百科:
uniq
-c生成默认样式的输出报告,但每行前面都有一个发生次数的计数。如果指定了此选项,则如果同时存在或同时存在-u和-d选项,则将忽略它们
在我的机器上,它是把计数数字放在每一行的开头。我想要的是把它放在行的末尾,逗号之后。如何做到这一点
例如:
aa
aa
bb
cc
cc
dd
应改为:
aa,2
bb,1
cc,2
dd,1
你可以试试这样的-
awk '{a[$1]++}END{for (i in a) print i,a[i] | "sort"}' OFS=",
我想执行ANT delete target,以便删除目录中符合以下条件的所有文件:
<delete quiet="true">
<fileset dir="${java.io.tmpdir}" includes="soapirp*.log*"/>
</delete>
它仍然提示我进行确认,这是我通过运行以下命令使其工作的唯一方法:
/usr/bin/rm -f filename
然后eveyting按预期工作,我需要告诉ant使用不同版本的rm,
假设我有很多ip号码(每行2个ip号码,用空格隔开)要查看(这里有两行):
其中一个可能没有端口,因此周期数永远不一致。我只想要第一组的ip号码(不带端口),而只想要第二组的端口(不带ip号码)。所以它应该看起来像:
67.21.89.48 110
211.47.82.64 445
或者它可能看起来像这样:
67.21.89.48.110
211.47.82.64.445
cut -d'.' -f1-4,9 < file.txt
只要我知道IP和端口的位置,这并不重要
我一直在用这样
我正在尝试编写一个命令来删除超过15天的sql文件
查找部件正在工作,但rm不工作
rm -f | find -L /usr/www2/bar/htdocs/foo/rsync/httpdocs/db_backups -type f \( -name '*.sql' \) -mtime +15
它将列出我想要删除的文件列表,但不会删除它们。路径是正确的
usage: rm [-f | -i] [-dIPRrvW] file ...
unlink file
/usr/www2/b
当我试图在虚拟机中的ubuntu上安装软件时,我得到如下错误。
如果我是root用户,我可以下载任何软件。但是我现在忘记密码了。有没有办法在不卸载的情况下更新根用户的密码。请帮忙
无法打开锁文件/var/lib/dpkg/lock-open(13:权限被拒绝)
无法锁定管理目录(/var/lib/dpkg),您是root用户吗?请看一看是否有,但您需要启动到单用户模式(这是可能的,但是如果这是一个虚拟的,那么你需要访问主机。如果你没有访问主机的权限,那么我担心你运气不好:|我假设你的引导加载程序
我有一个包含大约30个子文件夹的父文件夹,每个子文件夹包含PDF、.doc、.docx和.jpg文件。我需要将所有文件合并成一个大pdf。我希望文件附加到“主pdf”中的顺序反映我当前的文件夹和文件顺序(子文件夹名称按字母顺序排列,每个子文件夹中的文件按数字排列)
我对Unix相当陌生,对此有点困惑……如果您能就如何解决此问题提供任何建议,我将不胜感激。谢谢。这里有三个问题:
遍历目录树以查找所有文档
将每个文件转换为PDF
合并PDF
对于第一部分,您可以使用find命令获取文件列表或编写目录
假设我有一些选项卡分隔的数据:
Peter 5
Joe 8
Peter 7
Peter 8
Joe 4
Laura 3
我想按照名字出现在第一列的次数(从最大到最小)对它进行排序
所以我们有彼得(3次)、乔(2次)和劳拉(1次)
它只需要按第一列排序,而不需要按第二列排序。我一直在阅读sort的文档,我认为它没有功能。有人有简单的方法吗?不性感,但适合你的例子:
awk 'NR==FNR{a[$1]++;next}{ print a[$1],$0}' fil
如何使usr文件夹中/下的所有文件/文件夹在Finder中永久可见
我知道如何从以下位置临时显示这些文件夹:
查找器中的“搜索”;输入“usr”;从“种类”菜单中选择“其他”;输入“不可见”;选择“文件可见性”;从菜单中选择“不可见项”。。。但我真的不想每次在usr-树中查找文件时都这样做
我还尝试在终端中输入以下代码:
$defaults write com.apple.finder AppleShowAllFiles True
$killall Finder
这不仅使所有文件可见,而且我似
标签: Unix
pass-by-referencesystem-calls
UNIX时间(2)系统调用,time\t时间(time\t*t),以两种方式返回当前时间:返回值和通过引用返回。这种冗余的理由是什么?为什么不直接定义它time\u t time(void)?古代历史,但它可能与两个16位int值串联模拟long的时间有关。否则,没有真正明显的理由。有趣的是,UNIX™ 第7版手册文档已过时:
名称
时间,ftime–获取日期和时间
简介
长时间(0)
长时间(tloc)
long*tloc
#包括
#包括
ftime(tp)
struct timeb*tp
说
我对unix编程非常陌生,请耐心听我说。:)
我想在两个进程之间传递数据。我打算使用命名管道,但是读到了这些“半双工”管道,它非常有趣,所以我想我会先试试
到目前为止,我对这些管道有两个问题:
我还没有弄明白如何让execlp从我的子进程运行另一个应用程序
即使可以,调试也很困难,因为我只能在父进程中设置断点
我相信这些问题是有原因的。我开始怀疑,忘记它们,只使用命名管道,这样我就可以在单独的eclipse实例中调试每个应用程序,这是否有意义
如果有任何相关信息,请告诉我。我使用的代码基本上就是
我想打印满足3个条件的城市:首都、干净和大
输入:
London is a big city
London is a capital
London is a clean city
Ohio is a big city
Sydney is a big city
Sydney is a clean city
Canberra is a capital
Canberra is a big city
Canberra is a clean city
NewYork is a big city
NewYo
子进程不会结束,它将在后台连续运行
我需要子进程连续输入的日志
process.standardoutput.rradtoend()将在子进程结束时将日志输入到文件中
但我一直需要日志
请在这方面帮助我。您可以将日志重定向到以下文件:
start-process your_executable -ArgumentList "your arguments" -RedirectStandardOutput the_path_you_want_to_put_your_log -RedirectStan
我正在阅读A.S.Tanenbaum的《现代操作系统》第三版,我来到了虚拟内存管理一章。我已经在一个零件上卡住了一段时间了,我的头都绕不过去了。要么是书中的打字错误,要么是我误解了什么
假设我们有一个具有两个级别的多级页表,其中我们将32位虚拟地址映射到物理内存帧
页表和偏移量的字段为
10 | 10 | 12
这意味着我们有一个包含1024个条目的顶级页面表,页面大小为4096字节或4KB。顶层页面表的条目0指向文本段页面表,条目1指向数据段,1023条目指向堆栈页面表
这是从书中引用的:
我想每隔5秒检查一个文件是否存在。如果确实存在,则运行下一个命令。以下是我现在正在做的事情,但它不起作用:
while {![file exist file.tcl]} {
after 5000
}
run_this_command
请提出任何建议。
谢谢如果您不做其他事情,您的代码将正常工作。
如果您在事件处理环境中(例如,弹出GUI或为TCP连接提供服务),那么您希望异步执行检查。如果我们使用一个小的帮助程序,我们可以很容易地做到这一点
proc pollUntil
我有2个文件需要根据2列合并。我尝试过使用awk,也尝试过使用u组合两列,然后使用join命令。使用join时,某些记录甚至在排序后也不匹配,因此创建了多个记录。在{print$0,a[$1,$2]}文件1文件2中使用awkawk'NR==FNR{a[$1,$2]=$3;next}($1,$2)
我可以正确地匹配文件,但当不存在匹配项时,无法使用零打印输出
文件1:
chr pos SNP#
1 124 1
1 237 2
1 356 3
2
任何人请帮助我如何将文件从Linux命令提示符复制到windows。我正在使用windows系统中的putty连接到Linux系统在开始传输之前,您应该遵循以下步骤:
为SSH访问设置Linux服务器
在Windows计算机上安装腻子
Putty GUI可用于SSH连接到Linux机箱,但对于文件传输,我们只需要一个名为PSCP的Putty工具
安装Putty后,设置Putty的路径,以便可以从DOS命令行调用PSCP
Putty是使用默认设置安装的(在C-drive中)。如果您在其他目录中安装
我在同一台主机上运行服务A和服务B。它们使用TCP环回相互连接。发送方每次发送消息时都会创建一个新的TCP连接,并立即关闭连接。由于大多数关闭的连接都处于TIME_WAIT状态,因此在QPS较高的情况下,它很快就会用完临时端口
我想知道使用unix域套接字是否解决了这个问题。它的等待状态是否与TCP相同 TIME_WAIT是一种TCP结构,旨在防止由于“半开放”连接或远程和本地方之间的连接状态不一致而导致的问题。参见p23上的[]状态图,p33周围的半开连接
对于Unix套接字,操作系统完全知道
我怀疑当SIGALRM信号被阻塞时会发生什么,它是否进入挂起状态并在解除阻塞后发送,还是丢失?SIGALRM处于挂起状态,并将在解除阻塞后立即发送
阻塞信号(SIG_块)保持挂起状态,直到:
通过解除阻止并具有默认(SIG_DFL或“未捕获”)处置或用户提供的(“捕获”)处置,如通过struct sigaction的sa_处理程序交付
已接受、被接受或接受,意味着无需进一步操作即可将其从挂起信号集中移除
通过将其配置更改为SIG_IGN(“忽略”)而丢弃。已经被忽略的信号
传统的UNIX信号通常
我一直在互联网上寻找最差拟合的算法,但我发现的是最佳拟合和第一拟合
是否有可能得到最差拟合算法
我的操作系统项目说,我必须比较SLOB分配器的first fit、best fit和West fit。但据我所知,SLOB分配器被SLAB分配器所取代。最差的匹配就是可用的最大块,因为该块大于请求的大小(如果没有块大于请求的大小,它将不返回任何内容)
在我的办公室里,我只有几台安装了WinSCP的机器可以在UNIX设备和windows之间复制文件。
我的问题是如何使用SCP命令从通过PUTTY连接的UNIX机器复制文件
我尝试了以下命令:
scp final_result.log 6696xxx@10.xxx.xxx.xxx:C:/share
但是我做不到。我得到的错误如下
ssh: connect to host 10.xxx.xxx.xxx port 22: Connection refused
我使用windows中的ipconfi
我有一个grep命令,我每天运行它,在一个巨大的日志文件中查找条目
这个命令在我们的开发环境中运行良好。但在我们的生产环境中,它输出的响应与日志文件中的条目不同
命令如下:
logentry=$(grep -m1 -oP '.*(?<=Reset\s).*' $log)
命令输出:
******Reset Counter:[Total:1849766] 1 [Insert:102] [Update:1848861] [Delete:803] [Key:0]
预期产出:
**
如何查找RPM文件属于哪个发行版(例如,RHEL、Centos或Suse)
我有一个RHEL框,我可以使用链接中提供的RPM吗?是的,您可以确定RPM的原始包源。RPM标题包含大量关于软件包的信息,包括供应商和包装商
要查看软件包上的信息,请使用rpm命令,如下所示:
rpm -q -i -p libRmath-3.2.3-4.el6.x86_64.rpm
-q表示查询RPM文件
-i打印RPM标题中包含的信息
-p将RPM指向要查询的文件。如果需要,还可以向其传递URL
对于您提到的包,以下
我正在开发一个依赖于moodle系统的web应用程序,因为它使用moodles web服务。对于我的自动化测试,我想使用docker在我的所有机器上提供预配置的moodle应用程序。因此,我创建了一个docker映像,它是从.tar.gz文件导入的
但是,从此映像创建新容器实例的行为不一致。有时容器启动正确,一切正常。但是,有时容器启动,但无法访问moodle网站。如果我使用docker exec-it bash将bash连接到容器,我会看到apache正在运行。错误日志不显示任何可能与此问题相
我必须替换所有xml文件中的以下值,以便
tcp://pondevpms1.fm.rbsgrp.net:6033,pondevpms2.fm.rbsgrp.net:6033
需要替换的值如下所示
tcp://pondevpms1:3063
因此,我在包含所有xml的目录中启动了下面的命令
sed -i 's/tcp://pondevpms1.fm.rbsgrp.net:6033,pondevpms2.fm.rbsgrp.net:6033/tcp://pondevpms1:6063 /g' *
我在Unix服务器上有一个shell脚本,其中包含sqlplus命令以执行一些验证。我可以使用putty运行脚本并查看所需结果。在Unix服务器上,我在.bash_概要文件中设置了Oracle路径和库路径。所以当我开始putty时,它会被加载,并且可以理解sqlplus命令
现在的挑战是
当我从Jenkins(Windows节点)调用该shell脚本时,我得到错误“sqlplus命令未找到”。在这里,我首先调用.bash_概要文件,然后调用包含sqlplus命令的shell脚本
请提供帮助。在J
我今天大部分时间都在解决这个问题,因为我是个新手。
我们已经看过很多例子,但仍然得到了不想要的结果。
文件的一个片段现在是这样的-
文件
它需要看起来像这样
期望输出
我从删除不必要的文件开始。
然而,当我试图操纵右边的列时,我得到了一个满是数字的屏幕
我一直在努力消除空白,我很确定我已经在这个网站上尝试了所有方法:
谢谢 要从文件中删除额外的空白,可以使用以下简单方法和sed命令:
sed -ri 's/\s{2,}/ /g' testfile
-r选项允许在替换中使用regexp表达式
正在尝试在一个NOHUP命令中运行所有sql脚本。下面是我的代码。但是,基于以下情况,它没有在nohup模式下运行。也没有错误。如何在一个NOHUP命令中运行以下所有命令
nohup sqlplus -S /NOLOG << %EOF% > engine_error.log
WHENEVER SQLERROR EXIT 1;
@$Level2/passFile server05
@engine_check.sql $stroke1 $bore1
@engine_start.s
我需要根据一个模式将一个巨大的文件(大约400万行)拆分成子文件
我总是使用awk来完成这项工作,并且在文件中工作得非常完美,直到大约十万行。大于该值的文件将返回以下错误:
awk:无法为输出打开“文件名”(打开的文件太多)
下面是我正在使用的命令行:
awk '{OFS="\t"; print $1,$2,$3,$4,$12 > $10"_"$8.txt"}' mybigfile.txt
在$10中,我需要分成大约四五千种不同的模式
我怎样才能克服这个错误?我应该在哪里插入close
我发现我可以使用qsh对IBMi(as400)对象运行unix命令。
我想使用IBM I qsh中的ls将对象列表流式传输到ifs上的文件中。这是可行的,但输出似乎在EBCDIC中,可读性不强。有没有办法转换成ASCII码
ls -ails /QSYS.LIB/ERP.LIB > all_ERP_files.txt
您是正确的,只需在qsh内重定向ls的输出即可获得EBCDIC。但您可以通过iconv管道将输出转换为utf-8,如下所示:
ls -ails /QSYS.LIB/ER
我从informix数据库导出中得到了一个文件.sql文件。
以下是文件的一小部分(我稍微更改了数据以使其匿名):
我需要从这个文件中将table00100.unl文件命名为原始表名。所以我需要这样的输出:
中压表00100.unl表1
我已经设法用两个文件来解决这个问题,中间有一点awk和sed,但是如果没有中间的临时文件,这不是更容易实现吗?我的代码示例:
awk '{for(i=1;i<=NF;i++) {if ($i=="unload") {print $(i+4)} else {
我正在尝试使用socat将流量从UDP 162重定向到10162端口。我可以通过以下方法来实现:
sudo socat UDP4-RECVFROM:162,fork UDP4-SENDTO:localhost:10162
然后,我将从主机dummy.foo向端口UDP 162发送一个SNMP陷阱。问题在于UDP数据报如下所示:
如何“保留”发送方IP地址(dummy.foo)而不是显示环回接口(127.0.0.1)
谢谢 这并不能回答您的问题,但它与SNMP问题有关,因为其他SO站点上的ma
我正在尝试改编以下片段:
echo '{"a":{"value":"b"}, "c":{"value":"d"}}' \
| jq -r '. as $in | keys[] | [$in[.].value | tostring + " 1"] | @tsv'
b 1
d 1
要输出:
b 1
b 2
d 1
d 2
以下自适应产生所需的输出:
echo '{"a":{"value":"b"}, "c":{"value":"d"}}' |
jq -r '
def addi
很抱歉,如果这个问题很容易回答,但我已经尝试了几种不同的方法,如何使它在这一点上没有任何效果
我必须使用AWK进行一个类项目,并且有一个大的文本文件,其中包含世界上所有国家每年的GDP。它看起来像这样:
CountryYearGDP
我希望它看起来更像:
Country Year GDP
然而,由于一些国家的名称很长,并且空格用作分隔符,数据列$1、$2、$3可能包含我在某些条目中查找的所有内容,但在其他条目中$1、$2、$3可能仍然是国家名称,GDP为$7
所以我的问题是,什么是确保一个国
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 222 页