事情起因:我们使用es作为日志搜索引擎,客户收集到的业务日志非常之大,每次查询后,返回页数较多,由于我们web界面限制每页返回150条,当客户翻到66页之后就会报错。文章目录前言二、实验1.默认生成20条数据2.默认查询3.Searchafter查询4.Searchafter二次查询总结前言报错信息如下:Elasticsearchlimitsthesearchresultto10000messages.Withapagesizeof150messages,youcanusethefirst66pages.Unabletoperformsearchquery:Elasticsearchexcep
我正在搜索配置文件夹,并尝试切换到该目录:find.-name"config"-execcd{}\;有一个匹配项,./my-applications/config,但在我尝试这个之后它说:find:`cd':Nosuchfileordirectory我做错了什么? 最佳答案 命令cd是一个内置的shell,在/bin或/usr/bin中找不到。当然,您不能将目录更改为文件,您的搜索也不限于目录。而cd命令只会影响执行的命令,不会影响执行find命令的父shell。使用:cd$(find.-nameconfig-typed|sed1q
我正在搜索配置文件夹,并尝试切换到该目录:find.-name"config"-execcd{}\;有一个匹配项,./my-applications/config,但在我尝试这个之后它说:find:`cd':Nosuchfileordirectory我做错了什么? 最佳答案 命令cd是一个内置的shell,在/bin或/usr/bin中找不到。当然,您不能将目录更改为文件,您的搜索也不限于目录。而cd命令只会影响执行的命令,不会影响执行find命令的父shell。使用:cd$(find.-nameconfig-typed|sed1q
结构如下ravas@ravas-desk-lmde/var/lib$pwd/var/libravas@ravas-desk-lmde/var/lib$ls-l|grepmysqldrwx------13mysqlmysql4096Feb1022:32mysql当我试图进入/var/lib/mysql时,我没有权限ravas@ravas-desk-lmde/var/lib$cdmysql/bash:cd:mysql/:Permissiondenied虽然我属于mysql组ravas@ravas-desk-lmde/var/lib$groupsravasravas:ravasadmdial
结构如下ravas@ravas-desk-lmde/var/lib$pwd/var/libravas@ravas-desk-lmde/var/lib$ls-l|grepmysqldrwx------13mysqlmysql4096Feb1022:32mysql当我试图进入/var/lib/mysql时,我没有权限ravas@ravas-desk-lmde/var/lib$cdmysql/bash:cd:mysql/:Permissiondenied虽然我属于mysql组ravas@ravas-desk-lmde/var/lib$groupsravasravas:ravasadmdial
在shell脚本中,我如何通过特定名称找到文件,然后导航到该目录以对其进行进一步操作?从这里我要将文件复制到另一个目录(但我已经可以做到这一点,只需将其添加到上下文中即可。) 最佳答案 你可以使用类似的东西:pax[/home/pax]>cd"$(dirname"$(find/-typef-namels|head-1)")"pax[/usr/bin]>_这将找到第一个ls常规文件,然后切换到该目录。就每一位的作用而言:查找将从/开始并向下搜索,列出所有名为ls的常规文件(-typef)(-名称ls)。您还可以将其他内容添加到find
在shell脚本中,我如何通过特定名称找到文件,然后导航到该目录以对其进行进一步操作?从这里我要将文件复制到另一个目录(但我已经可以做到这一点,只需将其添加到上下文中即可。) 最佳答案 你可以使用类似的东西:pax[/home/pax]>cd"$(dirname"$(find/-typef-namels|head-1)")"pax[/usr/bin]>_这将找到第一个ls常规文件,然后切换到该目录。就每一位的作用而言:查找将从/开始并向下搜索,列出所有名为ls的常规文件(-typef)(-名称ls)。您还可以将其他内容添加到find
假设我的主文件夹中有文件夹~/a/b,文件夹b包含名为“symlink”的“..”的符号链接(symboliclink)。然后我执行以下操作庆典:hm@mach:~$cda/b/symlinkhm@mach:~/a/b/symlink$pwd-P/home/hm/ahm@mach:~/a/b/symlink$cd..hm@mach:~/a/b$pwd-P/home/hm/a/bpwd-P打印当前工作目录,取消引用所有符号链接(symboliclink)。为什么最后是工作目录/home/hm/a/b,而不是/home/hm? 最佳答案
假设我的主文件夹中有文件夹~/a/b,文件夹b包含名为“symlink”的“..”的符号链接(symboliclink)。然后我执行以下操作庆典:hm@mach:~$cda/b/symlinkhm@mach:~/a/b/symlink$pwd-P/home/hm/ahm@mach:~/a/b/symlink$cd..hm@mach:~/a/b$pwd-P/home/hm/a/bpwd-P打印当前工作目录,取消引用所有符号链接(symboliclink)。为什么最后是工作目录/home/hm/a/b,而不是/home/hm? 最佳答案
我最近一直在复制和移动大量文件(~400,000)。我知道在Bash命令行上可以扩展的参数数量是有限制的,所以我一直在使用xargs来限制产生的数量。出于好奇,我想知道我可以使用的参数的最大数量是多少,然后我找到了thispost说它是系统相关的,我可以运行这个命令来找出:$getconfARG_MAX令我惊讶的是,我得到的答案是:2621440刚刚超过260万。正如我所说,我正在处理的文件数量比这少得多——大约400k。我绝对需要使用xargs方法来移动和复制这些文件,因为我尝试使用普通的mv*...或cp*...并出现“参数列表太长”错误。所以,mv和cp命令对我可以使用的参数数量