本文可能是你不曾用过后十个Linux的命令,相当的有用。
作者:陈皓;来源:匠心零度
下面可能是你不曾用过后十个Linux的命令。相当的有用。
1)pgrep
pgrep名字前有个p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如:
$pgrep-uhchen2244122444
这个命令相当于:
ps-ef|egrep'^hchen'|awk'{print$2}'
2)pstree
这个命令可以以树形的方式列出进程。如下所示:
[hchen@RHELSVR5~]$pstreeinit- -acpid|-auditd- -python|`-{auditd}|-automount---4*[{automount}]|-backup.sh---sleep|-dbus-daemon|-events/0|-events/1|-hald---hald-runner---hald-addon-acpi|-httpd---10*[httpd]|-irqbalance|-khelper|-klogd|-ksoftirqd/0|-ksoftirqd/1|-kthread- -aio/0||-aio/1||-ata/0||-ata/1||-ata_aux||-cqueue/0||-cqueue/1||-kacpid||-kauditd||-kblockd/0||-kblockd/1||-kedac||-khubd||-6*[kjournald]||-kmirrord||-kpsmoused||-kseriod||-kswapd0||-2*[pdflush]||-scsi_eh_0||-scsi_eh_1||-xenbus|`-xenwatch|-migration/0|-migration/1|-6*[mingetty]|-3*[multilog]|-mysqld_safe---mysqld---9*[{mysqld}]|-smartd|-sshd---sshd---sshd---bash---pstree|-svscanboot---svscan- -3*[supervise---run]||-supervise---qmail-send- -qmail-clean|||-qmail-lspawn||`-qmail-rspawn|`-2*[supervise---tcpserver]|-syslogd|-udevd|-watchdog/0|-watchdog/1`-xinetd
3)bc
这个命令主要是做一个精度比较高的数学运算的。比如开平方根等。下面是一个我们利用bc命令写的一个脚本(文件名:sqrt)
#!/bin/bashif[$thenecho'Usage:sqrtnumber'exit1elseecho-e"sqrt($1)nquitn"|bc-q-ifi
于是,我们可以这样使用这个脚本进行平方根运算:
[hchen@RHELSVR5]$./sqrt366[hchen@RHELSVR5]$./sqrt2.00001.4142[hchen@RHELSVR5]$./sqrt10.00003.1622
4)split
如果你有一个很大的文件,你想把其分割成一些小的文件,那么这个命令就是干这件事的了。
[hchen@RHELSVR5applebak]#ls-llargefile.tar.gz-rw-r--r--1hchenhchen43677477404-1702:00largefile.tar.gz[hchen@RHELSVR5applebak]#split-b50mlargefile.tar.gzLF_[hchen@RHELSVR5]#ls-lLF_*-rw-r--r--1hchenhchen5242880005-1018:34LF_aa-rw-r--r--1hchenhchen5242880005-1018:34LF_ab-rw-r--r--1hchenhchen5242880005-1018:34LF_ac-rw-r--r--1hchenhchen5242880005-1018:34LF_ad-rw-r--r--1hchenhchen5242880005-1018:34LF_ae-rw-r--r--1hchenhchen5242880005-1018:35LF_af-rw-r--r--1hchenhchen5242880005-1018:35LF_ag-rw-r--r--1hchenhchen5242880005-1018:35LF_ah-rw-r--r--1hchenhchen1734437405-1018:35LF_ai
文件合并只需要使用简单的合并就行了,如:
[hchen@RHELSVR5]#catLF_*>largefile.tar.gz
5)nl
nl命令其它和cat命令很像,只不过它会打上行号。如下所示:
[hchen@RHELSVR5include]#nlstdio.h|head-n101/*DefineISOCstdioontopofC iostreams.2Copyright(C)1991,1994-2004,2005,2006FreeSoftwareFoundation,Inc.3ThisfileispartoftheGNUCLibrary.4TheGNUCLibraryisfreesoftware;youcanredistributeitand/or5modifyitunderthetermsoftheGNULesserGeneralPublic6LicenseaspublishedbytheFreeSoftwareFoundation;either7version2.1oftheLicense,or(atyouroption)anylater version.8TheGNUCLibraryisdistributedinthehopethatitwillbeuseful,
6)mkfifo
熟悉Unix的人都应该知道这个是一个创建有名管道的系统调用或命令。平时,我们在命令行上使用竖线“|”把命令串起来是使用无命管道。而我们使用mkfifo则使用的是有名管道。下面是示例:
下面是创建一个有名管道:
[hchen@RHELSVR5~]#mkfifo/tmp/hchenpipe[hchen@RHELSVR5~]#ls-l/tmpprw-rw-r--1hchenhchen005-1018:58hchenpipe
然后,我们在一个shell中运行如下命令,这个命令不会返回,除非有人从这个有名管道中把信息读走。
[hchen@RHELSVR5~]#ls-al>/tmp/hchenpipe
我们在另一个命令窗口中读取这个管道中的信息:(其会导致上一个命令返回)
[hchen@RHELSVR5~]#head/tmp/hchenpipedrwx------8hchenhchen409605-1018:27.drwxr-xr-x7rootroot409603-0500:06..drwxr-xr-x3hchenhchen409603-0118:13backup-rw-------1hchenhchen72105-0522:12.bash_history-rw-r--r--1hchenhchen2402-2822:20.bash_logout-rw-r--r--1hchenhchen17602-2822:20.bash_profile-rw-r--r--1hchenhchen12402-2822:20.bashrc-rw-r--r--1rootroot1400203-0700:29index.htm-rw-r--r--1hchenhchen3146503-0123:48index.php
7)ldd
这个命令可以知道你的一个可执行文件所使用了动态链接库。如:
[hchen@RHELSVR5~]#ldd/usr/bin/javalinux-gate.so.1=>(0x00cd9000)libgij.so.7rh=>/usr/lib/libgij.so.7rh(0x00ed3000)libgcj.so.7rh=>/usr/lib/libgcj.so.7rh(0x00ed6000)libpthread.so.0=>/lib/i686/nosegneg/libpthread.so.0(0x00110000)librt.so.1=>/lib/i686/nosegneg/librt.so.1(0x009c8000)libdl.so.2=>/lib/libdl.so.2(0x008b5000)libz.so.1=>/usr/lib/libz.so.1(0x00bee000)libgcc_s.so.1=>/lib/libgcc_s.so.1(0x00aa7000)libc.so.6=>/lib/i686/nosegneg/libc.so.6(0x0022f000)libm.so.6=>/lib/i686/nosegneg/libm.so.6(0x00127000)/lib/ld-linux.so.2(0x00214000)
8)col
这个命令可以让你把man文件转成纯文本文件。如下示例:
#PAGER=cat#manless|col-b>less.txt
9)xmlwf
这个命令可以让你检查一下一个XML文档是否是所有的tag都是正常的。如:[hchen@RHELSVR5~]#curl'https://coolshell.cn/?feed=rss2'>cocre.xml%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed1006488206488200864550--:--:----:--:----:--:--2073k[hchen@RHELSVR5~]#xmlwfcocre.xml[hchen@RHELSVR5~]#perl-i-pe's@<link>@<br>@g'cocre.xml[hchen@RHELSVR5~]#xmlwfcocre.xmlcocre.xml:13:23:mismatchedtag
10)lsof
可以列出打开了的文件。
[root@RHELSVR5~]#lsof|grepTCPhttpd548apache4uIPv614300967TCP*:http(LISTEN)httpd548apache6uIPv614300972TCP*:https(LISTEN)httpd561apache4uIPv614300967TCP*:http(LISTEN)httpd561apache6uIPv614300972TCP*:https(LISTEN)sshd1764root3uIPv64993TCP*:ssh(LISTEN)tcpserver8965root3uIPv4153795500TCP*:pop3(LISTEN)mysqld10202mysql10uIPv473819697TCP*:mysql(LISTEN)sshd10735root3uIPv6160731956TCP210.51.0.232:ssh->123.117.239.68:31810(ESTABLISHED)sshd10767hchen3uIPv6160731956TCP210.51.0.232:ssh->123.117.239.68:31810(ESTABLISHED)vsftpd11095root3uIPv4152157957TCP*:ftp(LISTEN)
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。