Unix & Linux

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


4
如何判断文件是否是内存映射的?
我对内存映射文件感到困惑,所以我有两个问题,如果您能帮助我,我将非常高兴。 假设我浏览到文件系统中的目录,并且该目录中有一个文件。该文件是否可能指向主内存中的区域,而不是指向磁盘中的区域? 如果可能的话,这就是我们所谓的“内存映射文件”吗? 在文件系统中移动此类文件(即,将mv此类文件从目录移动到另一个目录)的含义是什么?我的理解是,由于文件是内存映射的,因此与文件交互的进程始终写入主内存的预定义区域,并且当我们打开该文件(例如使用vim)时,我们将读取主内存的该区域。内存(因此,不涉及磁盘)。因此,无论我们将文件移到何处,它都将始终正确运行,对吗?如果是,在文件系统中移动文件是否有意义? 是否有一条命令可以判断文件是否已映射内存? 最后,如果我使用打开一个内存映射文件vim,请对其进行一些更改,然后保存并关闭vim,将会发生什么?我所做的更改是否只会写入主存储器?如果是这种情况,使用此文件的其他进程会看到我刚刚所做的更改吗?以我的经验,当我使用进行文件更改时,其他进程没有看到我对该文件所做的更改vim。这是什么原因呢?
8 files  memory 

1
以特权模式构建Docker映像
如何构建具有特权功能(如运行时)的Docker映像docker run -ti --privileged? 所以我可以在构建Dockerfile的同时挂载设备而不会出现自动挂载错误?

1
如何缓冲切割?
我只想从我的邮件日志文件中获取以“ @ xyz.nl”结尾的电子邮件地址。为此,我要做: # tail -f /var/log/mail.log | grep --i --line-buffered "@xyz.nl" | cut -d '@' -f 1 | cut -d '<' -f 2 用grep进行--line-buffered是必需的,因为否则它将被缓冲,因为管道不被视为终端。Grep将输出以下行: Aug 29 11:56:01 localhost postfix/smtp[4124]: 05491500123: to=<someone@xyz.nl>, relay=123.456.123.456[123.456.123.456]:25, delay=2, delays=0.4/0/0.4/1.2, dsn=2.0.0, status=sent (250 2.0.0 u7T9twxN074009 Message accepted for delivery) 然后,第一个切割将使: Aug 29 11:56:01 localhost postfix/smtp[4124]: …
8 pipe  cut 

1
彩色单词差异就像git一样?
我使用git的(彩色)功能已经很长时间了--word-diff,我觉得很棒。今天我发现自己处于一种情况,我有两个字符串,需要逐个单词地进行比较,并渴望获得git diff之类的东西。 我知道wdiff+ colordiff,但其结果肯定不是很出色: me@me:~$ wdiff <(echo -e "abc\ndef") <(echo -e "dbcx\ndef") | colordiff [-abc-]{+dbcx+} def 周围还有更好的选择吗?我特别不喜欢这些[-,-]并且{+,+}。
8 colors  git  diff  colordiff 


2
在Debian 8中将Linux内核3升级到4
我的声音和无线硬件在Debian 8系统上当前的3.16.x内核下无法正常工作。我执行了: apt-cache search linux-image 目的是让4.x版本的Linux内核尝试解决此问题(因为该硬件在Ubuntu 16.04下工作正常)。 但是,似乎内核的选择仅限于: linux-image-3.16.0-4-amd64 - Linux 3.16 for 64-bit PCs 我想安装4.x版本,并可以选择在当前内核和4.x版本之间切换。 我该如何使用apt-get不需要手动编译的简单方法呢?
8 debian  kernel  apt  upgrade 

3
当您用尽PID时会发生什么?
这是一个纯粹的学术问题,因为这永远不会发生。 如果将PID存储为pid_t类型,而不是某些任意精度类型,则一次可以存在的PID数量受到限制。PID溢出时是否存在定义的行为? 65536进程会杀死/ sbin / init并引起内核崩溃吗?还是有一些安全措施?
8 process  proc 

2
为什么FreeBSD上的某些用户名以下划线开头?
FreeBSD上的一些用户名以下划线开头: _dhcp:*:65:65:dhcp programs:/var/empty:/usr/sbin/nologin 但其他人则没有: www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin 下划线的意义是什么?它纯粹是历史性的,还是有实际目的的? 在FreeBSD ports / UIDs文件中可以看到更多示例。
8 freebsd  users 

2
在systemd脚本中为true时运行
我得到了一个bash脚本,基本上运行了这个脚本: #!/bin/bash [...] while true; do str="broadcast "`randArrayElement "messages[@]"` server_send_message $str sleep $interval done 现在,我要将其作为systemd服务运行,我的服务脚本如下所示: [Unit] Description=Announcer After=network.target [Service] ExecStart=/usr/local/bin/somescript &; disown ExecStop=/usr/bin/kill -9 `cat /tmp/somescript.pid` Type=forking PIDFile=/tmp/somescript.pid [Install] WantedBy=default.target 不幸的是,当我通过service somescript start它运行该服务时,但是由于while true循环,我的终端无法启动脚本: ● somescript.service - somescript service Loaded: loaded (/etc/systemd/system/somescript.service; disabled; vendor preset: enabled) Active: activating (start) since …

2
在centos 7中删除软件包时如何删除所有已安装的从属软件包?
我正在使用CentOS7。我使用以下命令安装了okular(这是PDF查看器): sudo yum install okular 如下图所示,它安装了37个相关的软件包以安装okular。 但是我对应用程序的功能不满意,因此决定将其删除。问题是,如果我使用命令将其删除: sudo yum autoremove okular 它仅删除四个从属软件包。 如果我使用命令将其删除: sudo yum remove okular 它仅删除一个软件包okular.x86_64。 现在,我的问题是,有没有一种方法可以通过命令删除所有37个已安装的软件包,还是必须一个一个地删除所有软件包?

5
仅使用月份名称创建目录
出于好奇而发布问题,我想创建1月,2月...到12月这样的目录,因此我通过分别给出名称来创建它们。(mkdir January February.... etc)是否可以轻松地用所有月份的名称创建目录或文件名? 例如:touch {1..10}将轻松创建10个文件1,2,3 ... 10,像这样是否有其他解决方案来创建带有月份名称的文件或目录?


2
yum安装由于保存的事务而失败
我正在尝试安装一些软件包,并且yum每次都失败,指出应通过load-transaction命令安装该软件包。 我想让yum从互联网上获取软件包并安装它,因为以这种方式退出很la脚? 请找到yum命令并输出: 命令: Step 4 : RUN yum install httpd php php-cli gcc glibc glibc-common gd gd-devel net-snmp openssl-devel wget unzip ---> Running in b0cdbf62be4e 输出: Total download size: 82 M Installed size: 186 M Is this ok [y/d/N]: Exiting on user command Your transaction was saved, rerun it …
8 centos 

2
设置屏幕亮度:xbacklight在HDMI上不起作用,xrandr-亮度不固定
我正在尝试在i3WM中设置自定义屏幕绑定,并寻找一种降低/提高按钮按下时亮度的方法。我尝试使用以下方法: xbacklight -dec10 xbacklight -set 70 xbacklight可以工作,但是不影响我连接HDMI的显示器,显然没有背光: xrandr --verbose HDMI-0没有与笔记本电脑屏幕不同的“背光”属性,以上代码在我的笔记本电脑屏幕上可以正常工作,但是我想降低所有显示器的亮度。 接下来,我尝试了: xrandr --output DP-0 --brightness 0.5 xrandr --output HMDI-0 --brightness 0.5 哪个有效!好吧,大约一秒钟,然后默认返回。我的问题:至少在下一次重启之前,有什么办法可以使这些更改生效? PS-运行Debian GNU / Linux 8.5 | 4.5.0-0.bpo.1-amd64 | i3 4.8-2 PPS-我可以轻松设置i3配置和按键绑定,而无需该部分的帮助:)

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.