相关疑难解决方法(0)

终端 vs bash?

我在 Mac 上,但我认为这通常适用于 Unix。

我正在学习 shell 脚本,但我似乎缺少一些东西。当我在普通终端中时,我可以使用诸如for循环之类的脚本语法与命令结合使用来做事。

但是....bash为shell脚本打开一个解释器。

这是我感到困惑的地方,因为终端不是已经是 shell 脚本的解释器,正如脚本在提供给 stdin 时可以工作的事实所证明的那样?

额外的问题:它bashbash -i, 根据man“开始交互式会话”有何不同……这不是您bash自己输入时会发生的情况吗?在我看来,这与首先在普通终端中没有什么不同......

shell bash terminal

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

`/dev/console` 有什么用?

这个Linux 的回答: /dev/console 、 /dev/tty 和 /dev/tty0 之间的区别

文档

/dev/tty      Current TTY device
/dev/console  System console
/dev/tty0     Current virtual console
Run Code Online (Sandbox Code Playgroud)

在过去的美好时光/dev/console是系统管理员控制台。TTY 是用户连接到服务器的串行设备。现在 /dev/console/dev/tty0代表当前的显示通常是一样的。例如,您可以通过添加 console=ttyS0grub.conf. 之后,您/dev/tty0是监视器,并且/dev/console/dev/ttyS0.

通过“系统控制台”,/dev/console就像是一个文本物理终端的设备文件,就像/dev/tty{1..63}是虚拟控制台的设备文件。

通过“/dev/console/dev/tty0代表当前显示和通常是相同的”,/dev/console在我看来它也可以是虚拟控制台的设备文件。/dev/console似乎更像/dev/tty0/dev/tty{1..63}(/dev/tty0是当前活动的虚拟控制台,可以是 中的任何一个/dev/tty{1..63})。

什么是/dev/console?它是干什么用的?

/dev/console玩了Linux内核相同作用/dev/tty的过程?(/dev/tty …

linux ubuntu tty console pts

16
推荐指数
2
解决办法
8338
查看次数

Posix 是否需要任何设备?

Posix 是否需要任何设备?例如,/dev/urandom,/dev/zero/dev/null?

我怀疑不是因为非 *nix 操作系统,而是想要求完整性。

devices posix

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

从它的 tty 文件中查找设备?

这是来自我的 Ubuntu

$ ls /dev/*tty*
/dev/tty    /dev/tty17  /dev/tty26  /dev/tty35  /dev/tty44  /dev/tty53  /dev/tty62      /dev/ttyS12  /dev/ttyS21  /dev/ttyS30
/dev/tty0   /dev/tty18  /dev/tty27  /dev/tty36  /dev/tty45  /dev/tty54  /dev/tty63      /dev/ttyS13  /dev/ttyS22  /dev/ttyS31
/dev/tty1   /dev/tty19  /dev/tty28  /dev/tty37  /dev/tty46  /dev/tty55  /dev/tty7       /dev/ttyS14  /dev/ttyS23  /dev/ttyS4
/dev/tty10  /dev/tty2   /dev/tty29  /dev/tty38  /dev/tty47  /dev/tty56  /dev/tty8       /dev/ttyS15  /dev/ttyS24  /dev/ttyS5
/dev/tty11  /dev/tty20  /dev/tty3   /dev/tty39  /dev/tty48  /dev/tty57  /dev/tty9       /dev/ttyS16  /dev/ttyS25  /dev/ttyS6
/dev/tty12  /dev/tty21  /dev/tty30  /dev/tty4   /dev/tty49  /dev/tty58  /dev/ttyprintk  /dev/ttyS17  /dev/ttyS26  /dev/ttyS7
/dev/tty13  /dev/tty22  /dev/tty31  /dev/tty40  /dev/tty5   /dev/tty59  /dev/ttyS0      /dev/ttyS18  /dev/ttyS27  /dev/ttyS8
/dev/tty14  /dev/tty23  /dev/tty32  /dev/tty41  /dev/tty50 …
Run Code Online (Sandbox Code Playgroud)

tty devices

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

Linux 如何使用 /dev/tty 和 /dev/tty0

通过测试此问题提供的方法,我可以看到 /dev/tty 和 /dev/tty0 之间的区别。但我真的很想知道这些设备的实际用途(比如它们将被使用的情况)。

linux terminal tty devices

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

>12 的 TTY 有什么用?

TTY 号码相关,看起来有 64 个 TTY(find /dev -name 'tty[0-9]*' | cut -c 9- | sort -n | tail -n 1文档)。tty0是当前虚拟控制台Ctrl+ Meta+F1报道,它的连接到tty1,和tty在GNOME终端报告,它的连接到/dev/pts/N。使用众所周知的Ctrl+ Meta+F*键盘快捷键只能访问 TTY 1 到 12 ,那么/dev/ttyN13 到 64 用于什么?

linux tty

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

ASCII 转义序列和控制字符配对是标准的一部分吗?

转义序列与 ASCII 控制字符有常见的配对,例如 Ctrl-C 和 Ctrl-Z 分别与 ETX 和 SUB 配对。

在维基百科控制代码页面上,有最多的配对,但没有引用的参考。

控制字符和键序列配对是标准的一部分吗?

Linux 和其他操作系统的列表在哪里?

是否有手册页列出了这些配对?

它们纯粹是几十年的不成文约定吗?

参考

terminal posix ascii

5
推荐指数
2
解决办法
2119
查看次数

一些混淆的概念:ptmx 和 tty

以下所有命令都在我的 debian 终端中运行。

ls /dev |grep ptmx
/dev/ptmx

ls  /dev/pts
0  1  ptmx 
Run Code Online (Sandbox Code Playgroud)

/dev/ptmx 和 和有/dev/pts/ptmx什么区别?

ls  /dev/tty* |sort
/dev/tty
/dev/tty0
/dev/tty1
/dev/tty10
Run Code Online (Sandbox Code Playgroud)

/dev/tty 和 /dev/tty0 (/dev/tty1....) 之间有关系吗?
/dev/tty 控制所有其他 /dev/tty[number] ?

tty

5
推荐指数
1
解决办法
4468
查看次数

使 systemd 调试 shell 再次可用

指定systemd.debug-shell=1为内核参数类型有效:当 systemd 启动挂起时,我可以通过 Alt+F9 切换到 shell。

但是这个外壳是完全不可能的,因为一个动画

[ ***  ] A start job is running for Create Volatile Files and 
        Directories (4min 23s / no limit)
Run Code Online (Sandbox Code Playgroud)

横幅正在破坏我的提示和命令行输出。

因此,我的问题是:如何在我的 shell tty9 中禁用这个阻碍 systemd 的输出?

我可以将它显示在 tty1 中,即主控制台 - 但按原样,它使 systemd 调试外壳无法使用。

这是 Fedora 29 下的 systemd。

debugging systemd

5
推荐指数
1
解决办法
1843
查看次数

虚拟控制台是否作为进程运行并基于伪终端实现?

Linux有7个虚拟控制台,对应7个设备文件/dev/tty[n]

虚拟控制台是否作为进程运行,就像终端模拟器一样?(我不确定。似乎虚拟控制台是内核的一部分,如果这是正确的,它就不能是一个进程。)

是不是像终端模拟器一样,是基于伪终端实现的虚拟控制台?(我猜不会。否则,虚拟控制台的设备文件将是/dev/pts/[n], 而不是/dev/tty[n]

谢谢。

linux terminal-emulator virtual-consoles pseudoterminal

4
推荐指数
1
解决办法
369
查看次数

为什么“>/dev/console”用于远程哔声(回声命令)

我了解到这个命令:

echo -e "\a"
Run Code Online (Sandbox Code Playgroud)

在本地系统上触发蜂鸣声,而此命令:

echo -e "\a" >/dev/console
Run Code Online (Sandbox Code Playgroud)

在远程系统上触发蜂鸣声。

为什么是这样?什么是>/dev/console部分在做什么?

为什么echo -e "\a"在远程机器上执行会在本地而不是远程触发哔声?

为什么“echo” - 命令不喜欢 sudo ?

是否有类似 OSI 层的方案?请向我提供一些外部文件。

我对将 stdout/stderr 重定向到文件只有一个基本的了解,但问题更可能是指“Gnu/Linux/Kernel”是如何设计的,以便重新重定向到

“ > /dev/console” 用于解决远程蜂鸣声。

遥控器是否echo "Hello World"需要重定向到 /dev/console ?

linux kernel remote interpreter scheme

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