热度 3|
这也许需要几年甚至是几十年,才能真正掌握Linux shell 命令。这里有10个你从来没有听说或使用过的命令。他们在没有特定的顺序。我最喜欢的是mkfifo。
# 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
...
#
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
#
./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
# 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
# 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
然后读取它:
# 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)
# PAGER=cat
# man less | col -b >
less.txt
# curl -s 'http://bashcurescancer.com' >
bcc.html
# xmlwf bcc.html
# perl -i -pe 's@<br/>@<br>@g'
bcc.html
# xmlwf bcc.html
bcc.html:104:2: mismatched tag
# 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
badhd.mshome.net:ssh->kontiki.mshome.net:4661 (ESTABLISHED)
Note:
OpenBSD 101 pointed out that “lsof -i
TCP” a better way to obtain this same information. Thanks!Or find the number of
open files a user has. Very important for running big applications like Oracle,
DB2, or WebSphere:
# lsof | grep ' root ' | awk '{print $NF}' | sort | uniq | wc
-l
179
提示,匿名评论者指出应该用“sort -u”代替sort | uniq,本人忘记了-u flag,谢谢!
原文:http://bashcurescancer.com/10-linux-commands-youve-never-used.html