Unix & Linux

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

1
“ $-”中的“ s”是什么?
我通常很了解的内容$-。在最近的CentOS上,我得到: [grochmal@orion ~]$ echo $- himBH hmBH是的所有选项set,这i意味着我的外壳是交互式的。 但是,在Arch Linux上,我得到了: [grochmal@haps ~]$ echo $- himBHs 我找不到任何有用的东西,man bash并set -s给我一个错误。那s代表什么呢?

1
是否有类似lsblk的网络接口?
是否有Linux命令像lsblk块设备那样以树状视图可视化已配置的网络接口? 例如,此类程序的输出可能如下所示(自下而上): eth0 └─bond0 ├─bond0.42 │ └─br42 └─bond0.43 └─br43 eth1 └─bond0 ├─bond0.42 │ └─br42 └─bond0.43 └─br43 tap100i0 └─br42 tap100i1 └─br43 tap101i0 └─br42 tap101i1 └─br43 或此(自上而下的方法): br42 ├─bond0.42 │ └─bond0 │ ├─eth0 │ └─eth1 ├─tap100i0 └─tap101i0 br43 ├─bond0.43 │ └─bond0 │ ├─eth0 │ └─eth1 ├─tap100i1 └─tap101i1 注意:我不是在寻找能够产生确切输出的工具,而是询问是否有人知道具有相似结果的命令。

4
分配和检查bash函数元数据
我经常生成并注册许多bash函数,这些函数可以自动执行我在开发项目中通常执行的许多任务。那一代人取决于我正在从事的项目的元数据。 我想用生成的项目信息来注释函数,方法是: func1() { # This function was generated for project: PROJECT1 echo "do my automation" } 理想情况下,检查定义时我将能够看到注释: $ type func1 func1 is a function func1 () { # This function was generated for project: PROJECT1 echo "do my automation" } 但是在某种程度上,bash似乎在加载函数时(而不是在执行函数时)忽略了注释。因此,注释丢失了,我得到以下结果: func1 is a function func1 () { echo …
10 bash  function 

3
是否可以将Linux中的TCP隧道公开为特殊字符设备?
最近,我在QNX文档中发现,它允许使用串行设备(dev/serX)在单独的物理计算机上的进程之间建立基于消息的IPC ,这使我感到奇怪: 在Linux中是否可以为TCP / UDP隧道创建系统范围的特殊设备?像nc标准输入/输出/ dev /下的东西公开曝光。 最后,我希望能够在一台机器上向此类文件写入内容,然后在另一端接收该文件,例如: #machine1: echo "Hello" > /dev/somedev #machine2: cat < /dev/somedev 我看了看人,nc但是除了stdio之外,我没有找到任何指定io源/目标的选项。

3
VM上未知的NMI原因20和30
我在今天管理的虚拟机上调出控制台,并收到了一些内核消息: [5912557.130943] Uhhuh. NMI received for unknown reason 20 on CPU 0. [5912557.131115] Do you have a strange power saving mode enabled? [5912557.131287] Dazed and confused, but trying to continue [6064281.393568] Uhhuh. NMI received for unknown reason 30 on CPU 1. [6064281.393888] Do you have a strange power saving mode …
10 linux  kvm  libvirt  nmi 

3
在Wayland下配置额外的鼠标按钮
我使用10键鼠标(Logitech M705)。在X11下,通过修改中的文件,我能够将其他按钮之一配置为第二次单击etc/X11/xorg.conf.d。 在Wayland之下,这不再起作用。我的研究表明,我需要做些事情libinput。我以为这是一个普遍的问题,但在任何地方都找不到答案。 有人可以解释如何重新映射鼠标按钮或解释为什么不能完成映射吗?

2
引导Arch Linux安装介质后如何更改分辨率?
完全启动Arch Linux安装介质后,是否可以更改屏幕分辨率?我尝试将其添加vga=795到引导行中,并且在将分辨率更改回无法读取的4K之前,它工作了几行。Wiki中的各种 建议似乎都假设我已经建立了网络并可以安装软件包。 在默认控制台字体指南的帮助下,我可以使用设置最大的字体setfont /usr/share/consolefonts/iso01-12x22.psfu.gz,但这仍然很难理解。

4
如何调试.desktop文件?
我有一个.desktop文件可在特定的conda环境中启动python程序,如下所示: [Desktop Entry] Version=1.0 Name=Qutebrowser GenericName=Web Browser Comment=View and edit files MimeType=text/html; Exec=bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser" Icon=/vol/home/kaipingga/.config/qutebrowser.svg Type=Application Terminal=false Categories=Network;Utility;X-Python; StartupWMClass=Qutebrowser X-Desktop-File-Install-Version=0.20 这曾经可以工作,但是最近我调整了python环境。 现在,在终端中,相同的命令 $ bash -c "source /vol/home/kaipingga/anaconda3/bin/activate qutebrowser; qutebrowser" 运行该应用程序,但.desktop不运行该文件。我是怎么发现错误的? 我的其他.desktop文件运行良好,我认为我的Python环境出了点问题,此刻此刻是很棘手的(这是conda从头开始在专用环境中运行的主要原因)。 Zachary Brady最初建议(但存在问题)xdg-open可能运行.desktop文件,但它给了我一个消息框,内容为 错误 无法将插件添加到面板 找不到xfce4-panel的运行实例 既适用于此.desktop,也适用于其他可行的方法。(我正在运行普通的Ubuntu,没有xfce)。
10 .desktop 

8
Linux Mint 18在关闭时挂起
我被臭名昭著的关机挂起/冻结错误困扰。每当我关闭薄荷糖时,只有启动屏幕上的第一个点变成绿色,然后才会冻结。我在Ubuntu 16.04上也有这个问题。我打算使用Linux进行游戏。这是我的系统规格- Desktop: Cinnamon 3.0.7 (Gtk 3.18.9-1ubuntu3.1) Distro: Linux Mint 18 Sarah Machine: Mobo: Intel model: DG33FB v: AAD81072-307 Bios: Intel v: DPP3510J.86A.0407.2008.0218.0923 date: 02/18/2008 CPU: Quad core Intel Core2 Quad Q6600 (-MCP-) cache: 4096 KB flags: (lm nx sse sse2 sse3 ssse3 vmx) bmips: 19199 clock speeds: max: 2394 …



4
从〜/ .zshrc sudo'ing功能时,“找不到命令”
我有一个功能~/.zshrc: findPort() { lsof -t -i :$1 } 通常的调用是findPort 3306。 我想以提升的特权运行它。但是我得到“找不到命令”。 ➜ git 🍔 sudo findPort 3306 sudo: findPort: command not found 我猜想原因是root用户或者以非交互式shell运行(因此不引用.zshrc),或者引用了别的 .zshrc。 我曾经看到过类似的问题alias,但是关于用户定义的函数却没有问题。有关此问题的答案alias涉及为添加别名~/.zshrc: alias sudo='nocorrect sudo ' 也许: alias sudo='sudo ' 我已经尝试了这两种解决方案,但问题仍然存在(是的,我已经重新启动了外壳)。 我还尝试运行sudo chsh以确保我的根shell在.NET下运行zsh。这些解决方案都不能消除“找不到命令”问题。 有没有办法在sudo下运行用户定义的函数?
10 sudo  zsh 

2
如何禁用处理器的L1和L2缓存?
是否可以在Ubuntu 14.04上禁用L1和/或L2缓存(最好使用Python之类的高级语言)?如果是这样,怎么办? 另外,禁用缓存是否会在不同体系结构之间显着不同?如果是这样,我对ARM Cortex-A15更感兴趣。 编辑 在研究如何禁用缓存时,我确实从kernel.org文档中找到了/ proc / sys / vm /中的“ drop_caches”文件。 “这样做会导致内核丢弃干净的缓存,以及可回收的平板对象(如dentries和inode)。一旦删除,它们的内存就会释放。” ... “此文件不是控制各种内核高速缓存(inodes,dentries,页面高速缓存等)增长的方式。当系统上其他地方需要内存时,内核会自动回收这些对象。” 这似乎不像我正在寻找的那样,因为这不仅不似乎会禁用缓存,而且我认为虚拟内存位于操作系统内,而不位于硬件上。我的目标是禁用缓存,因此必须在其他地方(例如RAM内)寻找所需的内存。 编辑 澄清一下,我了解禁用缓存会对系统造成什么影响。但是,这是在太空应用中提高安全性关键应用可靠性的一种常用技术。以下是一些记录此现象的资源: 通过高速缓存减少嵌入式软件辐射引起的故障 在空间辐射环境中对微处理器进行地面辐射测试的指南 甚至有关于该主题的书籍: 电子中的电离辐射效应:从记忆到成像仪
10 linux  ubuntu  python  arm  cache 

5
使用参数扩展为mkdir -p生成参数列表
我有这样的事情: % ls -1dF /tmp/foo/* /tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/ /tmp/foo/002e34c2218f2c86fefd2876f0e5c2559c5fb3c4/ /tmp/foo/00b483576791bab751e6cb7ee0a7143af43a8069/ . . . /tmp/foo/fedd0f7b545e7ae9600142656756456bc16874d3/ /tmp/foo/ff51ac87609012137cfcb02f36624f81cdc10788/ /tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/ 我想bar在下的每个子目录下创建一个目录foo。 如果我尝试用 % mkdir -p /tmp/foo/*/bar ...我得到了错误 zsh: no matches found: /tmp/foo/*/bar (事后看来,我可以理解该错误的原因。) 我知道我可以使用for循环解决原始问题,但是我很想知道是否zsh支持某种形式的参数扩展,该扩展将为的单次调用生成所需的参数mkdir -p。IOW,相当于“附加/bar到扩展产生的每个前缀”的参数扩展/tmp/foo/*,导致 % mkdir -p /tmp/foo/000f9e956feab3ee4625aebb65ae7bae9533cdbc/bar ... /tmp/foo/ff8b983a7411395344cad64182cb17e7cdefa55e/bar
10 zsh 

2
如何更改默认启动分区?
我在笔记本电脑上安装了Antergos,然后安装了Ubuntu。Ubuntu检测到我安装了另一个Linux,因此将Antergos添加到其grub菜单。每次启动时,都会从Ubuntu分区中加载grub。如何将另一个grub文件设置为默认文件? 我的分区是: Antergos引导分区(想从此处加载grub.cfg)-/ dev / sda1 Antergos根分区-/ dev / sda2 Ubuntu分区(从此处加载grub)-/ dev / sda6

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.