问题列表 - 第3页

在多个终端窗口中保留 bash 历史记录

我一直有不止一个终端打开。从两个到十个,做各种各样的点点滴滴。现在假设我重新启动并打开另一组终端。有些人记得某些事情,有些人忘记了。

我想要一段历史:

  • 记住每个终端的一切
  • 可以从每个终端立即访问(例如,如果我ls在一个终端,切换到另一个已经运行的终端,然后按下,ls显示)
  • 如果命令前面有空格,不要忘记命令。

我能做些什么让 bash 更像那样工作?

bash command-history

633
推荐指数
14
解决办法
23万
查看次数

如何在一个终端上切换用户?

我想以不同的用户身份登录而不退出当前用户(在同一终端上)。我怎么做?

users login

630
推荐指数
6
解决办法
264万
查看次数

手册页中的数字是什么意思?

因此,例如,当我输入时,man ls我看到LS(1). 但是,如果我输入man apachectl我会看到APACHECTL(8),如果我输入man cd我最终会看到cd(n).

我想知道括号中数字的意义是什么(如果有的话)。

man

622
推荐指数
8
解决办法
17万
查看次数

压缩目录中的所有文件?

有没有办法使用zip命令压缩给定目录中的所有文件?我听说过使用*.*,但我希望它也适用于无扩展名的文件。

command-line zip wildcards

617
推荐指数
3
解决办法
169万
查看次数

为什么我仍然收到带有公钥身份验证的 ssh 的密码提示?

我正在使用我在这里找到的 URL:

http://web.archive.org/web/20160404025901/http://jaybyjayfresh.com/2009/02/04/logging-in-without-a-password-certificates-ssh/

我的 ssh 客户端是 Ubuntu 64 位 11.10 桌面,我的服务器是 Centos 6.2 64 位。我已按照指示进行操作。我仍然在 ssh 上收到密码提示。

我不知道接下来要做什么。

ssh key-authentication

597
推荐指数
17
解决办法
99万
查看次数

在脚本中使用“${a:-b}”进行变量赋值

我一直在看其他人写的一些脚本(特别是 Red Hat),他们的很多变量都是使用以下符号分配的 VARIABLE1="${VARIABLE1:-some_val}" 或一些扩展其他变量 VARIABLE2="${VARIABLE2:-`echo $VARIABLE1`}"

使用这种表示法而不是直接声明值有什么意义(例如, VARIABLE1=some_val)有什么意义?

这种表示法是否有好处或可以防止可能出现的错误?

是否:-有特定的含义在这方面?

scripting bash shell-script variable

593
推荐指数
3
解决办法
44万
查看次数

Linux 上的 /usr/bin 与 /usr/local/bin

为什么在 Linux 中有这么多地方可以放置二进制文件?至少有这五种:

  1. /bin/
  2. /sbin/
  3. /usr/bin/
  4. /usr/local/bin/
  5. /usr/local/sbin/

在我的办公信箱上,我没有其中一些的写权限。

什么类型的二进制文件进入这些bins 中的哪一个?

filesystems binary

589
推荐指数
5
解决办法
16万
查看次数

为什么最好使用“#!/usr/bin/env NAME”而不是“#!/path/to/NAME”作为我的shebang?

我注意到我从其他人那里获得的一些脚本有 shebang#!/path/to/NAME而其他人(使用相同的工具,NAME)有 shebang #!/usr/bin/env NAME

两者似乎都可以正常工作。在教程中(例如在 Python 上),似乎有人建议后者 shebang 更好。但是,我不太明白为什么会这样。

我意识到,为了使用后一个 shebang,NAME 必须在 PATH 中,而第一个 shebang 没有这个限制。

此外,(对我而言)第一个似乎是更好的shebang,因为它精确地指定了NAME 所在的位置。因此,在这种情况下,如果 NAME 有多个版本(例如,/usr/bin/NAME、/usr/local/bin/NAME),第一种情况指定使用哪个。

我的问题是为什么第一个shebang比第二个更受欢迎?

shell-script shebang

588
推荐指数
10
解决办法
25万
查看次数

curl 是否有像 wget 这样的 --no-check-certificate 选项?

我正在尝试向运行带有自签名 SSL 证书的开发站点的本地开发服务器之一发出 curl 请求。我正在从命令行使用 curl。

我看到一些博客文章提到您可以添加到证书列表或指定一个特定的(自签名)证书为有效,但是是否有一种“不验证”ssl 证书的通用方式 - 就像--no-check-certificate那个wget有吗?

wget curl

573
推荐指数
4
解决办法
82万
查看次数

永远每 x 秒重复一次 Unix 命令

有一个内置的 Unix 命令,repeat它的第一个参数是重复命令的次数,其中命令(带有任何参数)由 的其余参数指定repeat

例如,

% repeat 100 echo "I will not automate this punishment."
Run Code Online (Sandbox Code Playgroud)

将回显给定的字符串 100 次,然后停止。

我想要一个类似的命令——让我们称之为forever——它的工作原理类似,除了第一个参数是重复之间暂停的秒数,它会永远重复。例如,

% forever 5 echo "This will get echoed every 5 seconds forever and ever."
Run Code Online (Sandbox Code Playgroud)

我想我会在写之前问这样的事情是否存在。我知道它就像一个 2 行的 Perl 或 Python 脚本,但也许有更标准的方法来做到这一点。如果没有,请随时用您喜欢的脚本语言发布解决方案。

PS:也许更好的方法是将repeat重复次数(-1 表示无穷大)和重复之间的睡眠秒数进行概括。上面的例子将变成:

% repeat 100 0 echo "I will not automate this punishment."
% repeat -1 5 echo "This will get echoed every 5 seconds forever."
Run Code Online (Sandbox Code Playgroud)

command-line scripting

564
推荐指数
9
解决办法
60万
查看次数