Unix & Linux

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


4
递归地将文件添加到所有子目录
如何以递归方式将文件以及所有子目录添加(或触摸)到当前目录中? 例如, 我想打开这个目录树: . ├── 1 │ ├── A │ └── B ├── 2 │ └── A └── 3 ├── A └── B └── I 9 directories, 0 files 进入 . ├── 1 │ ├── A │ │ └── file │ ├── B │ │ └── file │ └── file …

5
Ubuntu:如何在/ etc / network / interfaces中正确配置resolvconf的DNS服务器?
我所看到的所有有关配置(/etc/network/interfaces)的示例都表明,您先配置了一个接口,然后在其下给出了以下dns-*内容: auto eth0 iface eth0 inet static ... dns-nameservers 127.0.0.2 dns-search example.com my.example.com 现在,我知道DNS协议独立于传输机制。因此,dns-nameservers在行上添加IPv6地址应该不是错误的。 但是,由于我还是在为IPv6配置接口,因此在该dns-nameservers行添加行是有意义的: iface eth0 inet6 static ... dns-nameservers ::2 dns-search example.com my.example.com ...或者是吗?因为resolvconf创建时/etc/resolv.conf它只是忽略了所有IPv6 DNS服务器。它似乎也忽略了dns-search和dns-domain。似乎值得纪念的唯一一行是dns-nameservers的IPv4配置中的一行eth0。 配置DNS服务器的正确方法是什么? 关于为什么应将其作为每个iface节的一部分的进一步间接证据。引用自man 8 resolvconf: 该ifup(8) 程序可用于根据中的设置配置网络接口/etc/network/interfaces(5)。要在配置接口时向其ifup推送名称服务器信息,请resolvconf在dns-中的相关iface节中 添加行/etc/network/interfaces。要添加名称服务器地址,请添加以开头的行dns-nameservers。

5
如何将“ .pages”文件转换为unix-y?
我有一个扩展名为“ .pages”的文件。我认为这意味着iWork,但我不确定。无论如何,搜索“转换页面Linux”会产生相当多的误报! 有谁碰巧知道一种在Linux上将其转换为合理的方法的方法?

5
VirtualBox上的Manjaro来宾无法获得完整分辨率
我有的 主机:Windows 10版本1803 访客:4.19.20-1-MANJARO VirtualBox版本6.0.4r128413 我尝试过的 使用VirtualBox geustaddition iso 1.1。从工具栏Devices > Insert guestaddition image ... 1.2。 cd /run/media/foobar/VBox_GAs-6.0.4 1.3。sudo sh autorun.sh或简单地sudo sh VBoxLinuxAdditions.run导致错误: 该系统当前未设置为构建内核模块。请安装与当前内核匹配的Linux内核“头文件”,以向系统添加新的硬件支持。VirtualBox来宾添加:modprobe vboxsf失败 1.4。所以,我想通过提到安装Linux内核头文件解决问题在这里: 1.4.1找到Linux内核通过mhwd-kernel -li它在我的情况是linux419 1.4.2。然后sudo pacman -S linux419-kernel 1.4.3。然后按照原始帖子中的第一步操作并重新启动。这解决了分辨率问题,但是每次重新启动时,我都必须等待5-6分钟,显示以下消息: vboxadd.service的停止作业正在运行…… 1.4.4。从此处尝试了sudo systemctl stop vboxadd和sudo systemctl disable vboxadd,但随后又恢复了分辨率。 1.4.5。尝试通过卸载来宾添加项sudo sh VBoxLinuxAdditions.run uninstall,然后按照步骤2进行操作,也未成功! 根据他们的Wiki建议使用Manjaro存储库: 2.1。sudo pacman -Syu virtualbox-guest-utils导致 …


1
调整tmux中的边框厚度
默认情况下,tmux中的活动窗格具有绿色的细边框,如下图所示。 我尝试通过将以下行添加到来更改颜色~/.tmux.conf: set-option -g pane-active-border-style "bg=colour208" set-option -ag pane-active-border-style "fg=black" (colour208是图片中的橙色阴影)。但是,新边框看起来像这样: 橙色突出显示比默认情况下的绿色突出显示要厚得多。有什么办法可以调整它,以便边框颜色为橙色,但突出显示仍很细?我在Ubuntu 16.04.3。上使用tmux 2.5
14 tmux 

2
在桌面环境中使用和了解与系统调度有关的选项
在systemd服务文件中,可以设置以下与调度有关的选项(在systemd.exec手册页中,如果我输入错了,请纠正我): 尼斯 为执行的进程设置默认的尼斯级别(调度优先级)。取介于-20(最高优先级)和19(最低优先级)之间的整数。有关详细信息,请参见setpriority(2)。 这是熟悉的不错的水平。由于最近的Linux内核具有“自动分组”功能,因此其效果似乎已“被颠覆”。因此,以下选项可能是我真正想要设置的选项,以使进程保持良好的桌面体验。 CPUSchedulingPolicy 设置已执行进程的CPU调度策略。采用其他,批处理,空闲,fifo或rr中的一种。有关详细信息,请参见sched_setscheduler(2)。 CPUSchedulingPriority 设置已执行进程的CPU调度优先级。可用优先级范围取决于所选的CPU调度策略(请参见上文)。对于实时调度策略,可以使用1(最低优先级)和99(最高优先级)之间的整数。有关详细信息,请参见sched_setscheduler(2)。 CPUSchedulingResetOnFork 采用布尔参数。如果为true,则将在执行的进程派生时重置提升的CPU调度优先级和策略,因此不会泄漏到子进程中。有关详细信息,请参见sched_setscheduler(2)。默认为false。 我了解最后的选择。从前两个方面的解释中可以得出,我可以选择一个调度策略,然后根据该策略确定优先级。对我来说,尚不清楚我应该为哪种任务选择什么。例如,为备份任务选择“空闲”是否安全(因为要进行重复数据删除,因此占用大量CPU,还是比较安全)? 总的来说,我想要的是对每个策略都有一个易于理解的概述,以及每个策略的优先级和针对特定目的的适用性。同样,与尼斯水平的相互作用也是令人感兴趣的。 除了CPU调度,还有IO调度。我猜这对应于ionice(如果我错了,请纠正我)。 IOSchedulingClass 设置已执行进程的I / O调度类。取0到3之间的整数,或者取值为none,实时,最大努力或空闲字符串之一。有关详细信息,请参见ioprio_set(2)。 IOSchedulingPriority 设置已执行进程的I / O调度优先级。取0(最高优先级)到7(最低优先级)之间的整数。可用优先级取决于所选的I / O调度类(请参见上文)。有关详细信息,请参见ioprio_set(2)。 我们在这里看到的结构与CPU调度相同。我也在寻找相同的信息。 对于所有的“计划”选项,所指的手册页对我来说还不够清楚,主要是在将内容翻译成某种程度上具有技术倾向的台式机用户的观点。

5
如何在Shell脚本中比较程序的版本?
假设我想比较gcc版本以查看系统是否安装了最低版本。 要检查gcc版本,我执行了以下命令 gcc --version | head -n1 | cut -d" " -f4 输出是 4.8.5 因此,我写了一个简单的if语句来对照其他值检查该版本 if [ "$(gcc --version | head -n1 | cut -d" " -f4)" -lt 5.0.0 ]; then echo "Less than 5.0.0" else echo "Greater than 5.0.0" fi 但这会引发错误: [: integer expression expected: 4.8.5 我理解我使用字符串进行比较并且-lt需要整数的错误。那么,还有其他方法可以比较版本吗?

3
直接输出到管道和标准输出
我想知道是否可以通过管道将命令的输出定向到标准输出。因此,例如,fortune打印一个幸运饼干并将其复制到剪贴板: $ fortune | tee >(?stdout?) | pbcopy "...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and the Ugly)." (By Matt Welsh)
14 bash  pipe  stdout  tee 



2
为什么当前目录在makefile中没有更改?
我正在尝试运行一个简单的脚本-将git存储库克隆到某个目录,然后克隆cd到该目录以执行安装脚本。 该脚本在Makefile中。 但是cd似乎不起作用。找不到我的安装脚本。 我cd在脚本中的后面添加了pwd ,它向我显示了我执行脚本的目录,而不是我cd进入的目录。 有什么问题? git clone http://somerepo ~/some_dir cd ~/some_dir/ pwd python myscript.py install => pwd: /hereIsPathToDirectoryFromWhichIRunTheScript python:无法打开文件“ setup.py”:[Errno 2]没有这样的文件或目录 也不适用于./setup.py。 如果输入绝对路径~/some_dir/setup.py,脚本稍后将失败,因为它试图访问同一文件夹中的资源。
14 make  cd-command 


5
通过增加文件名中的数字来重命名文件
我有一个包含编号的图像文件的目录,如下所示: 01.png 02.png 03.png 03.svg 04.png 05.png 06.jpg 07.png 08.png 09.png 09.svg 10.png 有时,文件的多个版本可能具有不同的格式(例如上述和文件的png和svg版本),但数字是连续的。通常,每个目录中有40-80个此类文件。这些数字与这些图像在原稿(Word文档中的顺序,但并不重要)中出现的顺序相对应。没有其他方法可以确定图像的顺序。0309 如果将新图像添加到手稿中,则需要使用正确的编号将图像的副本放置在此目录中。因此,如果新图像是手稿中的第五张,我需要将目录中的文件重命名为此,以便为其腾出空间: 01.png 02.png 03.png 03.svg 04.png 06.png 07.jpg 08.png 09.png 10.png 10.svg 11.png 从命令行,从脚本或宏重新编号以一定编号开始的所有文件的最直接方法是什么?我有一个使用bash的标准Fedora Linux安装。
14 linux  bash  rename 

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.