10 个你从未用过的 Linux 命令

这也许需要几年甚至是几十年,才能真正掌握 Linux shell 命令。这里有 10 个你从来没有听说或使用过的命令。他们在没有特定的顺序。我最喜欢的是 mkfifo。

1、pgrep, 替代:

# ps -ef | egrep '^root ' | awk '{print $2}'
1
2
3
4
5
20
21
38

39

...

你还可以这样:

# pgrep -u root
1
2
3
4
5
20
21
38
39
...

2、pstree,在tree 格式中列出进程,当有webSphere或重任务应用时非常有用。

# pstree
init-+-acpid
|-atd
|-crond
|-cups-config-dae
|-cupsd
|-dbus-daemon-1
|-dhclient
|-events/0-+-aio/0
| |-kacpid
| |-kauditd
| |-kblockd/0
| |-khelper
| |-kmirrord
| `-2*[pdflush]
|-gpm
|-hald
|-khubd
|-2*[kjournald]
|-klogd
|-kseriod
|-ksoftirqd/0
|-kswapd0
|-login---bash
|-5*[mingetty]
|-portmap
|-rpc.idmapd
|-rpc.statd
|-2*[sendmail]
|-smartd
|-sshd---sshd---bash---pstree
|-syslogd
|-udevd
|-vsftpd
|-xfs
`-xinetd

3、bc 是个任意精度计算器语言,它可以Shell脚本执行平方根操作,expr 不支持平方根。

# ./sqrt
Usage: sqrt number
# ./sqrt 64
8
# ./sqrt 132112
363
# ./sqrt 1321121321
36347
Here is the script:
# cat sqrt
#!/bin/bash
if [ $# -ne 1 ]
then
echo 'Usage: sqrt number'
exit 1
else
echo -e "sqrt($1)\nquit\n" | bc -q -i
fi

4、split, 你需要将大的文件分解称若干小部分?

split是你的命令,下面是将250MB文件分解为2M的块儿,所有开始于LF_前缀。

# ls -lh largefile
-rw-r--r-- 1 root root 251M Feb 19 10:27 largefile
# split -b 2m largefile LF_
# ls -lh LF_* | head -n 5
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_aa
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ab
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ac
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ad
-rw-r--r-- 1 root root 2.0M Feb 19 10:29 LF_ae
# ls -lh LF_* | wc -l
126

5、nl 数字线,在没发现nl之前,一直用脚本来实现。

# head wireless.h
/*
* This file define a set of standard wireless extensions
*
* Version : 20 17.2.06
*
* Authors : Jean Tourrilhes - HPL
* Copyright (c) 1997-2006 Jean Tourrilhes, All Rights Reserved.
*/#ifndef _LINUX_WIRELESS_H
# nl wireless.h | head
1 /*
2 * This file define a set of standard wireless extensions
3 *
4 * Version : 20 17.2.06
5 *
6 * Authors : Jean Tourrilhes - HPL
7 * Copyright (c) 1997-2006 Jean Tourrilhes, All Rights Reserved.
8 */9 #ifndef _LINUX_WIRELESS_H

6、mkfifo 是最酷的一个,你一定知道如何创建管道 输送grep的结果到LESS,可能甚至perl。

但是你知道如何使2个命令通过1个命名管道沟通?看下图,创建管道,开始写到它。

https://dn-linuxcn.qbox.me/data/attachment/album/201107/07/1320125hjjonek5r2zekbf.png

然后读取它:

https://dn-linuxcn.qbox.me/data/attachment/album/201107/07/132013i8bz7azno61x1xbh.png

7、ldd, 想知道java链接到哪个Linux线程库?

# ldd /usr/java/jre1.5.0_11/bin/java
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00bd4000)
libdl.so.2 => /lib/libdl.so.2 (0x00b87000)
libc.so.6 => /lib/tls/libc.so.6 (0x00a5a000)
/lib/ld-linux.so.2 (0x00a3c000)

8、col, 想保存帮助页面为纯文本?

# PAGER=cat
# man less | col -b > less.txt

9、xmlwf, 需要知道一个XML文档或许是配置文件是否合理?

# curl -s 'http://bashcurescancer.com' > bcc.html
# xmlwf bcc.html
# perl -i -pe 's@
@
@g' bcc.html
# xmlwf bcc.html
bcc.html:104:2: mismatched tag

10、lsof 列出打开文件,你可以用它做很多很cool的事情,比如查找哪个接口是开放的?


原文发布时间为:2011-07-08

本文来自合作伙伴“Linux中国”

时间: 2024-08-21 08:36:08

10 个你从未用过的 Linux 命令的相关文章

每个开发人员应该知道的10个Linux命令

作为一名软件工程师,学习Linux是我所做的最好投资.因为Linux是一个用户必须理解和维护的系统,所以日常体验就像向水坑加水滴一样.时间一长,水坑就会成为湖泊,甚至是海洋.所以我们必须杜微慎防. 今天,我作为一名30多岁的工程师,仍然受益于我几年前机缘巧合学到的一大堆知识,在我还是一个具有雄心壮志的初学者的时候.在另一篇博客中,我已经更详细地解释了为什么Linux对于软件开发人员来说是一个更加务实的选择. 在这篇博文中,我将分享一些不太受欢迎但非常有用的Linux命令,我个人极力推荐.如果你是

你值得了解的 10 个有趣的 Linux 命令行小技巧

我非常喜欢使用命令,因为它们比 GUI(图形用户界面)应用程序对 Linux 系统提供更多的控制,因此,我一直在寻找一些有趣的方法让 Linux 的操作变得简单好玩,主要是基于终端操作. 当我们发现使用 Linux 的新技巧时,尤其是像我这样的命令行极客,我们总会感到非常来劲. 建议阅读: 5 有趣的 Linux 命令行技巧 - 第一部分 而且我们也会很想与数百万 Linux 用户分享新学到的实践或命令,特别是那些还在使用自己的方式操作这个令人兴奋的操作系统的新手们. 建议阅读: 10 个对新手

linux命令学习之10个网络命令和监控命令_linux shell

网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看linux服务器ip地址,管理服务器网络配置 ,通过 telnet 和ethernet建立与linux之间的网络链接,查看linux的服务器信息等.下面让我们看看在linux下的网络和监控命令的使用.1. hostname 复制代码 代码如下: hostname 没有选项,显示主机

10月17日在Windows中放Linux bash Shell?黑客开心死了 这会影响大多数系统

微软去年宣称用户可在Windows 10中运行本地Linux应用,无需借助虚拟化,此举令技术界感到吃惊.尽管这一特性旨在为开发人员带来便利,研究员认为攻击者会利用该特性隐藏恶意软件,使其绕过安全产品的检查.其中,Bashware恶意软件是个极大的威胁,它是一种非常狡猾的新型 恶意软件 ,主流的杀毒程序无法发现它. Check Point软件科技有限公司的研究员利用Bash开发了一种技术.Bash是Linux命令行接口或shell,现可用于Windows系统,使已知恶意软件难以被发现.该技术被称为

你值得了解10个有趣的Linux命令行小技巧

我非常喜欢使用命令,因为它们比 GUI(图形用户界面)应用程序对 Linux 系统提供更多的控制,因此,我一直在寻找一些有趣的方法让 Linux 的操作变得简单好玩,主要是基于终端操作. 当我们发现使用 Linux 的新技巧时,尤其是像我这样的命令行极客,我们总会感到非常来劲. 而且我们也会很想与数百万 Linux 用户分享新学到的实践或命令,特别是那些还在使用自己的方式操作这个令人兴奋的操作系统的新手们. 在这篇文章中,我们将回顾一系列有用的命令行小技巧,它们可以显著地提高你的 Linux 使

给新手的 10 个有用 Linux 命令行技巧

我记得我第一次使用 Linux 的时候,我还习惯于 Windows 的图形界面,我真的很讨厌 Linux 终端.那时候我觉得命令难以记忆,不能正确使用它们.随着时间推移,我意识到了 Linux 终端的优美.灵活和可用性,说实话,我没有一天不使用它.今天,我很高兴和刚开始接触 Linux 的人一起来分享一些有用的技巧和提示,希望能帮助他们更好的向 Linux 过渡,并帮助他们学到一些新的东西(希望如此). 5 个有趣的 Linux 命令行技巧 这篇文章希望向你展示一些不需要很高的技术就可以像一个高

10个方法助你轻松完成 Linux 系统恢复

10个方法助你轻松完成 Linux 系统恢复 你是不是经常希望做过的每一件事情都加上一个"撤销"按钮呢? 我就是这样的人,实际上有很多次,我发现自己竟然在纸上写错字的时候试图去按"Ctrl+Z". 这也就是为什么系统恢复功能会让人感觉如此神奇.你可以很快地重新回到工作中去,就像什么事情都没有发生一样,也不用去管造成系统故障的原因.这也就是为什么系统恢复功能在那些从Windows转向Linux的用户中一直排名靠前.有很多人甚至沮丧地认为,正因为系统恢复功能的缺乏,Li

10个有用的Linux命令面试问题及答案

10个有用的Linux命令面试问题及答案 Linux命令行,以及用户使用Linux命令进行Linux shell交互,是Linux最吸引人的地方,也是面试中最普遍的话题之一.在这篇文章中,我们将提出10个面试中很重要问题,这肯定能拓宽你的知识面.   Linux Command Questions 1. 如何暂停一个正在运行的进程,把其放在后台(不运行)? 答案:为了停止正在运行的进程,让其在后台(不运行),我们可以使用组合键 Ctrl+Z.(LCTT译注:如果希望其在后台运行,还需要使用bg命

动画演示10个有趣但毫无用处的Linux命令

原文地址 BY SXWGF ·  JANUARY 7, 2014 Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称做是它最有趣的一个地方了.在这些大量的有用的命令和脚本中,你会发现有少部分命令工具不那么有用的--如果你不愿意说是完全没用处的话.你要知道,Linux命令终端并不是总来干一些严肃的事情的,这里列举的几个没有实际用处.但很有趣的命令,它们的有趣并不是因为无用,而是真的有趣,接下来就让我们看看它们是如何搞怪的吧. 一.cmatrix你应该看过好莱坞大片<骇客帝国>,相