我很好奇,但为什么 /dev 中没有网络接口?是否还有其他类型的设备未表示为 /dev 下的节点?
ps -ef命令的部分输出如下所示:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 2012 ? 00:00:01 init [3]
root 2 1 0 2012 ? 00:00:01 [migration/0]
root 3 1 0 2012 ? 00:00:00 [ksoftirqd/0]
root 4 1 0 2012 ? 00:00:00 [watchdog/0]
root 5 1 0 2012 ? 00:00:00 [events/0]
root 6 1 0 2012 ? 00:00:00 [khelper]
root 7 1 0 2012 ? 00:00:00 [kthread]
root 9 7 0 2012 ? 00:00:00 [xenwatch]
root 10 7 0 …Run Code Online (Sandbox Code Playgroud) 在blkid输出中,某些行包含 UUID 和 PARTUUID 对,而其他行仅包含 PTUUID。他们的意思是什么?
特别是为什么分区需要两个ID,为什么有的分区用UUID/PARTUUID标识,有的用PTUUID标识?
有人可以以一种易于理解的方式解释在unix和unix类系统中控制终端的概念吗?它与会话有关吗?如果是,那么如何?
什么是非特权容器的技术解释非常好。但是,它不适用于普通 PC 用户。是否有一个简单的答案,人们何时以及为什么应该使用非特权容器,以及它们的优点和缺点是什么?
如何获得控制终端的真实名称(如果有,否则为错误)作为路径名?
“实名”是指 not /dev/tty,其他任意进程不能使用它来指代同一个终端。如果可能,我更喜欢将答案作为简单的 shell 代码(如下例所示),否则作为 C 函数。
请注意,即使标准输入被重定向,这也必须工作,因此tty无法使用该实用程序:not a tty在这种情况下会出现错误,因为tty只打印连接到标准输入的终端的文件名。
在 Linux 下,可以使用:
echo "/dev/`ps -p $$ -o tty | tail -n 1`"
Run Code Online (Sandbox Code Playgroud)
但这不是可移植的,因为根据 POSIX,终端名称的格式是 unspecified。
关于 C 函数,ctermid (NULL)returns/dev/tty在这里没用。
注意:根据zsh文档,应该能够做到
zsh -c 'echo $TTY'
Run Code Online (Sandbox Code Playgroud)
但是当标准输入和标准输出都被重定向时,当前(版本 5.0.7)会失败:
$ zsh -c 'echo $TTY > /dev/tty' < /dev/null
/dev/pts/9
$ zsh -c 'echo $TTY > /dev/tty' < /dev/null > /dev/null
/dev/tty
Run Code Online (Sandbox Code Playgroud) 这些过程的概念是如何关联在一起- ,,和?backgroundzombiedaemonwithout controlling terminal
我觉得它们在某种程度上很接近,尤其是通过 , 的概念controlling terminal,但是我仍然没有太多信息可以讲故事,就像您需要向阅读有关 Linux 的文章的孩子解释一些事情而不会撒谎。
更新 #1:例如(我不知道这是不是真的)
background---zombie前台进程不能成为zombie,因为zombie是一个没有父进程的后台进程daemon- without ctty-所有daemons无运行ctty,但不是所有的过程,而不ctty是daemonsbackground- daemon-一个background process可以被检索到交互方式重新运行,daemon is notzombie- without ctty-zombie如果有无所谓ctty连接到它或不background- without ctty-processes发送到后台,而他们有ctty,如果成为守护进程或模具ctty是从他们采取job-control background-process daemon zombie-process controlling-terminal
Linux 文件系统层次结构 ( FHS ) 包含许多重要目录。例如,我刚刚/sys/class/input在玩我的 PS/2 键盘设置时发现。
但是所有这些重要目录都记录在别处,因此man /sys/class/input无法解释在某个时刻发生的情况。
为什么不将README文件放入层次结构中,以便人们更轻松地了解特定级别上发生的事情并玩弄内容?如果设备甚至可以挂载自己的READMEs ,那就太棒了。
我tmux在我的 VPS 上更新了:
apt-get install -t squeeze-backports tmux -V
Run Code Online (Sandbox Code Playgroud)
并且需要回到以前的版本来恢复一些正在运行的会话,所以我去看看哪个版本tmux适合 Debian,然后降级为:
apt-get install tmux=1.3-2+squeeze1
Run Code Online (Sandbox Code Playgroud)
但是我花了很多时间来弄清楚这个特定的命令并寻找合适的版本。有没有自动获取稳定版的快捷方式?我尝试了不同的-t标志组合,但没有帮助。
更新(apt-cache policy tmux用于调试):
tmux:
Installed: 1.6-2~bpo60+1
Candidate: 1.6-2~bpo60+1
Version table:
*** 1.6-2~bpo60+1 0
200 http://www.backports.org/debian/ squeeze-backports/main amd64 Packages
100 /var/lib/dpkg/status
1.3-2+squeeze1 0
500 http://debian.newdream.net/ squeeze/main amd64 Packages
500 http://security.debian.org/ squeeze/updates/main amd64 Packages
Run Code Online (Sandbox Code Playgroud) 如何设置gnome-shell工作区的行为(静态而不是动态)dconf?
我配置了i3样式键盘快捷键以使用+切换到特定工作区,但动态创建工作区,因此如果未创建工作区 3 和 4,我无法直接切换到第 4 个工作区以在那里运行程序。Super<num>gnome-shell