Unix & Linux

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

2
如何查看交换中的内容?
在我的系统上,我使用了一些交换: undefine@uml:~$ free total used free shared buffers cached Mem: 16109684 15848264 261420 633496 48668 6096984 -/+ buffers/cache: 9702612 6407072 Swap: 15622140 604 15621536 如何查看交换中的内容? 我尝试通过进程进行检查,但是系统VmSwap上的每个pid均为0: undefine@uml:~$ awk '/VmSwap/ {print $2}' /proc/*/status |uniq 0 交换中还有什么?我考虑过tmpfs-但是我重新读取了tmpfs-es上的所有文件-并且它不刷新交换大小。
15 linux  swap 

2
驱动程序模块是否自动加载和卸载?
在Ubuntu 14.04上,我发现当不插入外部无线适配器时,其模块rt2800usb仍显示在中lsmod。 什么时候会自动加载驱动程序模块?是设备连接到计算机时还是操作系统启动时? 什么时候会自动卸载驱动程序模块?是设备断开与计算机的连接还是操作系统关闭时?

4
如何将文件填充到所需大小?
我有一个文件要填充,直到达到16 MiB(16777216字节)。当前为16515072字节。差异为262144字节。 我该如何填充? 这似乎不起作用: cp smallfile.img largerfile.img dd if=/dev/zero of=largerfile.img bs=1 count=262144
15 dd 

5
使用grep和文件中的图案一起打印不匹配的图案
pattern.txt: "BananaOpinion" "ExitWarning" "SomeMessage" "Help" "Introduction" "MessageToUser" Strings.xml <string name="Introduction">One day there was an apple that went to the market.</string> <string name="BananaOpinion">Bananas are great!</string> <string name="MessageToUser">We would like to give you apples, bananas and tomatoes.</string> 预期产量: "ExitWarning" "SomeMessage" "Help" 如何打印在中patterns.txt找不到的条款Strings.xml?我可以打印匹配/不匹配的线路中Strings.xml,但我如何打印出无与伦比的模式?我正在使用ggrep(GNU grep)2.21版,但可以使用其他工具。抱歉,如果这是我找不到的另一个问题的重复。
15 grep 

1
您是否需要在fstab中指定“默认”选项?
在凯旋门上维基fstab指定的选项/是defaults,noatime,但在我安装的默认fstab用的选项创建的rw,relatime。该拱门维基覆盖atime问题。我很好奇的是该defaults选项。的man页面显示mount: 默认值 使用默认选项:rw,suid,dev,exec,auto,nouser和async。 请注意,所有默认安装选项的实际设置取决于内核和文件系统类型。有关更多详细信息,请参见本节的开头。 仅在defaults提供选项时才使用默认选项,还是在所有情况下都使用默认选项?我需要defaults我的fstab吗?
15 fstab  options 

3
保存退出代码以备后用
因此,我有一个用于运行某些测试的小脚本。 javac *.java && java -ea Test rm -f *.class 现在的问题是,当我运行脚本时./test,即使由于rm -f *.class成功而导致测试失败,它也会返回成功的退出代码。 我想让它做我想做的唯一方法对我来说很丑陋: javac *.java && java -ea Test test_exit_code=$? rm -f *.class if [ "$test_exit_code" != 0 ] ; then false; fi 但这似乎是一个常见的问题-执行任务,清理,然后返回原始任务的退出代码。 什么是最惯用的方式(使用bash或一般来说只是shell)?

4
最简单的安全沙箱(需要有限的资源)
我正在执行一个实现分布式模拟的项目:在多个节点上执行任意代码,然后收集并汇总结果。 每个节点都是Ubuntu Linux虚拟机的一个实例,并运行一个主进程,该进程负责将要执行的代码转发给多个工作进程(每个内核1个)。 这个问题是关于如何确保每个工作程序在沙盒环境中运行,而又不对每个工作程序使用虚拟机实例。对工人的确切要求是: fs:没有写权限,只读权限仅限于一个目录(和子文件夹) net:仅允许本地通信(IPC,TCP等) mem:限制内存使用量(无交换内存),如果超过mem限制则终止 cpu:仅允许1个内核,如果超过时间限制则终止 不应施加其他限制:工作者应该能够加载动态库(从只读文件夹),生成新线程或进程,调用系统函数,ecc ecc,但限制必须由生成/加载的实体继承,并且应该以总和的方式应用(例如,我们不能让一个工作器产生两个各自使用800MB的线程,则该工作器的内存限制为1GB)。 毋庸置疑,工人没有权利提高自己的权利。 我花了相当多的时间来审查可用的替代方案(SELinux,AppArmor,cgroups,ulimit,Linux名称空间,LXC,Docker等),以找到满足我的要求的最简单的解决方案,但是我在该领域的经验有限。 当前的理解:在我的用例中,LXC和Docker有点沉重,并不完全安全1。由于易于配置,AppArmor优于SELinux,可将其用于fs和网络限制;cgroups比ulimit(在单个进程上运行)更可取,将其用于mem和cpu限制。 这是实现我的目标的最简单方法吗?我可以单独使用AppArmor还是cgroup?我的模型中是否存在明显的安全漏洞?指导方针应该是“允许工人放下自己,但别无其他”。

3
如何用xargs引用参数
假设我要删除文件夹中大于1 MB的所有文件。 $ find . -size +1M | xargs -0 rm 这不会删除名称中带有空格的文件。因此,我希望它引用发送给的所有参数rm。如果find给出,Some report.docx则应传递"Some report.docx"给rm。 我怎样才能做到这一点?
15 shell  find  quoting  rm  xargs 


10
如何使Kali Linux不入睡?
我在Windows7的vmware上使用Kali linux。我一直在尝试破解我的wpa密码,并注意到当我让系统运行(正在破解密码的过程中)并使笔记本电脑继续运行约10至15分钟后,Kali linux会进入睡眠状态,而我却没有确定使用reaver的破解过程是否仍在运行。当我单击页面时,会出现一个框,提示我输入用户名和密码。当我在其中输入内容时,我会重新登录,但是打开屏幕破解密码的屏幕不再存在,一切开始冻结很多。鼠标停滞了,如果我尝试单击任何东西,那么一切都会发生很大的延迟,甚至什么也没有。 也没有选项可以防止屏幕无限地进入非活动状态。(锁定和亮度最大时间为1小时) 从那以后,我不得不切换回原路以进行破解,并且运行状况良好,长时间搁置也无法入睡。 现在我想知道的是如何防止kali linux进入睡眠状态并关闭正在进行的工作? 在这个问题上的任何帮助,将不胜感激。


4
如何将长sed表达式分成多行?
sed 's/[long1][long2]/[long3][long4]/' file.txt 我想将此命令拆分为多行-fx如下所示: sed 's/ [long1] [long2] / [long3] [long4] /' file.txt 使用\或分隔字符串无效。
15 sed 

2
有没有办法找出为什么tmux崩溃了
我正在尝试从使用VNC转向tmux。我的tmux至少每周至少崩溃一次,我不知道为什么会发生这种情况。VNC很少崩溃,因此每周崩溃对我完全切换非常不利。 有没有办法找出tmux崩溃的原因?我的.tmux.conf很简单 #Don't show the green ribbon below set -g status off #Select panes by mouse click set -g mouse-select-pane on #enable scrolling by mouse in tmux set-window-option -g mode-mouse on #enable resize of pane by mouse set -g mouse-resize-pane on 我使用终端模式设置为256色的iterm2,并大量使用vim插件和colorschemes(Lid,nerdtree,tagbar,indentLine,molokai等)。要调整终端颜色,我在.vimrc中进行了以下设置,但是我不确定这些是否与tmux崩溃有关 set t_ut= set t_Co=256 另外,我在vim中启用了鼠标 set mouse=a 有没有办法找到为什么我的tmux会话崩溃的原因? …
15 tmux 

1
Gnu / Linux上Windows服务的替代品或等效产品是什么?
我想知道Gnu / Linux上Windows服务的替代品或等效产品是什么。它是像X或Pulseaudio这样的服务器,但没有任何意义,因为Windows上的主题服务,Gnu / Linux上的主题服务的替代品是WM或DE。当您的主用户目录之外没有其他替代品或等效物时,它是否类似于Windows注册表。
15 windows  services 

3
如何负责地在Arch Linux上自动运行更新?
我是Arch Linux的新手,并且仍然习惯于它的某些范例。我从另一个发行版中吸取了很多习惯,该发行版结构化了很多,并且在某些方面可以预见。 我想在少数系统上做的一件事¹是使cron作业能够自动更新所有系统软件包。这似乎很容易,除了我还希望从系统中得到一些有意义的反馈,告诉我事情进展得不是那么冗长,以至于我最终忽略了它,直到发现系统正在运行。 的完整输出pacman是不必要的。我不在乎下载用了多长时间,或者它是否在53的更新46中。 在大多数情况下,我并不关心成功。 我确实关心错误。如果更新运行失败,我想知道它,任何特定的错误消息都应打补丁。 我确实关心安装过程中发出的“通知”。例如,今天的systemd更新说: :: coredumps are no longer sent to the journal by default. To re-enable: echo >/etc/sysctl.d/50-coredump.conf \ "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e" 或文件系统产生此: warning: /etc/group installed as /etc/group.pacnew warning: /etc/passwd installed as /etc/passwd.pacnew warning: /etc/shadow installed as /etc/shadow.pacnew 最后一个类别实际上是促使我问这个问题的原因,因为似乎在整个包装组中这些不一致。其中一些似乎是由生成的post_upgrade(),其他是由install()等等生成的。有时将它们写入stdout,有时写入stderr。消息的格式差异很大:有时整个块以某种方式以缩进为前缀,而其他时候则只是一个裸露的回显字符串。 我想了解可能需要我干预系统但又不会打扰的事情。是否有工具可以智能地管理这些数据并简化系统管理?有什么方法可以使软件包生成的输出与安装它们的pacman进程分开吗?还是我自己编写一种解析器,以从安装日志中过滤掉良性内容? ¹在您跳到多么愚蠢的状态之前,请注意,我足够聪明,不会在生产服务器上执行此操作,并且也不会没有基于快照的完整系统备份,如果发生灾难,恢复将很容易。

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.