小编Bol*_*wyn的帖子

SSH:执行 sudo 命令

我有一个交互式 shell 脚本,在一个地方需要 ssh 到另一台机器(基于 Ubuntu)并以 root 身份执行一些东西(用户应该输入他的密码,但远程命令应该像脚本中提到的那样运行):

# ...
ssh remote-machine 'sudo ls'
# ...
Run Code Online (Sandbox Code Playgroud)

但是,我总是收到此错误消息:

sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)

好的,这很清楚。但是我怎样才能规避这一点呢?应该发生这样的事情:

$ ssh remote-machine 'sudo ls /'
[sudo] password for user1:

/bin
/etc
/var
Run Code Online (Sandbox Code Playgroud)

ssh script sudo remote

48
推荐指数
1
解决办法
7万
查看次数

使用 aptitude 查找从某个存储库安装的软件包

我正在寻找类似于这个问题的东西:Zypper:如何显示某个存储库中的所有包?

由于我使用的是 Ubuntu,因此我需要一个基于 aptitude 的解决方案:如何从某个存储库中获取已安装软件包的列表?

repository packages aptitude

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

如何加入 Vim 中的每一行?

我想加入很多(~1000)行,但只有下一个奇数。用手我可以做

Jj
Run Code Online (Sandbox Code Playgroud)

500 次就完成了。但是,如何在一个命令中执行这两个语句 500 次?打字

500Jj
Run Code Online (Sandbox Code Playgroud)

将加入接下来的 500 行,然后向下移动一行。

例子:

我有:

a
b
c
d
e
f
g
h
Run Code Online (Sandbox Code Playgroud)

我想要:

a b
c d
e f
g h
Run Code Online (Sandbox Code Playgroud)

编辑:我尝试映射:

:map X Jj
500X
Run Code Online (Sandbox Code Playgroud)

但显然我应该再次阅读映射文档。不起作用。

vim normal-mode

31
推荐指数
3
解决办法
2万
查看次数

使用屏幕后,像less和man这样的命令不会清除屏幕

此问题相反,我希望为less. 它xterm在 Cygwin/mintty 或 Gnome 终端(两者xterm)下的我的终端中运行良好。

但是,在screen会话内部时,屏幕的清除以某种方式被禁用。我尝试了几件事,比如

screen -T xterm
Run Code Online (Sandbox Code Playgroud)

或将autonuke语句放入我的~/.screenrc. 此外,在屏幕会话内

export TERM=xterm
tset
Run Code Online (Sandbox Code Playgroud)

没有效果。所以,现在我没有想法了。任何帮助表示赞赏。

gnu-screen

15
推荐指数
1
解决办法
5609
查看次数

eCryptFS:如何挂载加密主目录的备份?

我使用 eCryptFS 来加密我的笔记本电脑的主目录。我的备份脚本将加密文件复制到服务器(连同 中的其他所有内容(home/.ecryptfs)。

如何挂载备份的加密文件?我想确认我可以做到这一点,并且一切都已就位。

我天真的尝试

mount -t ecryptfs /backup/home/.ecryptfs/boldewyn /mnt/test
Run Code Online (Sandbox Code Playgroud)

没有用,eCryptFS 想创建一个新分区。

backup mount ecryptfs

12
推荐指数
1
解决办法
1万
查看次数

我可以在覆盖现有文件之前让 scp ask 吗?

是否有可能(man scp没有透露任何信息)使 scp 具有交互性cp -i?即scp问,如果目标存在,是否可以覆盖?

如果是,它在本地和远程工作吗?

如果没有:alias就这样吧!但我希望有一个更简单的解决方案。

scp

11
推荐指数
1
解决办法
6557
查看次数

Git chmod 问题:结帐螺丝 exec 位

在 Ubuntu 和 Debian 下,当我之后尝试结帐时,最后提交的文件正在设置执行位。这很奇怪,让我发疯:

$ ls -l file
-rw-r--r-- ... file

# on branch master:
$ git commit -m 'mode is 644' file
[master 0123456] mode is 644
 1 files changed, 1 insertions(+), 1 deletions(-)
# All ok

$ git checkout dev-branch
Switched to branch 'dev-branch'
# Seemingly all ok, but file now has the exec bit set

$ git merge master
Updating 6543210..0123456
error: Your local changes to 'file' would be overwritten by merge.  Aborting.
Please, commit your …
Run Code Online (Sandbox Code Playgroud)

git chmod

10
推荐指数
1
解决办法
2万
查看次数

Lilypond:有没有办法自动裁剪纸张

Lilypond 中,纸张尺寸可以设置为 A4、A5、Letter 等。但是我只有一首短歌,我想稍后嵌入。因此必须以某种方式裁剪 Lilypond 的输出。

有没有可能让 Lilypond 自己这样做?\paper{}也许是块的一些设置?

crop paper

9
推荐指数
1
解决办法
2407
查看次数

让更少的工作像猫一样,如果只有一个充满文字的屏幕

在我的 Debian 机器上,less总是打开备用屏幕来显示内容。

如果只显示 2 或 3 行,这很烦人。我想less

  • 作为寻呼机工作,如果有超过一屏的信息

  • 并像 一样工作cat,如果没有。

显然,less-F“单屏”案例的标志:

-F 或 --quit-if-one-screen

如果整个文件可以显示在第一个屏幕上,则使 less 自动退出。

但在我的情况下,它只是再次退出,并且没有显示任何信息。它更像是cat /dev/null,因此不是很有用。

有谁知道如何实现这种less行为?

cat less pager

8
推荐指数
1
解决办法
1172
查看次数

Tar 和 gzip 放在一起,但反过来呢?

Gzip 压缩整个 tar 文件非常容易,甚至可以作为 .zip 文件中的选项实现tar。到现在为止还挺好。然而,从一个归档的角度来看,这将是更好的焦油gzip压缩单个文件。(其背后的基本原理是,如果有一个损坏的 gzip 文件,则数据丢失会减少,而不是由于 gzip 或复制错误导致整个 tarball 损坏。)

有没有人有这方面的经验?有缺点吗?是否有比这更多的可靠/经过测试的解决方案

find folder -exec gzip '{}' \;
tar cf folder.tar folder
Run Code Online (Sandbox Code Playgroud)

gzip tar archiving data-loss-prevention

7
推荐指数
2
解决办法
913
查看次数