Unix & Linux

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

1
为什么我的TCP吞吐量比UDP吞吐量大得多?
我没有对硬件或内核配置(所有默认设置,全新的操作系统安装,Linux内核3.11 TCP / IP堆栈)进行任何异常处理,通过TCP我平均每秒平均发送约383万条消息,而我平均仅为0.75每秒通过UDP的百万条消息。这似乎完全违背了我对这两个协议的期望。 造成这种巨大差异的最可能原因是什么,如何在Ubuntu 13.10上进行诊断? #TCP RESULTS Recv Send Send Utilization Service Demand Socket Socket Message Elapsed Send Recv Send Recv Size Size Size Time Throughput local remote local remote bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB 87380 65536 64 10.00 1963.43 32.96 17.09 5.500 …

5
首先复制最小的文件?
我有一个很大的目录,其中包含我希望递归复制的子目录和文件。 有什么方法可以告诉cp它应该按文件大小顺序执行复制操作,以便最小的文件首先被复制?
15 shell  cp  file-copy  size 

2
哪一种是sed,awk,perl和sh中最便于移植的?
有人可以按可移植性顺序放置这些工具吗?即使在最小的* nix系统上,肯定可以找到其中的哪一个?是否肯定有100%存在?我的猜测是顺序如下: awk sed SH 佩尔 虽然我想象有些系统没有默认使用bourne shell,但是某些 shell将作为默认存在,会一直在/bin/sh吗?如果不是bourne型shell,大概不会。双方awk并sed有解释他们对POSIX规范的页面所以想必他们将始终存在。是这样吗?我可以确定两者都将安装在任何* nix上吗?包括嵌入式系统?



5
当系统空闲时再次运行时运行命令
我想在用户变为非活动状态(系统处于空闲状态)时运行命令。例如: echo "You started to be inactive." 同样,当用户再次活动时(系统不再处于空闲状态): echo "You started to be active, again." 我需要一个可以执行此操作的shell脚本。没有计时器/间隔就可以吗?也许一些系统事件?
15 linux  bash  shell 


1
UEFI / GPT系统的第二个硬盘上的双启动窗口
我想安装linux,但是我不想冒险破坏当前的Windows安装,因为我听到了很多恐怖的故事。幸运的是,我有一个额外的硬盘。我可以在上面安装linux,然后在不修改Windows驱动器的情况下安装双启动窗口吗? 另外,我有一个UEFI“ BIOS”,并且Windows驱动器是GPT格式。
15 linux  windows  dual-boot  uefi  gpt 

2
如何确定tar在文件上的工作顺序?
$ touch dir/{{1..8},{a..p}} $ tar cJvf file.tar.xz dir/ dir/ dir/o dir/k dir/b dir/3 dir/1 dir/i dir/7 dir/4 dir/e dir/a dir/g dir/2 dir/d dir/5 dir/8 dir/c dir/n dir/f dir/h dir/6 dir/l dir/m dir/j dir/p 我希望它是按字母顺序排列的。但显然不是。公式是什么?
15 linux  tar  gnu  coreutils 

4
类似于shell的二进制处理环境
这个问题前几次出现在我面前,现在是对问题的回应,它 来自Bash中stdin的二进制数据块, 在/programming/993434/what-language-is-to-binary中给出按文本进行操作也不令人满意。 我正在寻找一个专门用于处理二进制文件I / O的脚本环境。我知道我可以使用一种成熟的编程语言(c / Python / ...),但是它们有巨大的初始化和编码开销(c中的分配和fread / fwrite,Python中的位串...)更不用说它们不太适合编写脚本(从中调用其他应用程序)。Perl的unpack功能,面向字符串的操作和愚蠢的语法没有更好的选择。 类似od,但作为一种语言。 我的期望: 使用单个开关/命令设置或更改字节序。 请求类型的简单的规范(像延伸的bash read var用int32 var, float var等)。 通过管道处理二进制,跳过指定的字节数。 我们习惯的标准脚本流控制(for / if / ...)。 我想以与检查ASCII文件时一样的便捷性和洞察力来处理原始数据(摄影,科学数据,未知和记录不良的格式)。我现在正在使用c,但是它不是临时脚本的最佳选择,并且不能交互。 有谁知道这样的工具?请没有clicky GUI软件,它需要通过ssh,其他脚本等工作。“不存在”是可以接受但令人沮丧的答案。

4
如何测量和防止时钟漂移?
在几个生产平台上,我们已经观察到症状,这些现象似乎表明一天中的时钟周期性地向前或向后跳跃。跳跃通常在1秒钟左右,通常会被抵消(向前跳跃然后在很短的时间内向后跳跃),每天大约发生50次。在应用程序使用高峰期以及磁盘I / O操作频繁(例如日常备份)期间,这种变化最为明显。这些漂移正在影响我们的软实时敏感应用程序。 系统是运行带有默认内核3.0.58-0.6.6-SLES 11SP2的Oracle Netra X4250和Netra X4270服务器。 $ cat /sys/devices/system/clocksource/clocksource0/available_clocksource tsc hpet acpi_pm $ cat /sys/devices/system/clocksource/clocksource0/current_clocksource tsc 我们已禁用NTP,但这对漂移没有任何影响。是否有用于测量一天中时钟漂移的工具?我们如何避免这种情况? 这些是生产平台,我们无法在实验室中重现该问题,因此我的实验能力受到限制。如果留给我自己的设备使用,我将编写一个测量漂移的工具,并可能尝试使用HPET时钟源。
15 linux  sles  clock 

5
为什么Docker容器在Ubuntu 12.04上没有启动脚本的情况下无法在启动时启动?
使用有关在运行Ubuntu 12.04和Docker 0.8.1的Linode VPS上自动启动 Docker的说明,指定的容器不会在重新启动时启动。 一旦启动,我就能 ~$ sudo start [service-name] 一切都按计划进行,但我也想让容器在重启后重启。 教程中的脚本是否不旨在处理重启? / etc / default / docker文件包含一行: DOCKER_OPTS="-r=false" /etc/init/service-name.conf直接来自docker页面: description "service description" author "me" start on filesystem and started docker stop on runlevel [!2345] respawn script # Wait for docker to finish starting up first. FILE=/var/run/docker.sock while [ ! …
15 ubuntu  upstart  lxc 

1
从另一个文件中列出的文件中查找模式
我想找到一个文件中列出的模式,然后在另一文件中找到它们。第二个文件的模式用逗号分隔。 例如第一个文件F1具有基因 ENSG00000187546 ENSG00000113492 ENSG00000166971 第二个文件F2具有这些基因以及一些我需要的列(五列) region gene chromosome start end intronic ENSG00000135870 1 173921301 173921301 intergenic ENSG00000166971(dist=56181),ENSG00000103494(dist=37091) 16 53594504 53594504 ncRNA_intronic ENSG00000215231 5 5039185 5039185 intronic ENSG00000157890 15 66353740 66353740 因此,第二个文件中存在的基因ENSG00000166971不会出现在grep中,因为它带有另一个用逗号分隔的基因。 我的代码是: grep -f "F1.txt" "F2.txt" >output.txt 即使存在其中一个值,我也想要这些值以及与之关联的数据。是否有任何方法可以做到这一点?
15 grep 

2
通过apt下载软件包以使用另一种体系结构
我当前使用的是amd64体系结构,因此当我尝试使用时apt-get download vlc,它会为我的系统下载适当的体系结构,但是如何通过apt下载i386版本? 它用于导出到另一个没有Internet连接的系统,是否有任何方法可以下载随后的任何依赖项?
15 apt 

2
uniq -t是做什么的?
我有一些来自2003年的旧代码,其中使用-t了uniq命令选项。由于可能不再支持该选项,因此会引发错误。 这是使用命令的片段: egrep -n "{ IA32_OP" ia32-decode.c | \ awk '{ print $1 $3 $4 }' | \ sort -t '(' +1 | \ uniq -t ':' -f 1 | \ sed 's/\(.*\)\:IA32_OP(\(.*\)),/#define IA32_OP_\2 \1/g' >> ia32_opcodes.h 那时候那个选项做了什么?我可以用什么代替该命令?
15 uniq 

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.