Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

4
被取消并失去终端的流程的输出会发生什么?
如果我关闭启动了某些过程的虚拟终端,输出是否直接进入/dev/null,或者会以某种方式污染内存? 在那之后的任何时候,我都可以获取输出以继续读取它吗? [EDIT]:那么,放弃进程的那一刻是否有效地结束了我控制其输出的能力? 我还注意到,如果我放弃一个已停止的进程,起初一切似乎都很正常:它既不终止也不在作业中显示。但是,如果我注销(并且我不是要关闭终端,su例如,从退出),则该过程将终止。一样,后台运行的独立进程可以保持运行。

4
我如何知道与RPM软件包签署了哪个GPG密钥?
可以使用以下rpm -K命令验证RPM的加密签名。如果签名在RPM的数据库中并且有效,则返回一个包含gpg(或pgp)并以结尾的字符串OK。 如果软件包未签名但校验和有效,您仍然会得到OK,但没有gpg。 如果软件包已签名,但RPM数据库中缺少密钥,则将得到(GPG)(大写字母)和NOT OKAY,然后是(MISSING KEYS: GPG#deadbeef)。 如果我想弄清楚应该找到什么密钥才能使软件包安装正常工作,那将很方便。 但是如果我想验证这在我的RPM钥匙圈几个键用来签署一个给定的包?

1
初始化过程:所有过程的始祖?
我一直了解到,初始化过程是所有过程的始祖。为什么进程2的PPID为0? $ ps -ef | head -n 3 UID PID PPID C STIME TTY TIME CMD root 1 0 0 May14 ? 00:00:01 /sbin/init root 2 0 0 May14 ? 00:00:00 [kthreadd]
26 linux  process  init 

7
等价于Linux的Process Monitor?
是否有与进程监视器(Unix 或CUI)等效的Unix / Linux ? 如果有所作为,我正在研究Ubuntu,但是如果其他系统(Mac,Fedora等其他Linux变体)具有同等的功能,那么了解其中的任何一个也会很有用。 编辑: 进程监视器用于监视系统调用(例如文件创建或写入),而进程资源管理器用于监视进程状态(例如系统监视器)。我要的是前者,而不是后者。:-)

1
忽略所有git命令中的空格更改
我发现了很多网站,它们解释了如何在更改行尾时使用git来警告您,或者使用了其他多种方法来防止您弄乱整个文件。假设为时已晚-树已经具有可切换文件行尾的提交,因此git diff显示了减去旧文件后再添加具有相同内容的新文件 我正在寻找一个git配置选项或命令行标志,该参数指示diff忽略它们-如果两行仅在空白之间有所不同,则假装它们是相同的。我需要这个配置选项/标志工作任何依赖文件的差异- diff,blame甚至merge/ rebase理想-我想git完全忽略尾随的空白,尤其是行尾。我怎样才能做到这一点?

1
如何为USB-HID设备使用Linux内核驱动程序绑定/取消绑定接口?
第一个背景。我正在开发Logitech游戏面板设备的驱动程序。它是带有屏幕的键盘。驱动程序运行良好,但默认情况下,设备由HID处理。为了防止HID在驱动程序之前接管设备,我可以在hid-core.c中将其列入黑名单。这是可行的,但不是最佳解决方案,因为我正在与几个人一起工作,我们每个人都必须不断修补我们的HID模块,这变得很麻烦,尤其是因为它通常涉及到重建initramfs之类。 我对此问题进行了一些研究,发现了该邮件列表帖子,最终将我带到了LWN上。这描述了一种在运行时将设备绑定到特定驱动程序的机制。这似乎正是我所需要的。 所以,我尝试了。我能够将键盘与HID解除绑定。这行得通,而且按预期,我无法再键入它。但是,当我尝试将其绑定到驱动程序时,出现“错误:没有这样的设备”,操作失败。 所以我的问题是:如何在内核中将HID设备列入黑名单并提供自己的驱动程序时,如何使用内核绑定/解除绑定操作来复制会发生的情况?-就是说-取代始终需要修补hid-core.c的需要? 我们的驱动程序的源代码在这里:https : //github.com/ali1234/lg4l

2
强制sudo提示输入密码
如果我执行以下操作: sudo su - //enter password exit exit //login again straight away sudo su - sudo的第二次调用不会要求输入密码,因为即使我再次注销,但仍处于一定的时间限制内,这意味着无需再次提示输入密码。 因为我正在尝试一些新的priv来确保它们正常工作,所以在我等待超时发生时,这确实使我放慢了速度。 我可以运行一个命令来重置超时吗? 顺便说一下,我不想更改超时或影响其他用户!
26 sudo  password 




3
如何更改Vim缓冲区的名称
是否可以在vim中更改缓冲区的名称? 具体来说,我正在使用Conque Shell在vim中打开shell(每个shell在缓冲区中),并且使用多个shell,我看到: 10: bash - 1 11: bash - 2 在我的缓冲区列表中。我想用更有意义的名称重命名这些缓冲区(例如,“ mercurial”而不是“ bash-2”)。可能吗?
26 vim  buffer 

5
我可以通过SSH传递/ dev / video吗
我有两台计算机,办公室中的台式机(带有网络摄像头)和网络上其他位置的笔记本电脑。 通常,我通过运行网络摄像头来查看我的办公室 ssh Office -Y "mplayer tv://device=/dev/video0" 从我的笔记本电脑。我不喜欢Xforwarding mplayer,所以为什么不能通过/dev/video在笔记本电脑上运行它来隧穿我的PC? sudo mkfifo /dev/video1 ssh Office 'dd if=/dev/video' | sudo dd of=/dev/video1' 然后观看网络摄像头(在我的笔记本电脑上) mplayer tv://device=/dev/video1

2
如何在不知道远程用户的登录shell的情况下通过ssh执行任意简单的命令?
ssh 在运行时具有令人讨厌的功能: ssh user@host cmd and "here's" "one arg" 而不是cmd使用参数将其打开host,而是cmd使用空格将其和参数连接在一起,然后运行shell host来解释结果字符串(我猜这就是为什么调用它ssh而不是它的原因sexec)。 更糟糕的是,您不知道将使用什么shell来解释该字符串,因为user甚至登录的shell 都无法保证是Bo​​urne,因为仍然有人们在使用它tcsh作为登录shell,并且这种fish情况还在增加。 有办法解决吗? 假设我有一个命令作为存储一个在参数列表bash阵列,其每一个可以包含的非空字节的任何序列,是否有任何方式把它上执行host如user以一致的方式,无论该登录壳的user上host(我们假设这是主要的Unix shell系列之一:Bourne,csh,rc / es,fish)? 另一种合理的假设,我应该能够提出的是,有是sh在命令host中可用的$PATH是Bourne兼容。 例: cmd=( 'printf' '<%s>\n' 'arg with $and spaces' '' # empty $'even\n* * *\nnewlines' "and 'single quotes'" '!!' ) 我可以使用ksh/ zsh/ bash/ 在本地运行yash: $ "${cmd[@]}" <arg with $and spaces> <> <even …


3
如何在debugfs中的ext4文件系统上删除名为“ filen / ame”(带有斜线)的文件?
玩e2fsprogs时debugfs,由于更改/意外,filen/ame创建了一个名为的文件。显然,斜杠字符/用作路径名中的特殊分隔符。 仍在使用时,debugfs我想删除名为的文件filen/ame,但由于将/字符不解释为文件名的一部分,因此收效甚微? debugfs是否提供一种删除包含斜杠的文件的方法?如果可以,怎么办? 我用了: cd /tmp echo "content" > contentfile dd if=/dev/zero of=/tmp/ext4fs bs=1M count=50 mkfs.ext4 /tmp/ext4fs debugfs -w -R "write /tmp/contentfile filen/ame" /tmp/ext4fs debugfs -w -R "ls" /tmp/ext4fs 输出: debugfs 1.43.4 (31-Jan-2017) 2 (12) . 2 (12) .. 11 (20) lost+found 12 (980) filen/ame 我尝试以下删除filen/ame文件: debugfs -w -R "rm …
26 ext4  slash  debugfs 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.