Unix & Linux

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

6
驱动器名称?“ / dev / sda”的“ sda”部分的正确术语是什么?
fdisk(8)说: 设备通常是/ dev / sda,/ dev / sdb左右。设备名称是指整个磁盘。没有libata(Linux内核内部用于支持ATA主机控制器和设备的库)的旧系统会在IDE和SCSI磁盘之间产生差异。在这种情况下,设备名称将为/ dev / hd *(IDE)或/ dev / sd *(SCSI)。 分区是设备名称,后跟分区号。例如,/ dev / sda1是系统中第一个硬盘上的第一个分区。 另请参阅Linux内核文档(Documentation / devices.txt文件)。 基于此,我了解到在Linux上下文中,类似/dev/hda或的字符串/dev/sda是“设备名称”。否则,我上面强调的第二句话就没有意义:而是说:“ 例如,sda1是系统中第一个硬盘上的第一个分区。 ” Linux Partition HOWTO证实了这种观点: 按照约定,IDE驱动器的设备名称将从/ dev / hda改为/ dev / hdd。 子字符串hda或sda这样的设备名称是否有技术上正确的(最好是明确而简洁的)英语术语?例如,在这种情况下调用sda驱动器是否正确: “简称”; 要么 “不合格的设备名称”;要么 还有什么吗 (我并不要求口语在技术上是不正确的,即使它们是普遍使用的。)
16 linux  gnu  terminology 

2
如何启用和使用BFQ调度程序?
我刚刚使用ukuu(Ubuntu内核更新实用程序https://doc.ubuntu-fr.org/ubuntu_kernel_upgrade_utility)在Ubuntu 17.04上安装了Linux内核版本4.12 。 问题是,当我检查可用的I / O调度程序时,似乎找不到BFQ或Kyber I / O调度程序: cat /sys/class/block/sda/queue/scheduler > noop deadline [cfq] 那么如何使用此Linux版本中的新调度程序之一?

6
脚本启动后选择解释器,例如if / else在hashbang中
有没有办法动态选择正在执行脚本的解释器?我有一个在两个不同系统上运行的脚本,并且我要使用的解释器位于两个系统上的不同位置。我最终必须要做的是每次切换时都更改hashbang行。我愿做一些事情,是合乎逻辑的该等效(我知道这个确切的结构是不可能的): if running on system A: #!/path/to/python/on/systemA elif running on system B: #!/path/on/systemB #Rest of script goes here 甚至更好的是,它尝试使用第一个解释器,如果找不到,则使用第二个: try: #!/path/to/python/on/systemA except: #!path/on/systemB #Rest of script goes here 很显然,我可以代替执行它 /path/to/python/on/systemA myscript.py 还是 /path/on/systemB myscript.py 取决于我在哪里,但我其实有一个包装脚本启动myscript.py,所以我想以指定Python解释器编程而不是手工的路径。

6
最快,最有效的方法来获取gzip压缩文件中的记录(行)数
我正在尝试对7.6 GB gzip文件进行记录计数。我发现使用该zcat命令的方法很少。 $ zcat T.csv.gz | wc -l 423668947 这可以工作,但是需要太多时间(超过10分钟才能获得计数)。我尝试了更多类似的方法 $ sed -n '$=' T.csv.gz 28173811 $ perl -lne 'END { print $. }' < T.csv.gz 28173811 $ awk 'END {print NR}' T.csv.gz 28173811 这三个命令的执行速度都非常快,但计数错误28173811。 如何在最短时间内执行记录计数?
16 shell  gzip 


4
shell变量和环境变量在用法上有什么区别?
我实际上不知道可以从命令行访问两种不同类型的变量。我所知道的是,我可以像这样声明变量: foo="my dear friends" bar[0]="one" bar[1]="two" bar[2]="three" 或使用$符号访问它们,例如: echo $foo echo ${bar[1]} 或使用内置变量,例如: echo $PWD PATH=$PATH:"/usr/bin/myProg" 现在,我听说有两种(至少?)变量类型:外壳变量和环境变量。 拥有两种不同类型的目的是什么? 我怎么知道变量是哪种类型? 每种的典型用法是什么?

4
存放软件源文件的标准位置
Linux中是否存在用于保存源文件(例如OpenSSL)的标准位置。我正在使用非默认版本的OpenSSL从源代码构建Nginx。我需要下载并解压缩OpenSSL,并在主目录中完成了它。现在,我想知道Linux中是否有标准位置/opt?

1
谁决定哪个应用程序从键盘接收信号?
我目前对来自终端中键盘的信号的理解是(主要基于试图将我的观察结果映射到可以在google上找到的内容),如下所示: 用户按抄送 这作为字节发送到终端的输入缓冲区,该字节是通过从c的7位ascii值中清除最左边的2位而计算得出的 此后,它开始变得非常模糊,因为配置什么输入意味着在端子(stty)中完成了什么信号。我想这意味着终端本身正在将信号发送到进程。但是我也尽管那个终端不知道正在读取它的应用程序。 终端中的键盘发送信号如何从头到尾工作?
16 terminal  signals 

1
为什么允许“谁mil”不产生任何输出?
在2016年版的IEEE Std 1003.1-2008(又名Open Group基本规范第7期,或仅是POSIX标准)中,该who实用程序的“基本原理”部分提到以下内容: 一个实现对于调用who mil不产生任何输出是可以接受的。 谁或什么是“密尔”?为什么实现不允许产生任何输出who mil?
16 history  posix  who 

1
如何获得平均管道流速
如果myfile随着时间增加,我可以使用 tail -f | pv -lr > /dev/null 它给出的是瞬时速度,而不是平均速度。 如何获得平均速度(即速度函数v(t)在监视时间内的积分)。
16 pipe  monitoring  tail  fifo  pv 


1
分离Mutt中的附件
将文件附加到Mutt中的电子邮件后,我找不到重新分离该文件的方法。当然必须有一个吗?
16 mutt 

2
Debian 8.6上的Ghost NTP服务器
因此,我和大学的IT安全团队一直在不停地走来走去...任何人对此都有任何想法: 我最近为我的实验室设置了一台小型文件服务器,在专用计算机上运行Debian 8.6(英特尔Avoton C2550处理器,很乐意在需要时提供更多硬件信息,但我认为没有必要)。Debian的安装没有任何问题,当时我还安装了Samba,NTP,ZFS和python。看起来一切正常,所以我让它在实验室的角落坐了几个星期。 大约两周前,我收到了IT团队的电子邮件,其中说我的服务器已“受损”,并且易受NTP放大/ DDoS攻击(使用CVE-2013-5211的NTP放大攻击,如https中所述)使用: //www.us-cert.gov/ncas/alerts/TA14-013A)。他们指向的标志是端口123上有很多NTPv2流量。奇怪的是,他们标识为(*.*.*.233)的IP地址与为服务器配置并通过ifconfig(*.*.*.77)报告的IP地址不同。但是,一些基本的故障排除表明我的计算机确实在端口123上生成了此流量(如tcpdump所示)。 这就是怪异开始的地方。我首先浏览了为CVE-2013-5211推荐的“修复程序”(同时更新了版本4.2.7之后的NTP并禁用了monlist功能)。两者均未阻止交通流量。然后,我尝试通过IP表阻止UDP 123端口: $ /sbin/iptables -A INPUT -o eth0 -p udp --destination-port 123 -j DROP $ /sbin/iptables -A OUTPUT -o eth0 -p udp --destination-port 123 -j DROP 但这对流量也没有影响。我最终尝试从系统中清除NTP,但这对流量也没有影响。截至今天下午,nmap仍在报告: Starting Nmap 5.51 ( http://nmap.org ) at 2016-12-19 16:15 EST Nmap scan report for *.233 Host …

8
如何计算文件中字节序列出现的次数?
我想计算某个字节序列在文件中发生了多少次。例如,我想找出该数字\0xdeadbeef在可执行文件中出现了多少次。现在我正在使用grep做到这一点: #/usr/bin/fish grep -c \Xef\Xbe\Xad\Xde my_executable_file (因为我的CPU是little-endian,所以这些字节以相反的顺序写入) 但是,我的方法存在两个问题: 这些\Xnn逃逸序列仅在鱼壳中起作用。 grep实际上是在计算包含我的幻数的行数。如果模式在同一行中出现两次,则只会计数一次。 有办法解决这些问题吗?我如何才能使这一衬板在Bash shell中运行并准确计算出文件中图案出现的次数?

4
如何直接显示手册页?
我正在为要打包的程序编写手册页。如何显示我创建的联机帮助页文件,以检查其是否正常?有没有一种方法可以将我的文件直接传递给man命令,而不是让它按名称搜索已安装的手册页? 我尝试做类似的事情man myprog.1,man < myprog.1但是在两种情况下,我都遇到一个错误,说找不到手册页。
16 man 

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.