【发布时间】:2010-11-09 08:00:36
【问题描述】:
有很多事情是所有程序员都应该知道的,但我对我们都应该知道的 Unix/Linux 命令特别感兴趣。用于完成我们在某些时候可能会遇到的任务,例如重构、报告、网络更新等。
之所以好奇,是因为我在攻读学位期间曾在一家软件公司担任软件测试员,我注意到所有开发人员(开发 Windows 软件)都有两台电脑。
他们的左边是他们的 Windows XP 开发机器,右边是 Linux 机器。我认为是 Ubuntu。无论如何,他们告诉我他们之所以使用它,是因为它提供了 Windows 在他们的开发过程中无法做到的强大的 unix 操作。
这让我很想知道,作为一名软件工程师,您认为哪些是您可以在 Unix/Linux 操作系统上执行的最强大的脚本/命令/用途,每个程序员都应该知道这些脚本/命令/用途是为了解决现实世界的任务这可能不一定与编写代码有关?
我们都知道 sed、awk 和 grep 的作用。我对一些实际的 Unix/Linux 脚本片段感兴趣,它们已经为您解决了一个难题,因此其他程序员可能会受益。请提供您的故事和来源。
我相信人们在他们的“Scripts”文件夹中保存了许多这样的示例。
更新:人们似乎误解了这个问题。我不是在询问单个 unix 命令的名称,而是为您解决了问题的 UNIX 代码 sn-ps。
来自社区的最佳答案
遍历目录树并打印出任何与正则表达式匹配的文件的路径:
find . -exec grep -l -e 'myregex' {} \; >> outfile.txt
调用默认编辑器(Nano/ViM)
(适用于大多数 Unix 系统,包括 Mac OS X) 默认编辑器是您的任何 “EDITOR”环境变量是 调成。即:出口 EDITOR=/usr/bin/pico 这是 位于 Mac OS 下的 ~/.profile 十。
Ctrl+x Ctrl+e
列出所有正在运行的网络连接(包括它们所属的应用)
lsof -i -nP
清除终端的搜索历史(我最喜欢的另一个)
history -c
【问题讨论】:
-
如果这是一个社区 wiki 会更好(我认为)。
-
好的,它现在是一个社区维基
-
有趣的是 Ctrl-x Ctrl-e,但在我的例子中它调用了 Vim...xD
-
它调用任何设置的“EDITOR”环境变量。
标签: unix command-line scripting