我正在尝试向运行带有自签名 SSL 证书的开发站点的本地开发服务器之一发出 curl 请求。我正在从命令行使用 curl。
我看到一些博客文章提到您可以添加到证书列表或指定一个特定的(自签名)证书为有效,但是是否有一种“不验证”ssl 证书的通用方式 - 就像--no-check-certificate
那个wget有吗?
我刚刚用 Ubuntu Oneiric 11.10 设置了一台新机器,然后运行
apt-get update
apt-get upgrade
apt-get install git
Run Code Online (Sandbox Code Playgroud)
现在如果我运行git --version
它告诉我我有git version 1.7.5.4
但在我的本地机器上我有更新的git version 1.7.9.2
我知道我可以从源代码安装以获得最新版本,但我认为尽可能多地使用包管理器来保持一切标准化是一个好主意。
那么是否可以使用apt-get
来获取更新版本的git
,正确的方法是什么?
有一些命令可以过滤或作用于输入,然后将其作为输出传递,我认为通常是stdout
- 但有些命令只会接受stdin
并执行它们对它所做的任何事情,并且不输出任何内容。
我最熟悉 OS X,因此我立即想到了两个pbcopy
和pbpaste
- 它们是访问系统剪贴板的方法。
无论如何,我知道如果我想使用 stdout 并将输出输出到两个stdout
文件和一个文件,那么我可以使用该tee
命令。我对 有一点了解xargs
,但我认为这不是我要找的。
我想知道如何拆分stdout
以在两个(或多个)命令之间切换。例如:
cat file.txt | stdout-split -c1 pbcopy -c2 grep -i errors
Run Code Online (Sandbox Code Playgroud)
可能有一个比那个更好的例子,但我真的很想知道如何将标准输出发送到一个不中继它的命令,同时避免stdout
被“静音” - 我不是问如何cat
归档和grep
它的一部分并将其复制到剪贴板 - 具体命令并不那么重要。
另外 - 我不是在问如何将它发送到文件,而且stdout
- 这可能是一个“重复”的问题(抱歉),但我做了一些查找,只能找到类似的询问如何在标准输出和文件之间拆分的问题- 这些问题的答案似乎是tee
,我认为这对我不起作用。
最后,你可能会问“为什么不让 pbcopy 成为管道链中的最后一件事?” 我的回答是 1) 如果我想使用它并且仍然在控制台中看到输出怎么办?2)如果我想使用两个stdout
在处理输入后不输出的命令怎么办?
哦,还有一件事 - 我意识到我可以使用tee
一个命名管道(mkfifo
),但我希望有一种方法可以简洁地内联完成,无需事先设置:)
我知道我可以vim
通过执行类似的操作来打开多个文件vim 2011-12*.log
,但是如何在文件之间切换并一次关闭一个文件?另外,我如何知道我正在编辑的当前文件的文件名?
我知道我可以使用类似cat test.txt | pr -w 80
将行换行至 80 个字符宽的方法,但这会在打印行的顶部和底部放置大量空间,并且在某些系统上无法正常工作
强制以特定宽度换行的长行文本文件的最佳方法是什么?
如果你能防止打断的话,加分。
我想为日志文件名中包含当前小时的 cron 脚本创建一个日志文件。这是我尝试使用的命令:
0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在运行时收到此消息:
/bin/sh: -c: line 0: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)
我曾尝试date
以各种方式逃避该部分,但运气不佳。是否可以在 crontab 文件中内嵌进行此操作,或者我是否需要创建一个 shell 脚本来执行此操作?
我有一个运行时区设置为的服务器UTC
。这似乎是一种很好的做法(如果我错了,请纠正我)。
无论如何,为了scp
文件,我连接到的其中一台服务器正在运行EDT
并存储我需要以格式复制的文件/path/to/filename/data20120913
我看着尝试rsync
使用类似 find-mtime -1
标志的文件来处理最后一天修改的文件,但我没有任何运气。
我不介意只scp
用来复制当天的文件,但截至目前,有一个 4 小时的窗口,在date +%Y%m%d
该窗口中运行将在每个服务器上提供不同的一天,这让我有点烦恼。
仔细man date
查看,我看到我可以将时间输出为UTC
,但我没有看到将其输出为另一个时区的方法,例如EDT
我想我也可以使用类似GNU
日期扩展的东西date -d 20100909 +%s
来从纪元以秒为单位获取日期,应用手动4 * 60 * 60
秒计算,然后查看将其渲染为日期 - 但是当夏令时开始时,它仍然需要一个小时.
是否有一种更简单的方法可以在设置YYYYMMDD
为EDT
的服务器上以格式输出日期UTC
?
如何使用现有环境变量运行 cron 命令?
如果我在 shell 提示符下,我可以输入echo $ORACLE_HOME
并获取路径。这是在我的~/.profile
. 但是,似乎~/.profile
没有从 cron 脚本加载,因此我的脚本失败,因为$ORACLE_HOME
未设置变量。
在这个问题中,作者提到创建一个~/.cronfile
配置文件,为 cron 设置变量,然后他做了一个解决方法,将他的所有 cron 命令加载到他保存在他~/Cron
目录中的脚本中。像~/.cronfile
这样的文件听起来是个好主意,但其余的答案似乎有点麻烦,我希望有人能告诉我一种更简单的方法来获得相同的结果。
我想在我的脚本开始时我可以添加类似的东西,source ~/.profile
但这似乎是多余的。
那么我怎样才能让我的 cron 脚本从我的交互式 shell 配置文件中加载变量呢?
很多时候,我会通过 ssh 进入一个新客户端的机器来更改他们的网站配置,而无需对服务器配置了解太多。我已经看到了一些获取有关您正在使用的系统的信息的方法,但是是否有一些标准命令可以告诉我我使用的是哪个版本的 Unix/Linux 以及基本系统信息(例如它是否是 64 位系统)?与否),诸如此类?
基本上,如果你刚刚登录到一个盒子并且对它一无所知,你会检查什么东西,你会使用什么命令来做到这一点?
我在 Ubuntu 上使用这个命令,但它在端口 8080 上启动,我没有另一台服务器在运行,所以我希望它在端口 80 上启动。我看到了可以设置 bash 脚本来执行类似操作的方法这个,但是没有命令行标志或更简单的东西来指定端口吗?
python -m SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)