Unix & Linux

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

4
有没有一种方法可以将一个程序的输出传递给另外两个程序?
抱歉,如果这是一个愚蠢的问题,但是我想在一行上完成这样的事情: $ prog1 | prog2 $ prog1 | prog3 因此,我基本上想执行prog1并将输出分别管道传输到prog2和prog3(而不是链式管道)。最初,我尝试使用tee,但这似乎并不正确,因为它会将输出转储到文件中(这不是我想要的)。 $ prog1 | tee prog2 | prog3 # doesn't work - creates file "prog2" 在某个时候,我可能想将其扩展到将输出传递给两个以上的程序,但是我现在只是从简单开始。 $ prog1 | prog2 $ prog1 | prog3 $ prog1 | prog4 ...
28 pipe 

4
从命令行刷新/重新加载活动的浏览器选项卡?
我正在尝试建立一个自定义工具链,在该工具链中,浏览器(Firefox或Chrome最好是Chrome)经常/经常/不断地被强制从命令行刷新。 (其想法是立即在相邻的Emacs框架中查看我正在编辑的html / webapp中的视觉变化-无需不断切换至浏览器以进行手动刷新。) 到目前为止我最接近的是跑步google-chrome FILE_PATH。但是,这每次都会打开一个新选项卡。 还有其他方法吗?


2
为什么文件的gzip版本会产生不同的md5校验和
我有四个文件是使用 svndump test.svn test2.svn test.svn.gz test2.svn.gz 现在当我运行这个 md5sum test2.svn test.svn test.svn.gz test2.svn.gz 这是输出 89fc1d097345b0255825286d9b4d64c3 test2.svn 89fc1d097345b0255825286d9b4d64c3 test.svn 8284ebb8b4f860fbb3e03e63168b9c9e test.svn.gz ab9411efcb74a466ea8e6faea5c0af9d test2.svn.gz 因此我无法理解为什么gzip压缩文件的方式有所不同,是否在压缩之前将时间戳记放置在某个地方?我有一个类似的问题,mysqldump因为它使用顶部的日期字段
28 gzip  hashsum 

3
更新yum之后,重新启动服务器是个好主意吗?
我知道yum update不时运行以更新我的Centos服务器是很好的,我什至看到可以自动执行此更新。我的问题是,是否需要在更新后重新启动服务器?这是个好主意吗?如果我不断更新却永不重启,该怎么办?
28 yum 

1
如何在gnome-shell中禁用键盘快捷键?
网上有很多教程,介绍如何设置各种功能以在键盘快捷键上激活,但是到目前为止,我仍无法弄清楚如何取消设置键盘快捷键。也就是说,一旦将快捷键设置为禁用状态,如何将其设置为禁用? 例如,说我想更改“启动终端”的键盘快捷键。我进入“ 系统设置”,选择“ 键盘”>“快捷方式”,然后在“ 启动器 ”下,在“ 启动终端”旁边单击单词Disabled,然后将其更改为New shortcut。我点击Ctrl+t或类似的东西,现在已经设置了快捷方式。 现在如何将其更改回Disabled?

1
为什么用这种方式将STDERR重定向到/ dev / null?
这对我来说没有意义。 wibble > /dev/null 2>&1 我想如果是这样的话会更有意义: wibble 2>&1 > /dev/null 换一种说法 Commands Output Sendall STDERRORS to STDOUT then SEND it all to /dev/null 命令重定向的顺序背后的想法是什么xxx > /dev/null 2>1?

1
Unix现在是什么?
正如我在Wikipedia上读到的那样,Unix最初是一种革命性的操作系统,主要使用C语言编写,因此可以移植并在不同的硬件上使用。接下来提到Unix的后代,主要是BSD。还讨论了Unix,Minix / Linux的克隆。 但是原始的Unix操作系统发生了什么? 它现在是否已作为操作系统存在,或者仅是像POSIX这样的标准? 请注意,我知道这个答案,但是除了派生的作品外,它没有提到原始Unix的命运。
28 history 


3
如何在Shell脚本中更改PATH?
我有几个项目需要更改Java / Grails / Maven的版本。我正在尝试通过一些脚本来进行更改。例如: #!/bin/sh export JAVA_HOME=/cygdrive/c/dev/Java/jdk1.5.0_22 export PATH=$JAVA_HOME/bin:$PATH export GRAILS_HOME=/cygdrive/c/dev/grails-1.0.3 export PATH=$GRAILS_HOME/bin:$PATH export MAVEN_HOME=/cygdrive/c/dev/apache-maven-2.0.11 export PATH=$MAVEN_HOME/bin:$PATH which java which grails which mvn 执行此操作时,它成功地在脚本的上下文中更改了PATH,但随后脚本结束了,并且尚未完成任何更改。 如何运行脚本以更改当前正在使用的shell的PATH? 我正在使用Cygwin。

2
cal坏了吗?1752年9月发生了什么?
如果查看输出,cal 9 1752您将看到以下奇怪的输出: September 1752 S M Tu W Th F S 1 2 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 名为“下面的故事CAL 9 1752解释说,” “被复制在90年代初一个新闻列表的出并在存档的有趣的东西集合了计算机的观众由David G.怀斯曼(网络管理员在计算机科学系大学部西安大略省)。 最初在某些旧版本7机器上编写“ cal”命令的人的代码中出现一个错误的错误。当malloc的变量覆盖12个额外的零字节字节时,这显示为一些错误的输出,从而导致上面看到的奇怪的日历输出。 现在,在他的右脑中没有人真正在乎1752年9月的日历。即使在UNIX下也没有1752年的想法,因为直到1970年初UNIX才开始出现。因此,甚至没人知道“ cal ”,直到很晚才出现此错误。到那时,有成千上万的“ cal”副本在周围浮动,其中许多仅是二进制文件。修复所有问题为时已晚。 因此,在1975年中,AT&T的一些高级官员会见了教皇,并达成了协议。追溯地更改了日历,使1752年9月与UNIX现实保持一致。由于历是计数改为向后从1752年9月14日,没有日期后受到了影响。之前的日期全都移动了12天。他们还修复了“ cal”手册页,以将错误记录为功能。 从9月3日到9月13日的11天简直就是记录。他们搜索了历史书籍,发现幸运的是,在那11天中没有发生任何有意义的事情。 总体而言,这整个事件几乎是非事件。后来一位科幻小说家听说了这件事,并将其放到科幻小说的完整作品《天堂的车床》中,我认为这本书与真实发生的情况几乎没有相似之处。 对输出异常的真正解释是什么?
28 history  cal 

8
禁用Unix上的键盘和鼠标输入(在X下)
一个人如何以编程方式临时“冻结”键盘和鼠标,从而使任何人都不会搞乱系统? 有几种有用的方法。例如,我有一台笔记本电脑,即使有人知道密码或可以猜出该密码(例如妻子或孩子),也要确保没有人使用它,同时还要降低小偷的食欲(因为看起来不舒服) -功能)。或者我正在远程做某事,因此我想确保计算机上的用户不会打扰。
28 xorg  keyboard  mouse  input 

1
为什么“ ls *”比“ ls”花费更长的时间?
我在目录中有几个文件: $ ls | wc -l 9376 谁能解释为什么使用ls *和会有如此大的时差ls? $ time ls > /dev/null real 0m0.118s user 0m0.106s sys 0m0.011s 和 $ time ls * > /dev/null real 1m32.602s user 0m0.233s sys 0m0.438s 好的,这是一个极好的示例,并且可能会得到增强,因为该目录位于通用并行文件系统(GPFS)上。但是我还可以看到本地文件系统的显着速度下降。 编辑: $ time ls -l > /dev/null real 0m58.772s user 0m0.113s sys 0m0.452s $ time ls …

3
复制文件并重命名
我有一棵巨大的文件树。某些文件具有相同的名称,但大小写不同,例如some_code.c和Some_Code.c。 因此,当我尝试将其复制到NTFS / FAT文件系统时,它会询问我是要替换文件还是跳过文件。 是否有任何方法可以自动重命名此类文件,例如,通过添加 (1)冲突文件的名称(如Windows 7一样)?
28 rename  file-copy 


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.