您的位置:通用技术>>可编程逻辑>>嵌入式操作系统>>基础知识>>正文

十个你可能不曾用过的Linux命令

推荐给好友
打印
加入收藏
更新于2009-05-14 12:15:18

  下面可能是你不曾用过后十个Linux的命令。相当的有用。

  1)pgrep

  pgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如:

  view source

  print?1.$ pgrep -u hchen

  2.22441

  3.22444

  这个命令相当于:

  view source

  print?1.ps -ef egrep "^hchen" awk "print $2"

  2)pstree

  这个命令可以以树形的方式列出进程。如下所示:

  view source

  print?01.[hchen@RHELSVR5 ~]$ pstree

  02.init-+-acpid

  03. -auditd-+-python

  04.`-auditd

  05. -automount4*[automount]

  06. -backup.shsleep

  07. -dbus-daemon

  08. -events/0

  09. -events/1

  10. -haldhald-runnerhald-addon-acpi

  11. -httpd10*[httpd]

  12. -irqbalance

  13. -khelper

  14. -klogd

  15. -ksoftirqd/0

  16. -ksoftirqd/1

  17. -kthread-+-aio/0

  18.-aio/1

  19.-ata/0

  20.-ata/1

  21.-ata_aux

  22.-cqueue/0

  23.-cqueue/1

  24.-kacpid

  25.-kauditd

  26.-kblockd/0

  27.-kblockd/1

  28.-kedac

  29.-khubd

  30.-6*[kjournald]

  31.-kmirrord

  32.-kpsmoused

  33.-kseriod

  34.-kswapd0

  35.-2*[pdflush]

  36.-scsi_eh_0

  37.-scsi_eh_1

  38.-xenbus

  39.`-xenwatch

  40. -migration/0

  41. -migration/1

  42. -6*[mingetty]

  43. -3*[multilog]

  44. -mysqld_safemysqld9*[mysqld]

  45. -smartd

  46. -sshdsshdsshdbashpstree

  47. -svscanbootsvscan-+-3*[superviserun]

  48.-superviseqmail-send-+-qmail-clean

  49. -qmail-lspawn

  50. `-qmail-rspawn

  51.`-2*[supervisetcpserver]

  52. -syslogd

  53. -udevd

  54. -watchdog/0

  55. -watchdog/1

  56. `-xinetd

  3)bc

  这个命令主要是做一个精度比较高的数学运算的。比如开平方根等。下面是一个我们利用bc命令写的一个脚本(文件名:sqrt)

  view source

  print?1.#!/bin/bash

  2.if [ $# -ne 1 ]

  3.then

  4. echo "Usage: sqrt number"

  5. exit 1

  6.else

  7. echo -e "sqrt($1)\nquit\n" bc -q -i

  8.fi

  于是,我们可以这样使用这个脚本进行平方根运算:

  view source

  print?1.[hchen@RHELSVR5]$ ./sqrt 36

  2.6

  3.[hchen@RHELSVR5]$ ./sqrt 2.0000

  4.1.4142

  5.[hchen@RHELSVR5]$ ./sqrt 10.0000

  6.3.1622

  4)split

  如果你有一个很大的文件,你想把其分割成一些小的文件,那么这个命令就是干这件事的了。

  view source

  print?01.[hchen@RHELSVR5 bak]# ls -l largefile.tar.gz

  02.-rw-r--r-- 1 hchen hchen 436774774 04-1702:00largefile.tar.gz

  03.

  04.[hchen@RHELSVR5 bak]# split -b 50m largefile.tar.gz LF_

  05.

  06.[hchen@RHELSVR5]# ls -l LF_*

  07.-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_aa

  08.-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ab

  09.-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ac

  10.-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ad

  11.-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ae

  12.-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_af

  13.-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ag

  14.-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ah

  15.-rw-r--r-- 1 hchen hchen 17344374 05-10 18:35 LF_ai

  文件合并只需要使用简单的合并就行了,如:

  view source

  print?1.[hchen@RHELSVR5]# cat LF_* >largefile.tar.gz