Articles of unix

Mac OSX中的“aptitude”是什么?

如何在OSX上执行“sudo apt-get install”?

我该如何解开unix中的tar.bz文件?

我发现了大量的页面,说明如何解开tar.bz2文件,但是如何解开一个tar.bz文件呢?

如何判断一个文件是否超过30分钟/ bin / sh?

如何编写脚本来确定/ bin / sh文件是否超过30分钟? 不幸的是系统中不存在stat。 这是一个旧的Unix系统, http://en.wikipedia.org/wiki/Interactive_Unix 不幸的是,系统上并没有安装Perl,客户也不想安装它,也没有别的。

为什么是“echo foo | 读一个; echo $ a“不按预期工作?

我可以在FreeBSD,GNU / Linux和Solaris下复制这个问题。 这让我头疼了一个多小时,所以我决定在这里提问。

GNU差异的百分比值

使用diff来显示两个文件之间的百分比差异的好方法是什么? 例如,如果文件有100行,副本有15行,那么差异百分比就是15%。

使用Recv-Q和Send-Q

netstat命令输出中使用Recv-Q和Send-Q列什么时候我们在实时场景中使用它? 在我的系统中,两列总是显示为零。 这是什么意思?

在UNIX上学习C ++编程的好书(pref Linux)?

用户能否帮助我在Unix平台上编写C / C ++代码的书籍? 我的重点是编写低延迟代码,用于电子交易平台。 (我意识到StackOverflow上有几个线程一般询问关于语言的书籍,但是我的Q是专门针对Unix操作系统编码的)

Linux的AIO:可怜的扩展

我正在编写一个使用LinuxasynchronousI / O系统调用的库,并想知道为什么io_submit函数在ext4文件系统上performance出较差的缩放。 如果可能,我可以做些什么来让io_submit不要阻塞大的IO请求大小? 我已经做了以下(如这里所述): 使用O_DIRECT 。 将IO缓冲区alignment到一个512字节的边界。 将缓冲区大小设置为页面大小的倍数。 为了观察内核在io_submit花费了多io_submit ,我运行了一个testing,在该testing中,我使用dd和/dev/urandom创build了1 Gbtesting文件,并重复丢弃了系统caching( sync; echo 1 > /proc/sys/vm/drop_caches )并且读取越来越大的文件部分。 在每次迭代中,我都会打印io_submit所花费的时间以及等待读取请求完成的时间。 我在运行Arch Linux的x86-64系统上运行以下实验,内核版本为3.11。 该机器具有SSD和Core i7 CPU。 第一个graphics绘制了等待io_submit完成所花费的时间。 第二个graphics显示等待读取请求完成的时间。 时间以秒为单位。 为了比较,我创build了一个类似的testing,通过pread使用同步IO。 结果如下: 看起来,asynchronousIO的工作如预期的要求约20,000页的大小。 之后, io_submit块。 这些意见导致了以下问题: 为什么不是io_submit的执行时间是常量? 什么是造成这种不好的缩放行为? 我是否需要将ext4文件系统上的所有读取请求拆分为多个请求,每个请求的大小都小于20,000页? 20,000这个“魔术”价值从哪里来? 如果我在另一个Linux系统上运行我的程序,如何确定使用的最大IO请求大小,而不会遇到缩放行为不佳的情况? 用于testingasynchronousIO的代码如下所示。 如果您认为他们是相关的,我可以添加其他来源列表,但我试图只发布我认为可能相关的细节。 #include <cstddef> #include <cstdint> #include <cstring> #include <chrono> #include <iostream> #include <memory> #include <fcntl.h> #include […]

chmod:如何recursion添加执行权限只有已经有执行权限的文件

我注意到: chmod -R a+x将执行权限添加到所有文件,而不仅仅是当前可执行的文件。 有没有办法将执行权限仅添加到已经为用户权限设置了执行权限的文件?

将parameter passing给awk脚本文件

如果我想将一个parameter passing给一个awk脚本文件,我该怎么做? #!/usr/bin/awk -f {print $1} 这里我想打印从shell中传递给脚本的第一个参数,如: bash-prompt> echo "test" | ./myawkscript.awk hello bash-prompt> hello