我试图弄清楚tty是如何工作的1(每个元素的工作流程和职责)。我已经阅读了几篇关于它的有趣文章,但仍然有一些模糊的地方。
这是我到目前为止的理解:
/dev/ptmx
对伪终端的主控部分进行不同的系统调用。/dev/pts/[0-N]
,对应过时的串口,并在其上“附加”了一个slave伪终端。以下是我的问题:
pts
商店还有什么其他信息?Xterm 是自己更新所有字段,还是在其上ptm
添加一些“智能”?1. 我的理解基于Linus Akesson 揭秘的TTY和Andries Brouwer的Linux Kernel帖子,以及这些网站上的其他几个问题
使用LDXE和Ubuntu,我可以通过登录到虚拟控制台Ctrl+ Alt+ F1。
文字太小了。如何更改屏幕分辨率以获得更大的字体?
我最近在使用 bash 时遇到了一些奇怪的问题。在尝试简化我的脚本时,我想出了一小段代码:
$ o(){ echo | while read -r; do return 0; done; echo $?;}; o
0
$ o(){ echo | while read -r; do return 1; done; echo $?;}; o
1
Run Code Online (Sandbox Code Playgroud)
return
应该退出函数而不打印$?
,不是吗?好吧,然后我检查了我是否可以单独从管道返回:
$ echo | while read -r; do return 1; done
bash: return: can only `return' from a function or sourced script
Run Code Online (Sandbox Code Playgroud)
没有while
循环也会发生同样的情况:
$ foo(){ : | return 1; echo "This should not be printed.";}
$ foo
This should not be printed. …
Run Code Online (Sandbox Code Playgroud) 我有一个文本文件,它本身就是一个 ASCII 文件,但包含表示 utf-8 代码的八进制转义序列:
\350\207\252\345\212\250\346\216
Run Code Online (Sandbox Code Playgroud)
是否有一些程序或命令可以将此类 ASCII 文件转换为实际以 utf-8 编码的文本文件?
我偶尔会得到 tarball,其中文件名以 ISO-8859-1 或其他一些 pre-Unicode 方案编码。我的系统使用 UTF-8,所以当我使用常用选项 ( tar xvf foo.tar
)解压这些档案时,我最终会得到一个充满 mojibake 文件名的目录。
到目前为止,我一直在使用在提取convmv
文件名后将文件名转换为 UTF-8 。这有点不方便,因为我要么需要convmv
在每个受影响的文件上调用,要么将文件解压缩到一个新目录中,convmv
在整个目录上运行,然后将文件移动到我最初想要它们的位置。如果没有将此功能编码到 shell 脚本中,是否有某种方法可以将存档文件名即时转换为 UTF-8,因为它们正在解压缩?
我最近买了一台没有反斜杠/管道键的旧上网本。我已经成功地使用loadkeys
.
我想以类似的方式将SHIFT+映射CAPS LOCK到管道键,特别是不使用任何类似的东西,xkb
因为我希望所有这些都适用于我的 VT。
是否可以使用loadkeys
或其他工具来做到这一点?
当我想复制一些文件时出现此错误
我的命令:
cp -rf /sasech/xgedff/pur/liv/v15h30050-DLIV0177521/dmesa/bin/* /applis/rgedff/pur/bin
Run Code Online (Sandbox Code Playgroud)
结果:
cp: /applis/rgedff/pur/bin/../bin/lib/libtiny.a: Text file busy
...
Run Code Online (Sandbox Code Playgroud)
如何复制我的文件?
我正在尝试在 Fedora 12 上使用 Curses 将状态信息输出到 VT(按Ctrl+ Alt+可以访问的终端之一Fx)。
当我的VT(一开始我的应用程序$TERM=linux
)的箱线出来的人物,如j
,q
,k
和一些其他字符。然而,当我在终端窗口 ( $TERM=xterm
) 中启动它时,一切都按原样显示。
有人可以向我解释我需要做什么才能使 VT 输出显示为 xterm?是否有我可以从我的程序中设置的终端设置以使输出正确?
我在我的 .bashrc
export TERM=xterm-256color
Run Code Online (Sandbox Code Playgroud)
但这项事业闪烁所有彩色文本(LS --color,在vim等)在Linux控制台(Ctrl+ Alt+ F1)。
那么有没有可能识别出我在哪个终端(Linux 控制台或伪 tty),以便我可以导出具有有效值的 TERM 变量?
[编辑]
我只找到了替代解决方案:
对于 vim 用户(在 .vimrc 中)
set t_Co=256
Run Code Online (Sandbox Code Playgroud)
或用于 .Xdefaults 中的 xterm(在 xrdb -load .Xdefaults 之后)
XTerm*termName: xterm-256color
Run Code Online (Sandbox Code Playgroud)
或用于屏幕 (.screenrc)
term screen-256color
Run Code Online (Sandbox Code Playgroud) 我有一个很长的法语文本文件需要清理。非 ASCII 字符已被奇数字符组合取代。例如,以下内容:
passer de très bonnes fêtes de fin d'année。
应该变成:(作为 Unicode 文本)
passer de très bonnes fêtes de fin d'année。
我试过 sed,但没有成功。一位朋友推荐尝试 Perl。我可以很容易地用奇怪的字符序列和正确的替换字符构建一个表格。理想情况下,我希望这张表是一个独立的文件,以备将来使用。此类转换的推荐方法是什么?
我有一个类似于以下行的文件:
0
0.1
0.0002
0
0.30
Run Code Online (Sandbox Code Playgroud)
我想用单行替换0
其他类似的行0.0001
。对于后面有小数和数字的行,我不想改变它们。
我已经尝试了 的以下变体sed
,但它要么什么也不做,要么改变了所有的零,甚至是小数点后的零:
sed 's/0/x/g' file
sed 's/^0/x/g' file
sed 's/0^/x/g' file
sed 's/^0^/x/g' file
sed 's/"0"/x/g' file
sed 's/[0]/x/g' file
Run Code Online (Sandbox Code Playgroud)
似乎sed
无法处理单个0
字符。另外,replace
我的系统上没有该命令。我还可以做些什么?
我的 TeX Live 安装有一个名为的文件.texlive2015
,最初设置为drwx------T
. 我改变了它,我想把它改回来,但我无法找回“T”。我如何取回它?