Unix & Linux

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

3
从命令行清除屏幕的一半
有什么方法可以清除终端,但不是将提示留在屏幕顶部,而是将其留在中间?看起来clear基本上会忽略所有命令行参数。 我认为会有某种方法可以做到这一点,tput但找不到。
11 terminal  tput 

3
是否可以在不使用子Shell的情况下执行Shell命令替换?
我有一种情况,要求不使用子shell进行命令替换。我有这样的构造: pushd $(mktemp -d) 现在,我要一次性退出并删除临时目录: rmdir $(popd) 但是,这不起作用,因为popd它不返回弹出的目录(它返回新的目录,现在返回当前目录),并且还因为它是在子shell中执行的。 就像是 dirs -l -1 ; popd &> /dev/null 将返回弹出的目录,但不能这样使用: rmdir $(dirs -l -1 ; popd &> /dev/null) 因为popd只会影响子外壳。所需要的是做到这一点的能力: rmdir { dirs -l -1 ; popd &> /dev/null; } 但这是无效的语法。有可能达到这种效果吗? (注意:我知道我可以将临时目录保存在变量中;我试图避免这样做,并在此过程中学习新知识!)
11 shell  directory 

2
是否可以在两个Linux主机之间以10Gbps的速度通过USB 3.1 Type-C进行IP传输?
我一直无法自行决定是否可以这样做。我想知道是否有可能将两个具有USB 3.1和C型连接器的Linux系统连接起来,以标准要求的全速10Gbps设置点对点网络(IP或以太网+ IP)。主机适配器是否支持此功能?较新的Linux内核/工具是否支持此功能?可以使用常规电缆吗? 千兆位还不够快,USB 3.1卡价格便宜,并且内置在新的主板中(例如我的主板)。我猜10Gbps以太网将是我的第二选择,但它涉及到购买所有新硬件,因此我必须要二手。
11 linux  networking  usb  ip  ethernet 

3
为什么在某些Linux系统上,根文件系统在mtab中显示为/ dev / root而不是/ dev / <real device node>?
我在各种Linux系统上都看到过/dev/sda1,其中根设备以而不是实际设备节点(例如:)显示为/dev/root,或者不是真实文件系统,mtab它表示的文件系统名为rootfs(在中显示为真实文件系统/proc/filesystems,但是)中没有代码&lt;linux-kernel-source-tree&gt;/fs。已经使用各种工具来使用某些属性来确定实际的根设备节点(例如rdev和Chromium OS rootdev)。除了阅读到一些很小的嵌入式设备不一定总是拥有/dev其根设备的设备节点的信息外,我对此没有任何逻辑上的解释。(这是真的,如果是,是我的问题的答案吗?)为什么mtab有时会说/dev/root(我想我可能已经看过了)rootdev一次)而不是真实设备节点,如何使它始终表示真实设备节点?内核首先root按照cmdline中的参数安装根设备,然后init/systemd根据fstab正确地重新安装它。如果是这样,那么我认为init维持mtab。如果我的理论是正确的,我如何使init真正的根设备节点写入mtab?我注意到这/etc/mtab实际上是到的符号链接/proc/mounts,这意味着mtab由内核维护。那么,如何配置/修补内核,而不是说根设备节点路径是/dev/root,mtab包含真实设备节点?

2
findmnt如何列出绑定安装?
许多人一直在说Linux不保留有关绑定安装的信息,因此无法获取它们及其来源的列表。这里有些例子: 从这里的评论之一: IIRC不会在任何地方保存此信息:之后mount --bind,两个副本是等效的,没有一个副本比另一个副本更“原始”。毕竟,如果您已经卸载了,可能就没有原稿了/mnt。 从这个网站上的答案: 因此,记住什么挂载是绑定挂载的唯一方法是保留在中的挂载命令的日志/etc/mtab。绑定安装操作由bind mount选项指示(这将导致忽略文件系统类型)。但是mount没有选择仅列出通过一组特定的选项集安装的文件系统的选项。 来自Debian错误报告: 这是故意的。两个安装点在所有方面都完全相等,因此内核不会保留任何标志来区分它们。 上面是胡说八道。该工具findmnt能够列出绑定安装的源路径(以device[source-path];形式;我也试图使其仅列出源路径,而不列出设备)。如果Linux内核要维护绑定安装,那么该信息必须存储在某个地方,否则它就不知道/home绑定到了/users。那么这些数据在哪里呢?它是否存储在RAM中的某些模糊区域中?是否findmnt在看/proc什么地方?

1
在zsh中列出别名,函数和变量的名称
我需要一种方法来列出zsh中别名,函数,变量,数组的名称(不包括主体/内容/值)。最佳情况下,其行为应类似于compgen: compgen -a # will list all the aliases you could run. compgen -A function # will list all the functions you could run. compgen -A variable # will list all the variables defined. 背景 我需要这个来开发env_parallel.zsh:https ://www.gnu.org/software/parallel/env_parallel.html
11 shell  zsh 

1
如何在GNOME中自动加载xkb定制?
跟进有关在Wayland中自定义键映射的问题,我发现它xmodmap显然已被弃用,但是xkb在Wayland中“应该起作用”。不幸的是,xkb更加复杂并且相应地文献也较少。我已经成功地工作了我基于从信息所需要的节关于交换的问题Cmd和Ctrl,另一个大写锁定的问题,阅读一些问题的答案,从我的系统文件的链接,但我不知道如何应用它们以一种可以自动化且不会与GNOME冲突的方式。 这些是我制定的节,并使用进行了成功的测试xkbcomp。 partial alphanumeric_keys xkb_symbols "pound" { // Put sterling on RAlt-3 and numbersign on Shift-3. key &lt;AE03&gt; { [ 3, numbersign, sterling, threesuperior ] }; }; // Make right cmd key act as ctrl partial modifier_keys xkb_symbols "rcmdctrl" { key &lt;RWIN&gt; { [ Control_R ] }; modifier_map Control { …
11 gnome3  xkb 

5
如何在命令行上更改此蓝色文本的颜色?
我知道这个问题已经被问过多次了,但是我没有找到其他答案。 这是一幅图像来说明我的观点: 您可以不斜视地阅读蓝线吗?没有?我也不。 我正在完整详细模式下运行ansible剧本,并且需要阅读包含50多个任务的剧本的日志。 谁能解释一下如何更改这些颜色? 我在没有解决方案的地方看了一些问题: 颜色1 颜色2 颜色3 颜色4 ...
11 terminal  colors  putty 

1
在Gnome终端中双击选择
在gnome终端中双击一个单词会选择整个单词。不幸的是,此选择不包括冒号,因此URL未被完全选择,例如 http://foo.example.org/ 只要 //foo.example.org/ 被选中。 如何配置此选择行为,以便选择完整的URL? 也可以看看: 如何在X终端中配置双击行为?-Gnome终端不解释所描述的资源 gnome经典终端鼠标双击选择 -“ Gnome Shell终端配置文件首选项”对话框不再具有此选项

2
如何在VPN连接上自动获取新的名称服务器
我正在运行ubuntu xenial 16.04 我们正在使用openvpn连接到虚拟私有云。该云拥有自己的DNS服务器(我们的本地路由-家庭或办公室也是如此)。 当我连接到VPN时,该网络中的所有IP均可用,但无法通过主机名访问任何IP。原因很简单:resolv.conf文件仍然显示我的本地办公室名称服务器。如果我手动覆盖resolv.conf以拥有正确的名称服务器,那么一切都很好。 那么,如何在连接到VPN时自动重新配置resolv.conf? 我可以挂接到系统事件并执行脚本吗?
11 ubuntu  dns  vpn 

3
Unix是否等效于Windows环境变量PATHEXT
我想知道Windows环境变量是否具有Unix等效项PATHEXT。 对于没有Windows背景的用户:添加文件后缀可以PATHEXT使我执行脚本,而无需在cmd.exe中键入该后缀。例如,在我的Windows计算机上,PATHEXT包含后缀,.pl并且当我想在cmd.exe中执行Perl脚本时,我只需键入my-script就可以执行它。但是,为了在bash中执行相同的脚本,我需要写全名:my-script.pl。 由于我目前同时在Windows和Unix上工作,因此我几乎总是陷入再次进入Unix框时忘记键入后缀的陷阱。


2
匿名tarball
Tar将我的用户名编码为tarball。我可以强迫它制作一个完全匿名的tarball吗? --owner root仅替换我的用户名的某些实例。添加USER=root:USER=root tar c --owner root data无效。 简而言之,我希望: echo hello world &gt; data; tar c --owner root data | grep "$USER" 对不匹配。
11 tar  gnu-tar 


1
启用的探针上的错误:syscall :: open_nocancel:entry):在DIF的操作#2中无效的用户访问
我使用以下一种方法来显示按进程打开的文件: sudo dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }' 但是我有很多重复的错误,例如: dtrace: error on enabled probe ID 4 (ID 946: syscall::open_nocancel:entry): invalid user access in action #2 at DIF offset 24 dtrace: error on enabled probe ID 7 (ID 160: syscall::open:entry): invalid user access in action #2 at DIF offset 24 …
11 kernel  osx  dtrace 

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.