Articles of bash

curl GET文件列表限制为1000

存储服务器帐户中有超过1000个文件,当使用curl显示文件列表时,输出仅限于前1000个。 只是为了testing,我已经删除了一个在GET列表中显示的文件,然后再次进行了一次GET,这一次curl确实显示了1000个文件和一个来自完整列表的附加文件。 有没有办法告诉curl显示完整列表,而不是限制到1000? 编辑: curl -X GET -u <user>:<passwd> <url-full-path-of-container> curl版本:curl 7.29.0(x86_64-redhat-linux-gnu) 我不确定问题是否在服务器端,因为我没有真正的完整权限来检查..也可以在服务器端吗?

查找/重命名命令不抓住我想要它find的文件名

我在我的主目录中有这两个文件 – hello_newest.txt goodbye_newest.txt 我想重命名它们,以便文件名的“最新”部分被完全删除,以便他们能够回忆hello.txt和hello.txt 这是我正在运行的命令 – find -name "*.txt" -exec rename 's/newest//i' {} ";" 它没有抛出一个错误,或者在我运行这个命令后对文件做任何事情。 我已经检查了http://www.computerhope.com/unix/rename.htm ,它看起来应该基于这些例子中的一些工作。 我确定这很简单,但是我错过了什么?

无法进入以重音字符命名的目录

我在CentOS 7 Droplet上有以下文件夹。 他们是通过法国的操作系统的FTP添加的。 发展1 发展2 发展3 当我做ls时,重音字符(é)被replace成一个问号。 我无法进入这些文件夹。 我已经尝试了几个从networking上的build议,没有运气。 包含: cd Evénement\ 1 cd "Evénement 1" cd "Ev?nement 1" (copying the exact output from ls) cd Ev\nement\ 1 cd Ev\énement\ 1 cd Ev\351énement\ 1 (because ls -b outputs them like that) 这是locale的输出。 LANG=en_CA.UTF-8 LC_CTYPE="en_CA.UTF-8" LC_NUMERIC="en_CA.UTF-8" LC_TIME="en_CA.UTF-8" LC_COLLATE="en_CA.UTF-8" LC_MONETARY="en_CA.UTF-8" LC_MESSAGES="en_CA.UTF-8" LC_PAPER="en_CA.UTF-8" LC_NAME="en_CA.UTF-8" LC_ADDRESS="en_CA.UTF-8" LC_TELEPHONE="en_CA.UTF-8" LC_MEASUREMENT="en_CA.UTF-8" […]

在bash中读取时跳过一个variables

我正在使用一个文件读取一些variables while read abc; do (something) done < filename 是否有一个优雅的方式来跳过一个variables(读取一个空值),即如果我想a = 1 b = c = 3,我应该在文件中写什么? 现在我正在放 1 "" 3 然后使用 b = $(echo $ b | tr -d \“) 但这是相当繁琐的,恕我直言 有任何想法吗?

通过FTPreplace整个网站

我有一套定期(大约每天一次)为具有相关文件夹结构的站点生成一组静态HTML页面的工具。 然后,我需要将这些文件放到生产服务器上,我的问题是服务器运行IIS(6我认为),我只有普通的FTP访问。 我需要一种方法来自动化发布新网站的过程,并且每次发布文件时都需要全部更换这些文件,例如删除整个文件夹和内容,然后放置新的文件。 我的源服务器是一个Ubuntu机器,我已经完全控制了这一点,我已经尝试使用CurlFTpFS,但它似乎太慢,我想要做什么,并locking。

如何识别和从apache web服务器中删除未使用的文件/目录

新客户。 旧服务器。 未使用的文件和目录比比皆是。 5个特定的核心目录(连接到不同的域)。 10-20个可能无关的目录w /文件与核心目录在同一级别。 创build一些在每个核心目录中运行并执行以下操作: 将几个月的原始日志文件缩减为URI的脚本,收集目录列表,循环显示目录列表,并在精简日志文件中列出没有相应外观的所有内容。 这样的事情已经存在了吗? 完成最终目标的更好方法? build议的语言/工具来build立? 老实说,如果做得对,我正在寻找从哪里开始。

如何监视Linux中几个文件的变化?

我想监视Linux中几个日志文件的变化。 基本上,我想看看哪个日志文件从一组20个文件中更新。 我已经检查了multitail工具,但是它的UI最多可以处理5个文件。 任何帮助表示赞赏。

Bash脚本来模拟SMTP邮件收据

我将如何创build一个模拟SMTP邮件接收的Bash脚本,然后将结果放入Maildir格式的目录(以便Evolution邮件阅读器可以读取它)? 我只是觉得对于PHP开发人员来说这将是一件很酷的事情,以便他们能够testingSMTP外发邮件,而不必连接到真正的邮件服务器,或者对复杂的Linux邮件configuration感到沮丧。 注 – 我不感兴趣的典型SMTP发送邮件发送CLI的东西,任何人都可以使用telnet命令。 相反,我对实际从PHP的mail()命令接收STMP电子邮件连接的Bash脚本感兴趣,并将其处理成Maildir格式的目录。

检查特定Debian软件包列表的更新

设置 我运行一个Debian Squeeze主机,用来构build一个多语言项目(python,java,php …),并自动生成自定义软件包(debian和RPM)(通过jenkins) 问题 这些Debian软件包的目标分布是Etch,Lenny和Squeeze。 但是我们的项目有一些本地依赖,只能通过DebianRelease + 1仓库(即Lenny + 1 == Squeeze , Squeeze + 1 == Wheezy )。 例如,我们需要Lenny的Squeeze的jetty包,以及挤压的Wheezy的cyrus-imapd-2.4包。 一些额外的信息: 有些软件包,我们可以通过将DebianRelease + 1软件包镜像到我们自己的软件仓库来简单地'手动'回溯。 例如,Squeeze的jetty包在Lenny上运行良好,因为它不需要额外的依赖关系 但是我们确实需要重build一些包。 例如,Wheezy的cyrus-imapd-2.4在Squeeze上有很多不满意的依赖。 所以我们需要在Squeeze中重build它,然后把它上传到我们的回购站。 这个问题 我需要有一个简单的方法来知道他们是否有任何更新这些额外的软件包(“正常”和“安全”更新)。 我可以编写一个简单的脚本,每周运行一次,从文件中获取一些参数,并生成一个更新报告。 假设文件如下所示: jetty:squeeze cyrus-imapd-2.4:wheezy 脚本应该像普通用户一样运行,不要搞乱系统aptconfiguration,并发出相应的命令来生成报告。 Debian是否有一些内置的apt-*命令/选项专用于我可以用来编写这个脚本的那种问题? 如果没有,有人可以想到另一个干净的解决scheme,以实现我所需要的?

当我按Ctrl + C时,如何杀死并等待后台进程在shell脚本中完成?

我试图设置一个shell脚本,以便它运行后台进程,当我按Ctrl + C shell脚本,它杀死了孩子,然后退出。 我设法得到的最好的是这个。 看起来在等待发生之前kill 0 -INT也会杀死脚本,所以shell脚本在孩子完成之前死亡。 关于如何让这个shell脚本发送INT后等待孩子死亡的任何想法? #!/bin/bash trap 'killall' INT killall() { echo **** Shutting down… **** kill 0 -INT wait # Why doesn't this wait?? echo DONE } process1 & process2 & process3 & cat # wait forever