LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 795|回复: 9

号召 one line command

[复制链接]
发表于 2004-4-8 22:54:21 | 显示全部楼层 |阅读模式
大家能不能供献一下简单实用的命令?
以下命令可以 变 manpage 为 ps文件.
gunzip -cd `whereis -m $命令名   | cut -d " " -f2 ` | groff -t -e -mandoc -Tlatin1 | a2ps -4 -Apage --center-title=$命令名 --prologue=gray -P display
发表于 2004-4-9 00:43:48 | 显示全部楼层

回复: 号召 one line command

最初由 hongqing_hu 发表
大家能不能供献一下简单实用的命令?
以下命令可以 变 manpage 为 ps文件.
gunzip -cd `whereis -m $命令名   | cut -d " " -f2 ` | groff -t -e -mandoc -Tlatin1 | a2ps -4 -Apage --center-title=$命令名 --prologue=gray -P display

恕在下愚昧
http://www.linuxsir.cn/bbs/showthread.php?threadid=5125
发表于 2004-4-9 01:44:52 | 显示全部楼层
Hey, javalee兄,这个帖挺好啊。您的URL给了Linux命令的大集合,是基础,但是对于一些常用实用性强的精炼的单行复合命令,收集一下却是必要。我觉得掌握Linux命令的复合运用是提高shell coding技能的好方法。

以下命令可以寻找你要kill的process并将其kill掉。
-------------------------------------------------------------------------------------------
ps auxf | grep -v grep | grep proc_name | awk '{print $2}' | xargs -ti kill -9 {}
-------------------------------------------------------------------------------------------
将其中的proc_name变为你想要kill的process即可。
发表于 2004-4-9 01:57:44 | 显示全部楼层
最初由 yongjian 发表
Hey, javalee兄,这个帖挺好啊。您的URL给了Linux命令的大集合,是基础,但是对于一些常用实用性强的精炼的单行复合命令,收集一下却是必要。我觉得掌握Linux命令的复合运用是提高shell coding技能的好方法。

以下命令可以寻找你要kill的process并将其kill掉。
-------------------------------------------------------------------------------------------
ps auxf | grep -v grep | grep proc_name | awk '{print $2}' | xargs -ti kill -9 {}
-------------------------------------------------------------------------------------------
将其中的proc_name变为你想要kill的process即可。

谢谢~~~,不过像kill进程,没有必要太麻烦吧~,
pkill -9 procname
or
kill -9 $(ps -e|awk '/\<procname\>/{print $1}')
ps:在shell里,有很多脚本其实都是单行命令,这方面的的应用实际上就是管道与进程的有机结合运用.这样的例子咱们论坛里数不胜数~,;)
发表于 2004-4-9 03:01:38 | 显示全部楼层
谢谢javalee兄。虽然我介绍的命令挺长,但它利用了grep,那就是无须知道process的确切名称。因为以前我总是要先知道了process的名称,才能kill,killall,pkill... 你的第二个方法就是利用了awk的特性,其实是一个意思。条条大路通罗马嘛!
嗨,说到坛子...象我们这样技术低又想学的人太多,坛子大,东西多,坛子的搜索功能又不是很强,这就需要斑竹多费费心了。我个人觉得象这样经验收集的帖子是越多越好,当然最好不要重复。
发表于 2004-4-9 03:29:28 | 显示全部楼层
多谢兄弟的建议:thank
条条大路通罗马嘛!
这句话也是linux的一个"哲学",在linux里,一个问题,有N多种解决方法~,
发表于 2004-4-9 05:46:01 | 显示全部楼层
是啊。。。条条大路通罗马。。但我不能接受太长的指令,我怕会混在一起。。来这纯支持的。:p
发表于 2004-4-9 07:38:51 | 显示全部楼层
是,如果是太长的命令,即不利于理解,更不利于记忆。我个人比较喜欢合理的组合,比如合理的利用|,sed,awk,命令替换等完成一项较为复杂的任务。但又不是简单的命令叠加(象一排里用;分隔一大堆的命令是没用的)。
比如:  find . \! -name 'dir' \! '.*' -exec mv {} ./a \; 就一行,还没有用到复合命令,但是它完成了将当前目录中不是 dir自己的目录和所有不是已.开头的文件文件全部拷贝到dir目录中的任务。这样的命令就很精彩,是值得学习的。
发表于 2004-4-9 07:45:52 | 显示全部楼层
最初由 yongjian 发表
是,如果是太长的命令,即不利于理解,更不利于记忆。我个人比较喜欢合理的组合,比如合理的利用|,sed,awk,命令替换等完成一项较为复杂的任务。但又不是简单的命令叠加(象一排里用;分隔一大堆的命令是没用的)。
比如:  find . \! -name 'dir' \! '.*' -exec mv {} ./a \; 就一行,还没有用到复合命令,但是它完成了将当前目录中不是 dir自己的目录和所有不是已.开头的文件文件全部拷贝到dir目录中的任务。这样的命令就很精彩,是值得学习的。


对对对! 完全支持你说的。。
发表于 2004-4-9 08:17:24 | 显示全部楼层
再来一个.从文件的尾读起。知道javalee兄的(cat -n tmp|tac),但tac只是linux的哟。这个命令非常有利于查看log型文件。因为最近的log一般都在文件尾。tail当然也能看文件的尾部,但还是顺读,没有真正的倒读!
------------------------------------------------------------
cat -n filename | sort -brn -k1,1 | more
------------------------------------------------------------
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表