小编Ema*_*erg的帖子

/etc/rc.local 的用途和典型用法

标题如下所示:

#!/bin/sh -e
#
# rc.local - executed at the end of each multiuser runlevel
#
# Make sure that the script will "exit 0" on success or any other
# value on error.
Run Code Online (Sandbox Code Playgroud)

这个文件是什么原因(内容不多),一般都放什么命令?什么是“多用户运行级别”?(我猜rc是“运行命令”?)

startup debian configuration

87
推荐指数
3
解决办法
15万
查看次数

通过将字符串放入 tty 来构造命令

我设法做到了

echo -n "命令" > /dev/tty1

字母出现,光标移动,但它们是“幽灵”——如果你点击Enter,没有任何反应(它们不在标准输入中)。

编辑:

在下面屏幕截图的中间,你明白为什么我看到了这个的使用。(带有红色标题的行,就在带有黄色标题的行的正下方。)就像现在一样,您并没有真正“编辑”注释文本;你只是被要求写一个新的文本,它将替换你正在(不是真的)编辑的笔记的文本。因此,我认为可以通过简单地将旧文本粘贴到 tty 中来补救:如果用户点击 Enter,则不会进行任何修改。(该程序在 Perl/MySQL 中,但我认为寻求通用解决方案比“我如何在 Perl 中执行此操作”更有趣。)

例子

编辑2:

这是 Perl 代码,它使用下面的 C 代码(完全按预期工作),以及一个新的屏幕截图——希望这能澄清毫无疑问的事情:) 再次查看屏幕截图的中间,在那里进行了编辑到注释文本 - 这一次,旧文本在那里,例如,如果您只想修正错字,则不必重新键入整个注释文本。

my $edit_note_text = $edit_note_data[2];
print BOLD, RED, " new text: ", RESET;
system("writevt /dev/tty \"$edit_note_text\"");
my $new_text = <$in>;
$new_text = fix_input($new_text);
my $set_text = "UPDATE notes SET note = \"$new_text\" WHERE id = $edit_note_id";
$db->do($set_text);
Run Code Online (Sandbox Code Playgroud)

Better_example

io tty stdin

17
推荐指数
4
解决办法
7963
查看次数

urxvt:只滚动一行

我可以使用Shift+ PageUp(或PageDown)滚动一大块输出,但是有没有办法只上下滚动一行?通常,您希望阅读小到可以放在一个屏幕中的内容,但是滚动太费力了,无论如何都不可能在一个屏幕内获得整个文本块!

urxvt

14
推荐指数
1
解决办法
2623
查看次数

手动查找并安装 man 文件

我似乎缺少一些手册页,特别是 gcc 和 g++。我指定该部分无济于事。whereis没有列出这两个的手册页,所以我认为它们根本不存在。

使用谷歌我得到了很多,例如:http : //linux.die.net/man/1/g++(虽然似乎是普通的 HTML...还是手册页标记?)

我认为这将是学习如何手动替换它们的好机会。我想我正在寻找 gcc.1.gz 文件?

我是从 GNU 或 Debian 获得它,还是可以以某种方式自动化?在这些文件中投入了多少工作——如果我得到一个,它可能是 99% 正确的还是它们真的随着时间/架构的不同而有很大不同?

man debian gcc roff

13
推荐指数
2
解决办法
8767
查看次数

urxvt:如何滚动终端输出/隐藏鼠标指针

两件事情,我在想念urxvtxterm是:

  1. 你如何用键盘上下滚动?在xterm我使用 Shift + Page Up(或 Down),但这不起作用。

  2. 一个很酷的xterm功能是,当您键入时,鼠标指针变得不可见。无论如何要把它放进去urxvt

rxvt

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

如何从 .t​​mux.conf 运行 shell 命令

如何.tmux.conf在 tmux 启动时从或以其他方式自动运行 shell 命令,而不必点击任何其他命令?

我如何创建别名、函数或脚本,例如

tmuxirc -> tmux + irssi

shell tmux

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

使用本地参数值执行远程脚本

我怎样才能自动化这个任务?

1) 你在 A. 2) 你 ssh 进入 B。 3) 你在 B 运行一个脚本,它需要一个在 A 已知的参数。

首先,我想也许我可以在打开与 ssh 的连接时发送该值。然后,可能更简单,在 1) 和 2) 之间,将整个脚本 scp 到 B 处的相同位置(替换旧的)。但是,我如何在 B 处执行脚本?(也就是如何自动化最后一步。当然,我可以在ssh之后手动运行它。)

另一个想法,也许完全放弃 ssh - 我在 B 有一个网页,那么脚本是否可以通过“幕后”网络界面以某种方式调用?

或者你会以完全不同的方式来做吗?

scripting ssh scp web

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

xterm 中的 Emacs 命令

我发现我曾经gnome-terminalxterm. 在某些情况下,我得到了奇怪的字符喜欢ÿæâ代替。您知道如何启用快捷方式(甚至可以一一设置,因为它们不是很多)?

bash keyboard-shortcuts emacs xterm

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

二进制文件之谜

这是关于直接来自编译器的文件,比如 g++ 和-o(outfile) 标志。

如果它们是二进制的,它们不应该只是一堆 0 和 1 吗?

当你捕捉它们时,你会得到难以理解的输出,但也会得到完整的单词。

如果你提交它们,你会立即得到答案——似乎没有计算。二进制文件实际上是否具有包含此类信息的标题?

我认为二进制可执行文件只是刚刚编译的程序,只是您的 CPU 可以立即明确理解的机器指令形式。如果是这样,那指令集不就是位模式吗?但是,二进制文件中的所有其他内容是什么?你如何显示位?

另外,如果您以某种方式获得了处理器的手册,您能否手动编写一个二进制文件,一次一个机器指令?这将是非常低效的,但如果你让它甚至为“Hello World!”工作,那将是非常有趣的。演示。

compiling binary

7
推荐指数
3
解决办法
2349
查看次数

手册页的 Emacs 模式

我正在翻译手册页,并且在使用 Emacs 时遇到了一些问题。

  1. 你如何指定语言?(对于 man,man -Lsv shutdown对于瑞典语“sv”子目录,如果可用的话,它看起来像这样。)

  2. 在 Emacs man 模式下,你可以使用NP根据标题向前或向后跳转(在 roff 中,它们是这样的:.SH)。但是,如果标题包含三个特殊瑞典字符中的一个(或多个):Å、Ä 和 Ö,这将不起作用。我是否逃脱它们并不重要(像这样\(:A)。(但它们被正确显示。)

  3. 要查看项目中的工作,我使用例如M-x man RET ./ls.1(即绝对路径)。这很棒,因为它与查看“真实”联机帮助页(位于 /usr/share/man 中的那些)的 man 模式相同。只是,当我对文档进行一些更改时,如何刷新联机帮助页?revert-buffer说缓冲区与文件无关(不是真的,但好吧,我明白了);M-x load-file RET似乎失去了对文件的跟踪;……想法?

顺便说一句,翻译很有趣!

编辑:(见第一条评论) 桌子

man emacs roff

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

标签 统计

debian ×2

emacs ×2

man ×2

roff ×2

bash ×1

binary ×1

compiling ×1

configuration ×1

gcc ×1

io ×1

keyboard-shortcuts ×1

rxvt ×1

scp ×1

scripting ×1

shell ×1

ssh ×1

startup ×1

stdin ×1

tmux ×1

tty ×1

urxvt ×1

web ×1

xterm ×1