Articles of unix

可以将多个.gz文件合并为一个文件吗?

可以说,我有3个文件: 1.txt , 2.txt和3.txt都是gzipped。 我知道,gzip允许多个文件结合使用猫: cat 1.gz 2.gz 3.gz > 123.gz 但是,当提取123.gz将产生原始的3个文件。 是否有可能将三个档案合并成一个档案内的单个文件将被合并成单个文件的方式?

为什么在vim中使用Esc?

Vi编辑器最初是在一个ADM-3Aterminal上编写的,该terminal的Tab键代替了Tab键(与大多数现代键盘相比)。 许多触摸打字员都很喜欢这样一个事实,即在使用Vim的时候,他们可以将手放在键盘的一排,但是使用Esc会使得必须离开手按Esc键。 我目前正在学习vim。 应该把Esc重新映射到别的地方? 这种情况最常见的重映射是什么? 或者我应该离开重新esc的想法,并继续使用它? vim的亲用户做什么?

tempfile和mktemp有什么区别?

我遇到的大多数系统都有tempfile(1)和mktemp(1) 。 有语法上的差异,而且mktemp也可以创build目录,但是它们看起来是一样的。 两者有什么区别? 为什么两者都存在? 比另一个更标准吗? 如果我只想安全地创build一个临时文件,是否有任何理由相对于另一个? 我怀疑在这之后有一些有趣的Unix绝杀,但是我的search没有任何结果。

如何移动相对符号链接?

我有很多相对的符号链接,我想移动到另一个目录。 如何在保留正确path的同时移动符号链接(具有相对PATH的链接)?

在Linux C中清除terminal程序的输出

我想清除用printf语句生成的C程序的输出。 我只想清除一行,例如: [资源] printf("AAAAAAAAAAAAAA"); printf("BBBBBBBBBBBBBB"); printf("CCCCCCCCCCCCCC"); printf("DDDDDDDDDDDDDD"); [终奌站] AAAAAAAAAAAAAA BBBBBBBBBBBBBB CCCCCCCCCCCCCC DDDDDDDDDDDDDD [我希望] AAAAAAAAAAAAAA BBBBBBBBBBBBBB CCCCCCCCCCCCCC 我会把“DDDDDDDDDDDDDDD”一行写在其他string中。 我只想把上面的A,B,C句子留下。 只有清楚D句子才能改变其他句子,无条件输出D句子。 我该怎么做呢?

在Linux上安装Oracle Instantclient而不设置环境variables?

Oracle的说明指定了设置LD_LIBRARY_PATH。 这使得我的应用程序依赖于随机用户的configuration,并且非常麻烦。 我怎样才能避免设置任何环境variables? OS / X的相关说明: 在Mac OS / X上安装Oracle Instantclient而不设置环境variables?

write()系统调用什么时候写入所有请求的缓冲区而不仅仅是部分写入?

如果我在write()系统调用中写入例如100字节,我总是把这个write()调用放在一个循环中,检查返回的长度是否是我期望发送的长度,如果不是,它碰撞缓冲区指针并减less写入量的长度。 所以我再一次做到了这一点,但现在有了StackOverflow,我可以问你们,如果有人知道我写的东西什么时候会写出我要求的所有东西,还给我一个部分写入? 附加注释:X-Istence的回复提醒我,我应该注意到文件描述符是阻塞的(即不是非阻塞的)。 我认为他暗示,一个阻塞文件描述符上的write()不会写入所有指定的数据的唯一方法是当write()被一个信号中断时。 这似乎至less让我觉得直觉…

Bash数组和否定的下标,是或否?

GNU bash手册告诉我 如果使用语法分配了任何variables,则会自动创build索引数组 name[subscript]=value 下标被视为必须计算为数字的算术expression式。 如果下标的计算结果为小于零的数字,则将其用作大于数组最大索引的偏移量(因此,下标-1表示数组的最后一个元素)。 所以我想我会试一试,得到以下结果: $ muh=(1 4 'a' 'bleh' 2) $ echo $muh 1 $ echo ${muh[*]} 1 4 a bleh 2 # so far so good so now I'll try a negative … $ echo ${muh[-1]} -bash: muh: bad array subscript # didn't go as planned! 我做错了什么,或者网站错了,或者是与在CentOS下运行的bash不同的gnu bash? 谢谢!

在shell脚本中使用只读variables

是否使用只读variables的shell编程习惯是否可行或者是否有缺陷? 例如,如果我想写一些由多个使用不可变文件path的脚本文件组成的脚本,那么声明这样的path是否有意义: readonly LOGS export LOGS LOGS="/some/path" 另一个问题:将单独和繁琐的过度阅读的shell脚本代码分割成单独的文件是一个好主意吗? 非常感谢您的答复。

如何连续显示其最后几行内容的文件

我试图find一个Unix命令(也许组合)如何连续显示其最后几行内容的文件。 但是在这个显示过程中,当滚动内容到达屏幕顶端的时候,我希望屏幕上方总是显示一些顶行。 那可能吗? (1)假设我有文件“job.sta”,前两行是:job的名称,约翰的工作2013年1月30日,… tab1,tab2,tab3 0,1,2,1,90, 89 2,89,23 … (2)这个文件正在运行,它的内容正在增长,我不知道它会以什么结束。 (3)所以我想在使用tail命令时显示(总​​是)前2行,当更新内容到达Unix shell的屏幕上时。 目前我正在使用PuTTY。 参考: http : //www.unix.com/unix-dummies-questions-answers/172000-head-tail-how-display-middle-lines.html