li
  当前位置:主页 > 操作系统 > 文章内容
li
你很陌生但是很适用的10个linux命令
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-02-01   阅读:153  
一般来说,你可能需要几年甚至上十年来精通Linux shell命令。这里是10个你可能从未听过或者用过的命令。

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, 以树形格式来列出进程。这个命令对于已经在运行的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, 你想把一个大文件分成小的文件块吗?也许是mysqldump导出的文件? split是能够帮你完成任务的命令。
下面我就将一个250MB的文件分成很多个以LF_为前缀2MB大小的文件。

# 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命令来这样获取我的程序文件的头。

# head spider.h
/*
* This file define a set of standard spider extensions
*
* Version : 20 18.2.07
*
* Authors : Equal Null
* Copyright (c) 2003-2007 Equal Null, All Rights Reserved.
*/#ifndef _LINUX_SPIDER_H

# nl wireless.h | head
1 /*
2 * This file define a set of standard spider extensions
3 *
4 * Version : 20 18.2.07
5 *
6 * Authors : Equal Null
7 * Copyright (c) 2003-2007 Equal Null, All Rights Reserved.
8 */#ifndef _LINUX_SPIDER_H

www.ixdba.net



6.mkfifo命令是最酷的一个。你肯定知道如何通过grep或者perl来创建一个输出信息的管道(pipeline)。
但是你知道如何用一个命令管道(named pipe)来联通两个命令吗?首先,让我们创建一个管道,并写入如下:

按此在新窗口浏览图片


然后从中读取:

按此在新窗口浏览图片


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,想将man帮助文件的页面保存为文本文件吗?

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

9.xmlwf,需要知道一个xml文档是否符合格式吗?(或者可能是一个配置文件...)

# curl -s http://www.wbwb.net > bnn.html
# xmlwf bnn.html
# perl -i -pe s@
@
@g bnn.html
# xmlwf bnn.html
bcc.html:104:2: mismatched tag

10.lsof 列举出打开的文件。你可以用它来做很多事情。比如找出哪些端口是打开的:

# lsof | grep TCP
portmap 2587 rpc 4u IPv4 5544 TCP *:sunrpc (LISTEN)
rpc.statd 2606 root 6u IPv4 5585 TCP *:668 (LISTEN)
sshd 2788 root 3u IPv6 5991 TCP *:ssh (LISTEN)
sendmail 2843 root 4u IPv4 6160 TCP badhd:smtp (LISTEN)
vsftpd 9337 root 3u IPv4 34949 TCP *:ftp (LISTEN)
cupsd 16459 root 0u IPv4 41061 TCP badhd:ipp (LISTEN)
sshd 16892 root 3u IPv6 61003 TCP wbwb.net:ssh->wbwb.net:4661 (ESTABLISHED)

使用lsof -i TCP命令也可得到相同信息。

或找出一个用户打开文件的数目。这个命令对于运行Oracle, DB2, 或WebSphere这样的大型应用程序是非常重要:

# lsof | grep  root  | awk {print $NF} | sort | uniq | wc -l
179

这里的sort | uniq也可以写成sort -u,运行结果都相同.



  上一篇: RHCE学习笔记(1)   下一篇: UNIX及Linux的时间处理方法(资料...
li
 §相关评论  
 热点文章

·新手强烈推荐:linux入门11点建
·Unix学习方法-走向高手之路
·Linux性能分析和调整的基本原则
·你很陌生但是很适用的10个linu
·Oracle补丁3028673,解决单进程
·最近被aix 5305给折腾死了
·在AIX 5L上配置NFS Server/Cli
·在AIX 5L上配置与管理路由
·这个补丁影响的范围还是比较大
·在AIX 5L上使用绑定网卡(ethe
·使用pam_abl防止SSH遭暴力破解
li
 编辑推荐
·新手强烈推荐:linux入门11点建
·Unix学习方法-走向高手之路
·Linux性能分析和调整的基本原则
·你很陌生但是很适用的10个linu
·Oracle补丁3028673,解决单进程
·最近被aix 5305给折腾死了
·在AIX 5L上配置NFS Server/Cli
·在AIX 5L上配置与管理路由
·这个补丁影响的范围还是比较大
·在AIX 5L上使用绑定网卡(ethe
·使用pam_abl防止SSH遭暴力破解
li
 相关篇章
·RHCE学习笔记(1)
·Linux下关于大于2T磁盘的使用GPT...
·linux下面tar gzip zip bzip使用...
·RHEL4 性能优化
·CDlinux简介和基本使用
·lvm(逻辑卷管理器)的介绍和常用功...
·Linux Add or Remove module man...
·Linux 文件系统精通指南
·精华教程:Linux 文件命令精通指...
·嵌入linux的学习方法论
·UNIX及Linux的时间处理方法(资料...
·linux操作异同:suse10与redhat一...
·linux入住中国10年,中国Linux发展...
·linux网络问题:SUSE Linux 静态I...
·Linux创建文件及挂载系统流程详解
·Linux中系统整体性能监控工具详细...
·学习linux方法谈之二
·安全宝典:保障Linux系统安全的九...
·Linux的文件系统之XFS,Ext3,GFS,...
·Fedora Core 6安装手册
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接