ssh 不允许我登录,因为帐户已锁定。我想在我的服务器上解锁用户以通过 ssh 进行公钥授权,但不启用密码登录。
我试过了:
# passwd -u username
passwd: unlocking the password would result in a passwordless account.
You should set a password with usermod -p to unlock the password of this account.
Run Code Online (Sandbox Code Playgroud)
身份验证日志条目:
Mar 28 00:00:00 vm11111 sshd[11111]: User username not allowed because account is locked
Mar 28 00:00:00 vm11111 sshd[11111]: input_userauth_request: invalid user username [preauth]
Run Code Online (Sandbox Code Playgroud) 通常我想nano
用空格替换制表符,所以我set tabstospaces
在我的.nanorc
文件中使用。有时,我想对nano
需要真正制表符的 makefile 进行快速编辑。
有没有办法动态切换tabstospaces
?大多数其他选项都有切换它们的键,但我找不到相关的东西。我也试过使用^I
(默认情况下绑定到tab
函数)来插入一个选项卡,但这尊重tabstospaces
设置。
我目前的解决方法是set tabstospaces
取出我的.nanorc
文件并添加 shell 别名:
alias nanotabs="$(which nano)"
alias nano="$(which nano) --tabstospaces"
Run Code Online (Sandbox Code Playgroud) 我想使用 bashCDPATH
指向我经常访问的目录的符号链接目录。但是,这样做:
export CDPATH="~/symlinks"
Run Code Online (Sandbox Code Playgroud)
导致cd SUBDIR
停止工作,如果./SUBDIR
和~/symlinks/SUBDIR
同时存在; CDPATH
目录优先于当前工作目录。
我尝试使用以下方法解决此问题:
export CDPATH=".:~/symlinks"
Run Code Online (Sandbox Code Playgroud)
这确实解决了优先级问题,但现在cd
到子目录总是打印其完整路径:
$ pwd
/foo/bar
$ cd baz
/foo/bar/baz
Run Code Online (Sandbox Code Playgroud)
这有点烦人。我知道我可以通过执行来抑制所有cd
输出alias cd='> /dev/null cd'
,但我确实喜欢为其他CDPATH
条目(或执行cd -
)打印的路径。有什么我可以做的更好的吗?
在 bash 交互式 shell 中输入命令时出现拼写错误的情况并不罕见。我希望能够纠正 bash 历史记录中的拼写错误,以便错误的命令不会污染它并导致我稍后意外地重新执行它。特别是,我想编辑最后一个命令。
有很多 问题 询问如何防止意外编辑bash 历史记录 。我想要相反:我想明确编辑历史记录。
根据参考问题的一些解释,我尝试这样做:
$ echo foo
Run Code Online (Sandbox Code Playgroud)
按Up,将其更改为:
$ echo foobar
Run Code Online (Sandbox Code Playgroud)
按Down,但这没有任何作用,如果我然后按Enter,它将执行修改后的命令并保留两者
echo foo
echo foobar
Run Code Online (Sandbox Code Playgroud)
在我的历史中。
我知道我可以使用 手动删除历史记录条目history -d
,但我还没有设计出一种方便使用它的好方法。我不想创建一个 shell 函数来无条件删除最后一个历史条目,因为我仍然希望能够使用它Up来加载最后一个条目,以便我可以更正它。我可以进行更正,然后删除倒数第二个历史条目,但这感觉很笨拙,而且对于长时间运行的命令来说尤其烦人,因为我要么需要记住稍后执行额外的步骤,要么需要暂时暂停执行这些步骤,然后继续。
我想要的是:
理想情况下,我希望能够做的是按Up,对之前的命令进行更正,然后按一些特殊的键绑定或向命令行添加一些魔术标记,以使其在执行时替换历史记录条目。
也可以接受的是按其他按键序列从历史记录中检索和编辑命令(类似于 Ctrl+R),该命令在执行时会覆盖历史记录条目。
删除倒数第二个历史条目的强大shell函数是可以接受的,但并不理想。
我想其他人肯定也会犯错,并且当这些命令污染他们的历史时也会同样感到恼火。其他人做什么?