Unix & Linux

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

4
Linux内核是否需要文件系统才能运行?
我的看法是肯定的,但确实如此,因为所有对外界的有用暴露(非特权处理器模式)首先都需要一个在外部运行的进程。这将需要一个文件系统,甚至是一个临时的RAM中文件系统。 另一位工程师不同意我的观点,但我似乎无法在所有(我不知道)的情况下证明这一点。 这个问题的答案是否取决于“运行”的定义?


2
为什么要始终使用rpm -U而不是rpm -i来安装软件包?
rpm具有-i(--install)选项以安装软件包 rpm具有-U(--upgrade)选项可安装或升级软件包 在Red Hat文档表明,rpm -i是完全可以接受的。 但是-U,即使我是第一次安装该软件包,我见过的每个文档都建议使用。 为什么rpm -U通常优先于rpm -i?
19 rpm 

1
如何保护Linux系统免受BlueBorne远程攻击?
Armis实验室发现了一种新的媒介攻击,它会影响所有启用了蓝牙的设备,包括Linux和IoT系统。 BlueBorne在Linux上的攻击 Armis在Linux操作系统中披露了两个漏洞,攻击者可以利用这些漏洞完全控制受感染的设备。第一个是信息泄漏漏洞,它可以帮助攻击者确定目标设备使用的确切版本并相应地调整其利用。第二个是堆栈溢出,可能导致对设备的完全控制。 例如,所有启用了蓝牙的设备都应标记为恶意。被感染的设备将创建一个恶意网络,使攻击者可以控制其蓝牙范围以外的所有设备。在Linux系统上使用蓝牙连接外围设备(键盘,鼠标,耳机等)会使Linux面临各种风险。 这种攻击不需要任何用户交互,身份验证或配对,因此实际上也不可见。 所有运行BlueZ的Linux设备都受到信息泄漏漏洞(CVE-2017-1000250)的影响。 经过BlueBorne Vulnerability Scanner的检查后,我所有启用了Bluetooth的Linux OS都被标记为易受攻击(Armis的 Android应用程序用于发现易受攻击的设备需要启用设备发现,但攻击仅需要启用Bluetooth。 在Linux系统上使用蓝牙时,是否可以减轻BlueBorne攻击?

2
如何终止Linux tee命令而不杀死它从其接收的应用程序
我有一个bash脚本,只要Linux机器通电就可以运行。我按如下所示启动它: ( /mnt/apps/start.sh 2>&1 | tee /tmp/nginx/debug_log.log ) & 启动后,我可以在ps输出中看到tee命令,如下所示: $ ps | grep tee 418 root 0:02 tee /tmp/nginx/debug_log.log 3557 root 0:00 grep tee 我有一个功能可以监视tee生成的日志的大小,并在日志达到一定大小时杀死tee命令: monitor_debug_log_size() { ## Monitor the file size of the debug log to make sure it does not get too big while true; do cecho …
19 linux  scripting  pipe  kill  tee 

3
ls是否与ls -1相同?
ls返回几列的输出,而ls|cat返回与ls -1我尝试过的目录相同的字节输出。我仍然看到ls -1答案中的管道,例如ls -1|wc -l。有没有理由更喜欢ls -1?为什么...|cat更改输出ls?
19 shell  ls 

6
如何部分提取压缩的巨大纯文本文件?
我有一个大小为1.5 GB的zip文件。 它的内容是一个荒谬的大型纯文本文件(60 GB),并且我目前在磁盘上没有足够的空间来提取所有文件,即使有,我也不想提取所有文件。 至于我的用例,只要我可以检查部分内容就足够了。 因此,我想将文件解压缩为流并访问文件的范围(就像可以通过普通文本文件的头部和尾部通过)。 通过内存(例如,从32GB标记开始提取最大100kb)或通过行(给我纯文本行3700-3900)。 有办法实现吗?

3
使用ImageMagick创建PDF超过2 GB的限制
我正在使用convert约2,000张图像创建PDF文件: convert 0001.miff 0002.miff ... 2000.miff -compress jpeg -quality 80 out.pdf 当输出文件达到2 ^ 31-1字节(2 GB -1)的消息时,该过程可重复终止 convert: unknown `out.pdf'. PDF文件规范允许≈10GB。我试图从中获取更多信息-debug all,但是在日志输出中没有发现任何有用的信息。文件系统是ext3,它允许至少16 GiB(可能更多)的文件。至于ulimit,file size是unlimited。/etc/security/limits.conf仅包含注释行。还有什么会导致此问题,如何增加限额? ImageMagick版本:6.4.3 2016-08-05 Q16 OpenMP 发行版:SLES 11.4(i586)

2
grep在不运行CPU时会做什么?
在寻找与的匹配项时grep,我经常注意到,后续搜索所花的时间比第一次搜索少得多,例如25s与2s。显然,这不是通过重用上次运行的数据结构来实现的,而应该重新分配这些数据结构。在上运行time命令grep,我注意到了一个有趣的现象: real 24m36.561s user 1m20.080s sys 0m7.230s 其余时间去哪里了?我能做些什么使它每次快速运行吗?(例如,在grep搜索文件之前,让另一个进程读取文件。)
19 grep  performance 

3
Bash中的嵌套括号扩展之谜
这个: $ echo {{a..c},{1..3}} 产生这个: a b c 1 2 3 哪个很好,但是鉴于这一点很难解释 $ echo {a..c},{1..3} 给 a,1 a,2 a,3 b,1 b,2 b,3 c,1 c,2 c,3 这是在某处记录的吗?《Bash参考》没有提及它(即使它有使用它的示例)。

1
echo [9876543210]显示1 4 5 6…为什么?
请解释为什么最后四个echo语句显示1 4 5 6?我曾经无意中碰到了这个,但是现在我好奇为什么会发生这种行为。 这些语句按预期工作(对我而言)。 $ echo [ 9876543210 ] [ 9876543210 ] $ echo [237890] [237890] 这些echo语句始终显示1 4 5 6.这些数字是否有特殊之处? $ echo [9876543210] 1 4 5 6 $ echo [abcd9876543210ghi] 1 4 5 6 $ echo [-123456-] 1 4 5 6 $ echo [-7654321-] 1 4 5 6 谢谢! …

1
ps最多只能打印任何进程的命令行的4096个字符
当我为一个Java进程grep时,我得到的输出低于输出,但它被限制为4096个字符,这导致grep输出中未显示实际的进程名称(即kafka.Kafka)。 这是grep的限制吗?有什么方法可以打印超过4096个字符的字符? ps -ef | grep java java -Xmx6G -Xms6G-服务器-XX:+ UseG1GC -XX:MaxGCPauseMillis = 20 -XX:InitiatingHeapOccupancyPercent = 35 -XX:+ DisableExplicitGC -Djava.awt.headless = true -Xloggc:/ x / kafka / data01 / kafka-app -logs / kafkaServer-gc.log -verbose:gc -XX:+ PrintGCDetails -XX:+ PrintGCDateStamps -XX:+ PrintGCTimeStamps -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate = false -Dcom。 sun.management.jmxremote.ssl = false -Dkafka.logs.dir = …

2
Grep:在手册页标题中搜索单词时出现意外结果
尝试在macOS上grep手册页时遇到奇怪的行为。例如,Bash手册页显然出现了以下字符串NAME: $ man bash | head -5 | tail -1 NAME 如果我为grep name获得了结果,但是如果我为grep获得NAME,则不会: $ man bash | grep 'NAME' $ man bash | grep NAME 我尝试了其他我知道的大写单词,搜索SHELL没有BASH结果,而搜索了结果。 这里发生了什么? 更新:感谢您提供所有答案!我认为值得添加我遇到的环境。我想编写一个bash函数进行包装,man并且在尝试查找内置shell的手册页的情况下,跳至Bash手册页的相关部分。也许有更好的方法,但是这是我目前所拥有的: man () { case "$(type -t "$1")" in builtin) local pattern="^ *$1" if bashdoc_match "$pattern \+[-[]"; then command man bash | less …


3
/ dev / nvram危险写吗?
我发现nvram用于BIOS刷新/备份的信息,其中包含一些与BIOS相关的数据。会cat /dev/random > /dev/nvram永久使用计算机吗?我很想键入此命令,但是以某种方式我觉得它对我的机器来说效果不佳,所以我想我想知道玩此设备有多危险。

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.