亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 55025 | 回復(fù): 9
打印 上一主題 下一主題

Solaris命令大全 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-05-26 13:27 |只看該作者 |倒序?yàn)g覽

Solaris 命令大全
終端控制
ctrl+s :終止屏幕輸出,如用cat命令輸出時(shí),要停一下
ctrl+q :恢復(fù)ctrl+q的輸出
ctrl+c :中斷當(dāng)前的活動(dòng),返回命令提示符
ctrl+d :表示文件的結(jié)束或退出,如退出終端窗口
ctrl+u :擦除整個(gè)命令行
ctrl+w :擦除命令行最后一個(gè)單詞
ctrl+h :擦除命令行最后一個(gè)字符
bc :計(jì)算器
#ksh 切換到k shell
命令: .................................................................
# uname
SunOS
NAME
#man uname
uname - print name of current system
SYNOPSIS
uname [-aimnprsvX]
uname [-S system_name]
# date
2004年05月19日 星期三 21時(shí)57分49秒 CST
#
stings
$stings /usr/bin/cat
能夠用來(lái)打印可執(zhí)行文件或二進(jìn)制文件中的可讀字符。
cat
#cat -n test.txt //顯示行號(hào)
more
鍵值 目的
空格 滾動(dòng)到下一屏
回車(chē) 一次滾動(dòng)一行
b 向后移動(dòng)一屏
f 向前移動(dòng)一屏
h 顯示更多特性的幫助菜單
q 退出,返回shell提示符
/string 向前搜索字符串string
n 查找下一處匹配
less
#less test.txt //前移動(dòng)一屏F,后B ,/string 查找字符
head
#head -5 /export/home/wing/test.txt //顯示開(kāi)始的5行
#head chap*|more //顯示所有以chap開(kāi)頭的文件的頭部
用來(lái)顯示一個(gè)或多個(gè)文件的前n行,默認(rèn)省略-n參數(shù)將顯示文件的前10行。
tail
#tail -5 /export/home/wing/test.txt //顯示最后5行
#tail +5 /export/home/wing/test.txt //顯示第5行開(kāi)始到結(jié)束
用來(lái)顯示一個(gè)文件的最后n行,默認(rèn)省略-n參數(shù)將顯示文件的最后10行。
# tail -f /var/adm/messages //實(shí)時(shí)自動(dòng)瀏覽syslog入口
wc
#wc /export/home/wing/test.txt //顯示文件的行、單詞、字節(jié)數(shù)
#wc -l /export/home/wing/test.txt //顯示文件的行數(shù)
選項(xiàng) 功能
-l 統(tǒng)計(jì)行數(shù)
-w 統(tǒng)計(jì)單詞數(shù)
-c 統(tǒng)計(jì)字節(jié)數(shù)
-m 統(tǒng)計(jì)字符數(shù)
diff
#diff -i test.txt test2.txt //忽略文章中的大小寫(xiě)
#diff -c test.txt test2.txt //進(jìn)行細(xì)致的比較生成一個(gè)差別表
touch
#touch test1.txt test2.txt test3.txt //可以一次創(chuàng)建多個(gè)文件
mkdir
#mkdir /export/home/wing
#mkdir -p /export/home/wing //在路徑中名中不存在的目錄將被創(chuàng)建
#rmdir dir //所要?jiǎng)h除的目錄必須是空的
rm
rm -i test.txt test2.txt //交互式刪除文件
rm -r /tem/testd //刪除目錄和目錄下的文件
rm -ir /tem/testd //交互式的刪除目錄和目錄下的文件
cp
cp -i oldfilename newfilename //交互式拷貝
cp /export/home/keven/ok.txt /export/home/wing/test.txt
cp -ri /export/home/keven /export/home/wing 整個(gè)目錄一起拷
cp -rp 文件屬性一起拷貝
crontab
直接登陸窗口界面
# crontab -l root //查看作業(yè)
/etc/init.d/cron stop //停止進(jìn)程
crontab -e root //編輯加入要執(zhí)行的代碼
0-59 * * * * date >> /export/home/keven/keven.txt //加入次行在末尾,每分鐘執(zhí)行一次
“格式如下:
   (1)  (2)  (3)  (4)  (5)  (6)
   0   0   *   *   3   date >> /export/home/keven/keven.txt
       1. 分鐘 (0-60)
       2. 小時(shí) (0-23)
       3. 日 (1-31)
       4. 月 (1-12)
       5. 星期 (0-6)
       6. 所要運(yùn)行的程序
如1-59分鐘,1-24 小時(shí)
0 18-23 0 0 0-6 //每天的18-23點(diǎn)執(zhí)行,0-6為周日到周六
/etc/init.d/cron start //啟動(dòng)進(jìn)程
# crontab -l root 查看作業(yè)是否加入執(zhí)行隊(duì)列。
直接編輯用戶的cron文件 是不會(huì)馬上運(yùn)行的,
cron demon是在啟動(dòng)的時(shí)候才讀一次配置文件.
如果你是后加的JOB 要用crontab -e來(lái)編輯用戶的cron.
要不你 kill -HUP cron的進(jìn)程ID.
重新啟動(dòng)這個(gè)進(jìn)程.
每5分鐘做一次必須寫(xiě)成5,15,20,25,30,35,40,45,50,55 * * * *
===================================
“格式如下:
   (1)  (2)  (3)  (4)  (5)  (6)
   0   0   *   *   3   /usr/bin/updatedb
       1. 分鐘 (0-60)
       2. 小時(shí) (0-23)
       3. 日 (1-31)
       4. 月 (1-12)
       5. 星期 (1-7)
       6. 所要運(yùn)行的程序
但是我設(shè)成 1 0 0 0 0 /usr/bin/ps
希望能自動(dòng)在一分鐘之后顯示進(jìn)程。但是沒(méi)有成功。
HELP ME
===============================================
15 1 * * * /opt/bin/ta.sh /opt/aadir > /dev/null
此處>/dev/null 必須用嗎? 何意思?
輸出重定向到/dev/null, 否則會(huì)mail到你的郵箱
dev/null 是一個(gè)特殊文件,所有輸入到該文件的數(shù)據(jù)都會(huì)被丟棄。
> /dev/null 的意思就是丟棄所有的輸出內(nèi)容
這種寫(xiě)法只能把標(biāo)準(zhǔn)輸出送到/dev/null中,如果有錯(cuò)誤產(chǎn)生的話,還是會(huì)送到信箱里的。
下面的寫(xiě)法才可以丟棄所有的輸出內(nèi)容:
15 1 * * * /opt/bin/ta.sh /opt/aadir > /dev/null 2>&1
0 14 * * 0-6 //每天的下午14點(diǎn)執(zhí)行
ls
$ ls -n
# ls -ld using_samba //查看目錄的權(quán)限
drwxr-xr-x 2 root other 512 5月 8 22:23 using_samba
$ ls -a
$ ls -l
$ ls -F //列出目錄名
$ ls -R //遞歸顯示
$ ls . //顯示當(dāng)前目錄
$ ls .. //顯示當(dāng)前目錄的父目錄,支持路徑表示符如~
$ ls -i test.txt test1.txt //節(jié)點(diǎn)檢查
$ ls -ld //只顯示目錄
file
$ file passwd.txt
passwd.txt: ascii文本
lp
$lp ok.txt myfile test.txt
$lp -p evans1 test.txt //-p后為打印機(jī)evans1
$lpstat // 打印隊(duì)列狀態(tài)
ln
#ln file1 newfile
#ln file1 directory/newfilename 硬鏈接
#ln ~/book/chap* /home/brad
為每個(gè)chap文件都創(chuàng)建了鏈接,把這些鏈接指向/home/brad目錄
如果文件有多個(gè)指向它的硬盤(pán)鏈接,只是刪除該文件并不能有效的釋放磁盤(pán)空間,你將不得不刪除掉所有指向它的硬鏈接。
#ln -s src target
是軟鏈接,存儲(chǔ)的只是路徑,用ls -l 可以看到,如果原文件已移走或刪除,該名,則target就沒(méi)有用了,刪除和該名鏈接同樣用rm
如果文件有多個(gè)指向它的硬盤(pán)鏈接,只是刪除該文件并不能有效的釋放磁盤(pán)空間,你將不得不刪除掉所有指向它的硬鏈接。
# ln -s /export/home/ddd /var 既把/export/home/ddd目錄鏈接到/var下面
在var下面生成ddd 鏈接符號(hào)。當(dāng)/var滿了是時(shí)候用
mv
#mv -i oldfilename newfilename 改名文件或文件夾
#mv -i source_file(s) target_directory 移動(dòng)文件到其它目錄
swap
# swap -s //列出一個(gè)系統(tǒng)虛擬交換空間的摘要。
total: 25728k bytes allocated + 6140k reserved = 31868k used,56496k
available
# swap -l //列出系統(tǒng)物理交換空間的詳細(xì)說(shuō)明。
swapfile dev swaplo blocks free
/dev/dsk/c0t3d0s1 32,28 8 98792 90384
vmstat //查看虛擬內(nèi)存狀態(tài)
# vmstat -s
mpstat //系統(tǒng)負(fù)載cpu等信息
# mpstat 5 //每隔5秒刷新一次
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 32 2 0 114 68 181 5 0 1 0 263 0 1 1 98
0 2 0 0 101 55 160 1 0 0 0 58 0 0 0 100
0 0 0 0 101 55 164 1 0 0 0 70 0 0 0 100
0 0 0 0 99 52 158 1 0 0 0 48 0 0 0 100
0 22 0 0 102 56 164 1 0 0 0 136 0 0 0 100
cal 日歷
# cal 12 2002 //顯示2002年10月的日歷
# date;uname //組合命令,中間用;隔開(kāi)
2004年05月19日 星期三 22時(shí)05分23秒 CST
SunOS
重定向輸入/輸出
#command >filename //如果文件名存在,它將被覆蓋,不存在將被創(chuàng)建
#command >>filename //向一個(gè)存在的文件追加(添加到文件的末尾)內(nèi)容,而不是覆蓋它,如果不存在就創(chuàng)建。
#command 2>filename //重定向標(biāo)準(zhǔn)錯(cuò)誤,會(huì)創(chuàng)建文件或覆蓋原有文件
#commanf 2>>filename //重定向標(biāo)準(zhǔn)錯(cuò)誤,向一個(gè)存在的文件追加(添加到文件的末尾)內(nèi)容,而不是覆蓋它,如果不存在就創(chuàng)建。
建ok文件 寫(xiě)入:cole how are you
$ write colecole會(huì)收到這段話:
在 wing (pts/2) [ 10月 3 五 22:41:08 ] 上面的 wing 中的消息 ...
how are you my baby
<結(jié)束>
find
#find . -name test.txt //搜索當(dāng)前目錄
#find dir -name test.txt
#find / -name test.txt
#find /export/home -name test.txt
#find ~ -name ‘*tif' //用戶的主目錄
#find /export -name core -exec rm {} \ //搜索core文件并刪除它們
#find dir -type d //文件類(lèi)型
#find /export -type d -name test //文件夾名為test
#find /export -size +400 //文件大于400塊的512byte =1 blocks
#find /export -name test.txt -exec rm {} \; //查找并刪除
#find /export -name test.txt -ok rm {} \; //交互模式刪除 y
#find /export -user keven //按用戶查找
#find / -user UID -exec rm{} \; //查找該用戶的文件并刪除
#find / -name pfile -print>find.txt 2>null.txt&
//找到則放入find.txt,否則就放到null.txt 程序在后臺(tái)運(yùn)行
# find /export -name tex.txt -exec rm {} \; //{} \中間有一個(gè)空格
$ find ~ -name '*es' //es的前面為任意字符
搜索表達(dá)式 意義 定義
name filename 文件名 搜索所有匹配的給定的文件,可以接受元字符(如? *)
type filetype 文件類(lèi)型 搜索匹配給定文件類(lèi)型的文件(d為目錄)
mtime [+|-]n 修改的時(shí)間 搜索所有修改時(shí)間或者大于,或小于給定時(shí)間的文件
atime[+|-]n 訪問(wèn)的時(shí)間 搜索所有訪問(wèn)時(shí)間或者大于,或者小于給定時(shí)間的文件
user loginid -group groupid 用戶ID和屬組ID 搜索所有匹配登陸ID的所有者或?qū)俳MID的文件
perm mode 權(quán)限 搜索所有匹配給定權(quán)限的文件(只允許八進(jìn)制模式)
size[+|-]n[c] 搜索所有大小或者大于,小于n的文件,n以512字節(jié)每塊計(jì)算,如果后面有ac,則以字符(字節(jié))計(jì)算
-print 基將搜索結(jié)果輸出到標(biāo)準(zhǔn)輸出。該結(jié)果是一個(gè)全路徑名的文件名 列表
-exec command{}\; exec選項(xiàng)必須通過(guò)\;來(lái)終止;這樣使得find命令可以應(yīng)用于指定命令中搜索準(zhǔn)則中給出的每個(gè)文件
-ok command{}\; -exec的交互格式.這個(gè)選項(xiàng)用于要求來(lái)自用戶的輸入命令.如 rm -i
-ls 使用長(zhǎng)列表格式打印當(dāng)前路徑.這個(gè)表達(dá)式最常用于鏈接一個(gè)輸出,把它重定向到一個(gè)文件中,以便稍后進(jìn)行檢查
grep
#grep root /etc/passwd //在passwd中查找root
#grep -i root /etc/passwd //忽略大小寫(xiě)
#grep -v root /etc/passwd //顯示除了含有root的行
# grep -c root group //統(tǒng)計(jì)有多少行
10
# grep -l root passwd group hosts //查找文件中包含root的文件
passwd
group
正則表達(dá)式 功能 例子 結(jié)果
.(dot) 匹配任意字符可以多次使用,類(lèi)似ls命令 grep chap.. file 顯示所有包含chap,且之后還有兩個(gè)字符的行
*(asterisk) 在模式上匹配0個(gè)或多個(gè)字符 grep chap* file 顯示所有包含chap,且之后可以是任意字符
\(back slash) 告訴shell按照字面意思理解\之后的特殊字符 grep dollar\* file 顯示所有包含dollar*的行./告訴shell按照字面意思理解*,而不是通配符
^ (caret) 匹配所有以指定模式打頭的所有行 grep ^name file 顯示所有以Name開(kāi)頭的行
$ 匹配所有以指定模式結(jié)尾的行 grep 0 file 顯示所有以800結(jié)尾的行
[] 匹配模式中的一個(gè)字符 grep [64.128] 顯示所有包含64MB或128MB的行
-i 忽略大小寫(xiě)
-v 反包含.除了該字符串之外的行
egrep
# egrep 'N(e|o)' /etc/passwd //查找以字母大N開(kāi)頭后面接e 或者o
listen:x:37:4:Network Admin:/usr/net/nls:
nobody:x:60001:60001:Nobody:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x Nobody:/:
$ egrep '(Network|uucp) Admin' /etc/passwd
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
listen:x:37:4:Network Admin:/usr/net/nls:
sort
#cat test.txt
oggg
aaa
ddkk
ddgfg
kk
11
34
22
#sort test.txt
11
22
34
aaa
ddgfg
ddkk
kk
oggg
# ls -ld t* >list
# cat list
-rw-r--r-- 1 keven user 32 10月 2 07:51 test.txt
-rw-r--r-- 1 keven user 0 9月 30 08:54 test1
-rw-r--r-- 1 keven user 0 9月 30 08:54 test2
-rw-r--r-- 1 keven user 0 9月 30 08:54 test3
# sort -rn +4 list -o tt.txt //翻轉(zhuǎn)排序 頭4個(gè)字符
# ls
list ok.txt ss test.txt test1 test2 test3 tt.txt
# cat tt.txt
-rw-r--r-- 1 keven user 32 10月 2 07:51 test.txt
-rw-r--r-- 1 keven user 0 9月 30 08:54 test3
-rw-r--r-- 1 keven user 0 9月 30 08:54 test2
-rw-r--r-- 1 keven user 0 9月 30 08:54 test1
#sort +5M +6n list -o up.txt
選項(xiàng) 描述
-n 進(jìn)行數(shù)字排序,n可以單獨(dú)和短橫線連接,或者可以跟著一個(gè)區(qū)域參數(shù)
(+|-)n 以第n個(gè)分隔符的區(qū)域開(kāi)始或結(jié)束。默認(rèn)的分割符是空格
-r 翻轉(zhuǎn)排序的順序。r可以單獨(dú)與短橫線連用,或者可以跟著一個(gè)區(qū)域參數(shù)
-f 在排列中忽略大小寫(xiě)
+nM 把開(kāi)始的三個(gè)字符做為月份名稱(chēng)的簡(jiǎn)寫(xiě)來(lái)排序
-d 使用字典排序,只用字母和空格排序,其它的符號(hào)忽略
-o filename 把所有輸出放到文件名中
who
# who
root console 10月 2 19:23 (:0) (本地登陸)
wing pts/2 10月 2 19:22 (192.168.0.1)(遠(yuǎn)程登陸)
# who -q //登陸用戶統(tǒng)計(jì)
root wing
# users=2
# who -r //運(yùn)行級(jí)別
. run-level 3 10月 2 19:20 3 0 S
$ who -Hu
NAME LINE TIME IDLE PID COMMENTS
keven pts/2 10月 12 10:57 . 389 (192.168.0.1)
user pts/3 10月 12 10:16 0:52 368 (192.168.0.1)
PID為用戶登陸上來(lái)的進(jìn)程,#kill -9 368 把此用戶踢出
$ who
root console 10月 3 19:21 (:0)
keven pts/6 10月 3 22:11 (192.168.0.1)
wing pts/2 10月 3 22:11 (192.168.0.1)
cole pts/3 10月 3 22:11 (192.168.0.1)
w
$w
下午11點(diǎn)01分 運(yùn)行 3:43, 4 users, 平均負(fù)載:0.00, 0.00, 0.02
用戶名 終端號(hào) 登入時(shí)間 閑置 JCPU PCPU 執(zhí)行命令
root console 下午 7點(diǎn)21分 3:40 10 1 /usr/dt/bin/dtscreen -mode blank
keven pts/6 下午10點(diǎn)11分 -csh
wing pts/2 下午10點(diǎn)11分 5 w
cole pts/3 下午10點(diǎn)11分 50 -ksh
$ w keven
下午11點(diǎn)10分 運(yùn)行 3:52, 4 users, 平均負(fù)載:0.00, 0.00, 0.02
用戶名 終端號(hào) 登入時(shí)間 閑置 JCPU PCPU 執(zhí)行命令
keven pts/6 下午10點(diǎn)11分 9 -csh
logins
# logins
root 0 other 1 Super-User
daemon 1 other 1
bin 2 bin 2
sys 3 sys 3
adm 4 adm 4 Admin
uucp 5 uucp 5 uucp Admin
nuucp 9 nuucp 9 uucp Admin
smmsp 25 smmsp 25 SendMail Message Submission Program
listen 37 adm 4 Network Admin
lp 71 lp 8 Line Printer Admin
wing 1001 adm 4 my wife
keven 1002 user 100
user1 1003 adm 4
user2 1004 adm 4
cole 1005 adm 4
nobody 60001 nobody 60001 Nobody
noaccess 60002 noaccess 60002 No Access User
nobody4 65534 nogroup 65534 SunOS 4.x Nobody
last
$ last //當(dāng)前系統(tǒng)的使用歷史使用模式
keven pts/2 192.168.0.1 Mon Oct 6 00:55 仍在登錄狀態(tài)
cole pts/6 192.168.0.1 Mon Oct 6 00:52 仍在登錄狀態(tài)
root console :0 Mon Oct 6 00:44 仍在登錄狀態(tài)
wing pts/3 192.168.0.1 Mon Oct 6 00:21 仍在登錄狀態(tài)
keven pts/2 192.168.0.1 Mon Oct 6 00:21 - 00:55 (00:34)
reboot system boot Mon Oct 6 00:20
keven pts/2 192.168.0.1 Sun Oct 5 19:47 - 20:02 (00:14)
reboot system boot Sun Oct 5 19:46
wing pts/1 192.168.0.1 Sun Oct 5 07:47 - 07:48 (00:00)
keven pts/1 192.168.0.1 Sun Oct 5 06:24 - 07:47 (01:23)
root console :0 Sun Oct 5 06:22 - 07:48 (01:25)
keven pts/1 192.168.0.1 Sun Oct 5 06:21 - 06:24 (00:02)
reboot system boot Sun Oct 5 06:21
cole pts/6 192.168.0.1 Sun Oct 5 01:58 - 03:09 (01:11)
wing pts/5 192.168.0.1 Sun Oct 5 01:58 - 03:10 (01:11)
finger
# finger
Login Name TTY Idle When Where
root Super-User console Thu 19:23 :0
wing my wife pts/2 Thu 19:22 192.168.0.1
$ finger -s keven //指定查看的用戶
Login Name TTY Idle When Where
keven admin pts/6 11 Fri 22:11 192.168.0.1
$ finger @www //查看一臺(tái)主機(jī)的登陸用戶狀況www為主機(jī)名
[www]
Login Name TTY Idle When Where
root Super-User console 1 Fri 19:21 :0
keven admin pts/6 13 Fri 22:11 192.168.0.1
#finger -s username@hostname
#finger @webserver.com
#finger username@webserver.com
$ finger -l keven //長(zhǎng)格式顯示
Login name: keven In real life: admin
Directory: /export/home/keven Shell: /bin/ksh
On since Oct 12 10:16:41 on pts/2 from 192.168.0.1
24 seconds Idle Time
No unread mail
No Plan.
# finger user1
Login name: user1 In real life:
Directory: /export/home/wing Shell: /bin/sh
On since Oct 12 11:11:33 on pts/3 from 192.168.0.1
4 minutes 8 seconds Idle Time
No unread mail
No Plan.
$ finger -m //只搜索登陸的用戶名
# man -l uname //輸出該命令的地址
uname (1) -M /usr/share/man
uname (2) -M /usr/share/man
id
# id
uid=0(root) gid=1(other) //為當(dāng)前用戶的ID,而不是原始登陸ID
who i am
# who i am //真實(shí)的UID
root console Oct 2 19:23 (:0)
wing pts/2 Oct 2 19:41 (192.168.0.1)
vi
vi(文本輸入模式)
命令 功能
a 在光標(biāo)后追加文本
A 在行末追加文本
i 在光標(biāo)前追加文本
o 在光標(biāo)下插入新的一行
vi(末行模式)
命令 功能
:w 寫(xiě)緩沖區(qū),保存更改繼續(xù)在vi中工作
:w new_filename 把緩沖區(qū)寫(xiě)如new_filename
:wq 或 ZZ 寫(xiě)緩沖區(qū),保存修改,然后退出vi
:q! 不保存修改而退出
:wq! 寫(xiě)緩沖區(qū)保存修改然后推出vi,如果你是文件的所有者將忽略只讀屬性
e! 取消自上次保存以來(lái)所做的修改
:x 等價(jià)于:wq! wq
u 取消最近的一次編輯
vi(命令模式)
命令 功能
j(或向下箭頭) 向下移動(dòng)一行
k(或向上箭頭) 向上移動(dòng)一行
h(或向左箭頭) 向后移動(dòng)一個(gè)字符
l(或向右箭頭) 向前移動(dòng)一個(gè)字符
空格 向右移動(dòng)一個(gè)字符
w 向前移動(dòng)一個(gè)單詞(包括標(biāo)點(diǎn))
b 向后移動(dòng)一個(gè)單詞(包括標(biāo)點(diǎn))
$ 移動(dòng)到行末
0(零)或 ^ 移動(dòng)到行首
回車(chē) 移動(dòng)到下一行首
vi(命令模式和末行模式)
命令 功能
x (小寫(xiě)) 刪除光標(biāo)處字符
dw 刪除單詞
3dw 刪除三個(gè)單詞
dd 刪除光標(biāo)所在的行
3dd 刪除三行
yy 拉出一行拷貝,放到剪貼板中
p(小寫(xiě)) 把拉出行放到當(dāng)前之下
P(大寫(xiě)) 把拉出行放到當(dāng)前之上
:set nu 顯示行號(hào)
:set nonu 隱藏行號(hào)
:set showmode 顯示當(dāng)前操作模式(如用vedit將自動(dòng)打開(kāi))
:set noshowmode 關(guān)閉模式顯示
:set 顯示所有vi變量
:set all 顯示所有可能的vi變量和它們的當(dāng)前的值
G 到達(dá)文件的最后一行
:21 到達(dá)第21行
/string 向前搜索字符串string
?string 向后搜索字符串string
n 查找匹配的下一個(gè)字符串
cpio
#cpio -idcmv tar
# tar cvf backup.tar list ok.txt test.txt //備份生成backup.tar
a list 1K
a ok.txt 1K
a test.txt 1K
#tar rvf backup.tar tt.txt //追加tt.txt到backu.tar中去
# tar cvf backup.tar tt.txt //注意會(huì)覆蓋backup.tar原有的文件
a tt.txt 1K
# tar cvf /export/home/wing/mywife.tar ok2.txt ss // 備份到另一個(gè)目錄
# tar xvf backup.tar //全部還原出來(lái)
# tar xvf backup.tar tt.txt //把指定的文件還原出來(lái)
tar: 塊大小 = 4
x tt.txt, 290 bytes, 1 tape blocks
# tar tvf backup.tar //查看里面被壓縮了的文件名,并沒(méi)有解壓出來(lái)
tar: 塊大小 = 4
-rw-rw-rw- 1002/1 290 2003 10月 3 02:10 tt.txt
$tar uf myarch mydir //t a r將比較每個(gè)存檔文件和用戶目錄中文件的最近更新時(shí)間,然后將任何自從上次存檔以來(lái)所改變的文件拷貝到檔案中
參數(shù) 說(shuō)明
c 創(chuàng)建一個(gè)新的tar文件
t 列出tar文件的內(nèi)容
x 從tar文件中解壓出指定的文件
r 向已有的tar文件追加一個(gè)新文件進(jìn)去
f 指定文件名
v 詳細(xì)模式
m 將在從一個(gè)檔案中抽取文件時(shí),不要給它新的時(shí)戳
compress
# compress -v kk.txt mm.txt
kk.txt: 壓縮:58.18% -- 用kk.txt.Z替換 //注意原來(lái)的文件將被.Z所替代
mm.txt: 壓縮:1.33% -- 用mm.txt.Z替換
# ls
err.txt kk.txt.Z mm.txt.Z tt.txt
# uncompress -v ok2.txt.Z //解壓縮,注意原來(lái)的.Z文件將被ok2.txt替代
# uncompress -c test1.Z|more //只是查看文件的內(nèi)容,沒(méi)有解壓出來(lái)
zip
#zip winzip test1.txt test2.txt //生成winzip.zip文件
#unzip winzip.zip //解壓縮
gzip
# gzip -v test2 test3
test2: 0.0% -- replaced with test2.gz//注意把原來(lái)的給替換了
test3: 0.0% -- replaced with test3.gz
# ls
test2.gz test3.gz
gunzip
#gunzip test2.gz
gzcat
#gzcat tt.txt.gz
-rw-r--r-- 1 keven user 32 10月 2 07:51 test.txt
-rw-r--r-- 1 keven user 0 9月 30 08:54 test3
-rw-r--r-- 1 keven user 0 9月 30 08:54 test2
-rw-r--r-- 1 keven user 0 9月 30 08:54 test1
用戶和權(quán)限
chmod
#chmod u+r test.txt
#chmod go+rw test.txt
#chmod o-w test.txt
#chmod 555 test.txt
#chmod +t dir //粘帶位權(quán)限
#chmod g+s file.txt //setuid
#chmod u+s file.txt //setgid
chown
#chown new_owner filename
#chown -R new_owner directoryname
chgrp
#chgrp new_group filename
#chgrp -R new_group filename
nice
#nice -20 dtterm //優(yōu)先級(jí)增加到20 數(shù)值越大優(yōu)先級(jí)越高
#nice --20 dtterm //優(yōu)先級(jí)減少到20
groups
$ groups //顯示自己所在的組
adm
$ groups root //顯示該用戶屬于什么組
other root bin sys adm uucp mail tty lp nuucp daemon
newgrp
$newgrp adm //切換到其它的組
umask
% umask
22
起始權(quán)限-想得到的權(quán)限=umask值
useradd
#useradd user3
#useradd -u 1006 -g 4 -d /export/home/user3 -s /bin/sh -c “web user” user3 //完整的添加用戶
#useradd -u 1006 -g 4 -d /export/home/user3 -m -s /bin/sh -c “web user” user3 //創(chuàng)建用戶的同時(shí)創(chuàng)建主目錄文件
參數(shù) 說(shuō)明
-c 對(duì)每個(gè)用戶的注釋?zhuān)涗浢總(gè)用戶的個(gè)人信息
-d 用戶主目錄路徑
-m 用來(lái)創(chuàng)建用戶的主目錄,通常與-d路徑名一起用
-g 用戶的默認(rèn)組
-g 用戶的默認(rèn)gid
-e 帳號(hào)不再有效,通常在創(chuàng)建臨時(shí)帳號(hào)用
-f 許可用戶的最大閑置天數(shù),在創(chuàng)建臨時(shí)帳號(hào)時(shí)用到
-u 用戶的uid
-s 用戶的shell路徑
userdel
#userdel user7 //把user7刪除,但是不刪住目錄
#userdel -r username //把主目錄一起刪除
usermod
# usermod -u 1005 -c adminisrator cole //修改用戶的一些信息
#usermod -G group1 ,group2 username //把用戶添加到多個(gè)組
# usermod -G sys,sysadmin cole
# groups cole
mail sys sysadmin
# usermod -g apache cole //主要組
# groups cole
apache
passwd
#passwd -f user //下次登陸時(shí)強(qiáng)制其改變密碼
#passwd user //修改其密碼
#passwd -l user //鎖住用戶不能登陸
#passwd -x 30 user //口令有效期為30天
#passwd -w 3 user //口令失效的前3天提醒用戶修改
groupadd
# groupadd -g 2000 usergroup
groupdel
#groupdel groupname
groupmod
#groupmod -n newname oldname
#groupmod -g gid groupname //修改其gid
#groupmod -g gid -n newname oldname
進(jìn)程管理
ps
字段概述:
F十六進(jìn)制標(biāo)志,它們加起來(lái)表示進(jìn)程的當(dāng)前狀態(tài)。
如下所述:00 進(jìn)程終止,而且它們?cè)谶M(jìn)程表中的空間已釋放。01 系統(tǒng)進(jìn)程,長(zhǎng)駐內(nèi)存02 進(jìn)程被父進(jìn)程跟蹤04 進(jìn)程被父進(jìn)程跟蹤而且已被停止08 該進(jìn)程無(wú)法被信號(hào)量喚醒10 該進(jìn)程當(dāng)前在內(nèi)存中,而且被鎖定直到一個(gè)事件完成20 進(jìn)程不能被交換出
S 進(jìn)程當(dāng)前狀態(tài),由以下字母之一顯示:
O 當(dāng)前正在處理器上運(yùn)行
S 睡眠;等待I/O事件完成
R 運(yùn)行結(jié)束I 空閑;進(jìn)程被創(chuàng)建
Z 僵死。進(jìn)程已終止
T由于父進(jìn)程跟蹤而停止
X 等待更多的內(nèi)存
UID進(jìn)程所有者的用戶ID
PID進(jìn)程ID
PPID父進(jìn)程ID
C 進(jìn)程的CPU使用情況(即進(jìn)程占CPU時(shí)間的百分比)
PRI 進(jìn)程優(yōu)先權(quán)方案。較大的數(shù)表示較低的優(yōu)先權(quán)
NI 進(jìn)程的nice值,該值與優(yōu)先權(quán)方案相關(guān)聯(lián)。使一個(gè)進(jìn)程“nicer”意指降低該進(jìn)程的優(yōu)先權(quán),以使它不會(huì)用盡CPU的時(shí)間
SZ進(jìn)程請(qǐng)求的虛擬內(nèi)存量。這是該系統(tǒng)對(duì)內(nèi)存需求的一個(gè)好的指標(biāo)。
TTY 啟動(dòng)進(jìn)程(或者父進(jìn)程)的終端。帶問(wèn)號(hào)的進(jìn)程無(wú)控制終端(通常為系統(tǒng)進(jìn)程)
TIME自進(jìn)程啟動(dòng)以來(lái)占CPU時(shí)間總量
COMD產(chǎn)生進(jìn)程的命令
# ps -f
UID PID PPID C STIME TTY TIME CMD
keven 360 358 0 19:19:19 pts/2 0:00 -csh
keven 477 360 0 19:28:14 pts/2 0:00 ps -f
# ps -u wing //特定用戶
PID TTY TIME CMD
368 pts/3 0:00 sh
# ps
PID TTY TIME CMD
360 pts/2 0:00 csh
475 pts/2 0:00 ps
# ps -e
PID TTY TIME CMD
0 ? 0:01 sched
1 ? 0:00 init
2 ? 0:00 pageout
3 ? 0:00 fsflush
328 ? 0:00 sac
331 ? 0:00 ttymon
153 ? 0:00 rpcbind
# ps -ecl //PRI為進(jìn)程優(yōu)先權(quán),這里98為最高
F S UID PID PPID CLS PRI ADDR SZ WCHAN TTY TIME CMD
19 T 0 0 0 SYS 96 fec287cc 0 ? 0:00 sched
8 S 0 1 0 TS 59 de7a8808 319 dea06e16 ? 0:00 init
19 S 0 2 0 SYS 98 de7a8108 0 fec4d4b8 ? 0:00 pageout
19 S 0 3 0 SYS 60 de7a7a08 0 fecea0bc ? 0:01 fsflush
8 S 0 329 1 TS 59 de7a7308 448 deac8d68 ? 0:00 sac
8 S 0 256 1 TS 59 de7a6c08 1084 deeb7f02 ? 0:00 sendmail
$ ps -eaf
UID PID PPID C STIME TTY TIME CMD
root 0 0 0 19:18:44 ? 0:01 sched
root 1 0 0 19:18:44 ? 0:00 /etc/init -
root 2 0 0 19:18:44 ? 0:00 pageout
root 3 0 0 19:18:44 ? 0:00 fsflush
root 328 1 0 19:19:10 ? 0:00 /usr/lib/saf/sac -t 300
root 331 328 0 19:19:10 ? 0:00 /usr/lib/saf/ttymon
root 153 1 0 19:18:53 ? 0:00 /usr/sbin/rpcbind
#ps -eaf |grep wing
root 317 1 0 19:19:10 ? 0:00 /usr/lib/dmi/snmpXdmid -s wing
root 329 1 0 19:19:10 console 0:00 /usr/lib/saf/ttymon -g -h -p wing
console login: -T sun-color -d /dev/console
wing 368 366 0 19:19:47 pts/3 0:00 -sh
用法:ps [ -aAdeflcjLPy ] [ -o 格式 ] [ -t 項(xiàng)列表 ]
[ -u 用戶列表 ] [ -U 用戶列表 ] [ -G 組列表 ]
[ -p proclist ] [ -g pgrplist ] [ -s sidlist ]
選項(xiàng) 意義 功能
ps 無(wú)選項(xiàng) 顯示在當(dāng)前shell和終端窗口中的用戶進(jìn)程信息
ps -e every 顯示系統(tǒng)中每一個(gè)進(jìn)程的信息
ps -f full 生成一個(gè)長(zhǎng)列表,顯示每個(gè)進(jìn)程的所有可用信息
ps -u userid user 顯示特定用戶的所有進(jìn)程信息
$ ps -u wing //wing為用戶名
PID TTY TIME CMD
368 pts/3 0:00 sh
494 pts/3 0:00 ps
$ ps -U wing
PID TTY TIME CMD
368 pts/3 0:00 sh
495 pts/3 0:00 ps
$ ps -G user //user為組名
PID TTY TIME CMD
360 pts/2 0:00 csh
# priocntl -l
CONFIGURED CLASSES
==================
SYS (System Class) 系統(tǒng)
TS (Time Sharing) 分式共享
Configured TS User Priority Range: -60 through 60
FX (Fixed priority)
Configured FX User Priority Range: 0 through 60
IA (Interactive) 交互
Configured IA User Priority Range: -60 through 60
對(duì)于分式共享級(jí),用戶提供的優(yōu)先權(quán)范圍為:-20~+20
# ps -ecl
F S UID PID PPID CLS PRI ADDR SZ WCHAN TTY TIME CMD
19 T 0 0 0 SYS 96 fec287cc 0 ? 0:00 sched
8 S 0 1 0 TS 59 de7a8808 319 dea06e16 ? 0:00 init
pgrep //查看進(jìn)程
# pgrep -lf inetd
616 /usr/sbin/inetd -s -t
$ pgrep -l lp
217 lpsched
kill
signal:
1 暫停
2 中斷
3 退出
4 非法指令
5 跟蹤中斷
6 Abort
7 EMT指令(Emulation競(jìng)爭(zhēng)trap)
8 浮點(diǎn)格式的異常情況
9 kill(不能被捕獲或忽略)
10 通道錯(cuò)誤
11不合法的內(nèi)存區(qū)段
12 錯(cuò)誤系統(tǒng)調(diào)用
13 寫(xiě)入不可讀的連通管道
14 alarm clock
15 軟件結(jié)束信號(hào)
16 用戶定義的信號(hào)1
17用戶定義的信號(hào)2
18 子進(jìn)程狀態(tài)被改變
19 電源壞掉
20窗口(Window)的大小被改變
21Urgent(緊急的)Socket Condition
22 Pollable(可查詢的)event
23 停止
24 由用戶終止
25 繼續(xù)執(zhí)行
26 停止終端輸入
27 停止終端輸出
28 virtual Timer expired
29 Profiling time expired
30 超過(guò)CPU時(shí)間
31 超過(guò)文件大小限制
32 Socket I/O possible
#kill -9 368 //強(qiáng)行殺死一個(gè)進(jìn)程
#kill 368 //殺死一個(gè)進(jìn)程,使用15為默認(rèn)值,為軟殺死
kill -HUP ID //重啟一個(gè)進(jìn)程
$sleep 500&
$jobs
[1]+Running sleep 500
$sleep 500
^z
[1]+stopped sleep 00
$jobs
[1]+stopped sleep 500
$bg%1
[1]+Running sleep 500
$kill %1
[1]+ Terminated sleep 500
$jobs
$
java
# java -version
java version "1.4.0_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0
Java HotSpot(TM) Client VM (build 1.4.0_03-b04, mixed mode)
proc工具
$ ps
PID TTY TIME CMD
806 pts/3 0:00 ps
368 pts/3 0:00 sh
$ pflags 368
368: -sh
data model = _ILP32 flags = PR_ORPHAN
/1: flags = PR_PCINVAL
% pmap 823 //進(jìn)程的地址空間分配,和需要執(zhí)行的庫(kù)
823: -csh
08043000 20K rw--- [ stack ]
08050000 128K r-x-- /usr/bin/csh
08070000 12K rwx-- /usr/bin/csh
08073000 68K rwx-- [ heap ]
DD9C0000 8K r-x-- /usr/lib/locale/zh_CN.GB18030/methods_zh_CN.GB18030.so.2
DD9D1000 4K rwx-- /usr/lib/locale/zh_CN.GB18030/methods_zh_CN.GB18030.so.2
DD9E0000 324K r-x-- /usr/lib/locale/zh_CN.GB18030/zh_CN.GB18030.so.2
DDA40000 8K rwx-- /usr/lib/locale/zh_CN.GB18030/zh_CN.GB18030.so.2
DDA60000 4K rwx-- [ anon ]
DDA70000 628K r-x-- /usr/lib/libc.so.1
DDB1D000 24K rwx-- /usr/lib/libc.so.1
DDB23000 4K rwx-- /usr/lib/libc.so.1
DDB30000 152K r-x-- /usr/lib/libcurses.so.1
DDB66000 28K rwx-- /usr/lib/libcurses.so.1
DDB6D000 8K rwx-- /usr/lib/libcurses.so.1
DDB80000 4K r-x-- /usr/lib/libdl.so.1
DDB90000 292K r-x-- /usr/lib/ld.so.1
DDBE9000 16K rwx-- /usr/lib/ld.so.1
DDBED000 8K rwx-- /usr/lib/ld.so.1
total 1740K
$ pldd 830 //與每個(gè)進(jìn)程鏈接的動(dòng)態(tài)庫(kù)列表
830: -sh
/usr/lib/libgen.so.1
/usr/lib/libc.so.1
/usr/lib/libdl.so.1
/usr/lib/locale/zh_CN.GB18030/zh_CN.GB18030.so.2
/usr/lib/locale/zh_CN.GB18030/methods_zh_CN.GB18030.so.2
$ psig 830 //與進(jìn)程相關(guān)的的信號(hào)列表
830: -sh
HUP caught done 0
INT caught 0x8059a30 0
QUIT caught 0x8059a30 0
ILL caught done 0
TRAP caught done 0
ABRT caught done 0
EMT caught done 0
FPE caught done 0
KILL default
BUS caught done 0
SEGV caught 0x8059f70 ONSTACK,SIGINFO
$ pstack 830 //以十六進(jìn)制格式查看進(jìn)程堆棧跟蹤
830: -sh
ddacedf7 waitid (0, 353, 8047d40, 83)
ddaeeea7 _waitpid (353, 8047df8, 80) + 66
ddb30581 waitpid (353, 8047df8, 80) + 21
08062319 ???????? (8078c44)
08062cef postjob (353, 1) + ce
0805d1e9 execute (8079374, 0, 0) + 801
08055b61 ???????? (0)
080559b5 main (1, 8047eb4, 8047ebc) + 4d9
08055427 ???????? ()
$ pfiles 830 //每個(gè)進(jìn)程所打開(kāi)的所有文件
830: -sh
Current rlimit: 256 file descriptors
0: S_IFCHR mode:0620 dev:102,0 ino:853 uid:1001 gid:7 rdev:24,2
O_RDWR
1: S_IFCHR mode:0620 dev:102,0 ino:853 uid:1001 gid:7 rdev:24,2
O_RDWR
2: S_IFCHR mode:0620 dev:102,0 ino:853 uid:1001 gid:7 rdev:24,2
O_RDWR
$ pwdx 830 //獲取該進(jìn)程當(dāng)前的工作目錄
830: /export/home/wing
$ ptree 830 //獲父進(jìn)程與子進(jìn)程的關(guān)系
179 /usr/sbin/inetd -s
828 in.telnetd
830 -sh
854 ptree 830
lsof 工具-需下載安裝,本身沒(méi)有自帶
軟件管理
pkgadd
#pkgadd -d /tem softwarename
軟件名gpw-6.94-sol8-intel-local.gz
#gunzip gpw-6.94-sol8-intel-local.gz
#head gpw-6.94-sol8-intel-local.gz //查看文件的版本信息
#pkgadd -d gpw-6.94-sol8-intel-local.gz
install
#install -c /opt/scripts -m 0755 -u bin -g sysadmin /tmp/setup_script
//目標(biāo)路徑 權(quán)限 用戶 組 源路徑
pkginfo
#pkginfo //安裝了的軟件包
pkgchk
#pkgchk pkginst //檢查軟件包的完整性
#pkgchk -f pkginst //處理軟件包問(wèn)題
#pkgchk -n pkginst //忽略包的不穩(wěn)定性
#pkgchk -l -p /usr/bin/mydir //獲取已安裝文件的包屬性
pkgrm
#pkgrm pkginst //刪除軟件包
#pkgrm pkginst1 pkginst2 //同時(shí)刪除多個(gè)包
showrev
#showrev -p //顯示已安裝的補(bǔ)丁
patchadd
#patchadd patchname //安裝補(bǔ)丁
#patchadd -M patch1 patch2 //同時(shí)安裝多個(gè)補(bǔ)丁
#patchadd -d -R /export/mars /var/spool/patch/11102-12
//目的 源路徑
//不允許對(duì)補(bǔ)丁安裝進(jìn)行現(xiàn)場(chǎng)恢復(fù)
補(bǔ)丁安裝實(shí)例
2.6_Recommended.tar.z 補(bǔ)丁名
1
#df -k dir //查看該目錄的大小
#tar xvf 2.6_Recommended.tar.z
#./install
參數(shù) 功能
-B 指定存儲(chǔ)恢復(fù)現(xiàn)場(chǎng)信息的目錄,而不是默認(rèn)目錄
-C 如果需要,指定需要打補(bǔ)丁的網(wǎng)絡(luò)安裝映象的路徑
-d 不接受可恢復(fù)現(xiàn)場(chǎng)的補(bǔ)丁安裝
-M 指定定位補(bǔ)丁的可選目錄
-p 打印所有已安裝的補(bǔ)丁列表
-u 不讓文件安裝生效
-R 為客戶安裝指定可選根目錄
-S 從服務(wù)器為客戶端安裝補(bǔ)丁,客戶機(jī)共享服務(wù)器操作系統(tǒng)目錄
patchrm
#patchrm patchname // 刪除補(bǔ)丁
#patchrm -C /export/solaris_2.9/tools/1065-15
//從客戶端系統(tǒng)刪除補(bǔ)丁
引導(dǎo)和啟動(dòng)過(guò)程、ok模式
#shutdown
#reboot
#init 0
#boot -r
ok setenv boot-device disk //將默認(rèn)的啟動(dòng)設(shè)備改為disk
boot-device = disk
ok printenv boot-device //驗(yàn)正啟動(dòng)設(shè)備
boot-device disk disk
ok reset
ok test net //測(cè)試回路網(wǎng)絡(luò)設(shè)備
ok watch-clock //測(cè)試時(shí)鐘設(shè)備
ok boot -r //重新引導(dǎo)系統(tǒng)
ok boot net //從網(wǎng)絡(luò)啟動(dòng)
ok boot cdrom //從光盤(pán)啟動(dòng)
ok boot floppy //從軟盤(pán)啟動(dòng)
ok boot tape //從磁帶引導(dǎo)系統(tǒng)
ok watch-net //檢查網(wǎng)絡(luò)是否聯(lián)通
ok probe-scsi //檢查系統(tǒng)檢測(cè)出的所有磁盤(pán)設(shè)備,并得到可用的設(shè)備列表
ok banner //檢測(cè)內(nèi)存、系統(tǒng)固件的openboot版本信息
ok boot -s //進(jìn)入單用戶模式
#reboot -l -- -r //重新引導(dǎo)不在系統(tǒng)日記里記錄
#shutdown - i 0 -g 120 -y
#sync;init 0
#traceroute www.abc.com
wall
#wall
init
#init q //重新初始化運(yùn)行級(jí)別
#init 0 //硬件維護(hù)模式
#init 1 //單用戶模式
#init 2 //NFS不可用
#init 3 //NFS可用
#init 4 //用戶定義狀態(tài)
#init 5 //關(guān)閉系統(tǒng)電源
#init 6 //掛起操作系統(tǒng)
#init s //進(jìn)入管理狀態(tài)
網(wǎng)絡(luò)配置
/etc/hostname.interface //是這塊網(wǎng)卡的名字或機(jī)器的名字
# cat hostname.pcn0
wing
# cat hosts
#
# Internet host table
#
127.0.0.1 localhost
192.168.0.11 wing
# hostname
wing
# cat netmasks
192.168.0.0 255.255.255.0
#ifconfig le0 172.16.255.1 netmask 255.255.255.0
配置網(wǎng)絡(luò)端口狀態(tài)
#ifconfig le0 up/down
配置網(wǎng)絡(luò)端口是否可用
#ifconfig le0 plumb/unplumb
#ifconfig -a 這個(gè)地址只有root用戶使用時(shí)才顯示。如果一個(gè)非root用戶使用ifconfig命令,那么只有IP地址
# ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
inet 192.168.10.25 netmask ffffff00 broadcast 192.168.10.255
ether 8:0:20:a2:11:de
#
#ifconfig le0 192.168.0.3 netmask 255.255.255.0 broadcast 192.168.0.255 up
banner
你也可以在系統(tǒng)還沒(méi)有啟動(dòng)時(shí)在ok提示符下敲入banner來(lái)找到MAC地址,CPU 型號(hào)和頻率。
ok banner
un Ultra 5/10 UPA/PCI (UltraSPARC-IIi 300MHz), Keyboard Present
OpenBoot 3.1.1 64 MB memory installed, Serial #9361102.
Ethernet address 8:0:20:8e:d6:ce, HostID: 808ed6ce.
# arp -a //登陸用戶
Net to Media Table: IPv4
Device IP Address Mask Flags Phys Addr
------ -------------------- --------------- ----- ---------------
pcn0 192.168.0.1 255.255.255.255 00:03:0f:fd:6d:0c
pcn0 wing 255.255.255.255 SP 00:0c:29:19:a1:54
pcn0 224.0.0.0 240.0.0.0 SM 01:00:5e:00:00:00
# netstat // 網(wǎng)絡(luò)狀態(tài)
TCP: IPv4
Local Address Remote Address Swind Send-Q Rwind Recv-Q State
-------------------- -------------------- ----- ------ ----- ------ -------
wing.telnet 192.168.0.1.1030 7168 0 66608 0 ESTABLISHED
wing.telnet 192.168.0.1.1032 6253 1 66608 0 ESTABLISHED
Active UNIX domain sockets
Address Type Vnode Conn Local Addr Remote Addr
df187cc0 stream-ord dee4c1c0 00000000 /tmp/.X11-unix/X0
df187de8 stream-ord 00000000 00000000
#
# netstat -r //查看路由表
Routing Table: IPv4
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
192.168.0.0 wing U 1 3 pcn0
224.0.0.0 wing U 1 0 pcn0
default wing UG 1 0
localhost localhost UH 2 6 lo0
# netstat -g
Group Memberships: IPv4
Interface Group RefCnt
--------- -------------------- ------
lo0 224.0.0.1 1
pcn0 224.0.0.1 1
# netstat -p
Net to Media Table: IPv4
Device IP Address Mask Flags Phys Addr
------ -------------------- --------------- ----- ---------------
pcn0 192.168.0.1 255.255.255.255 00:03:0f:fd:6d:0c
pcn0 solaris9 255.255.255.255 SP 00:0c:29:80:4c:0a
pcn0 224.0.0.0 240.0.0.0 SM 01:00:5e:00:00:00
#
# netstat -s
# netstat -M
Virtual Interface Table is empty
Multicast Forwarding Cache is empty
#
# netstat -r //網(wǎng)絡(luò)接口狀態(tài)
Routing Table: IPv4
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
192.168.0.0 solaris9 U 1 1 pcn0
192.168.0.0 address2 U 1 0 pcn0:1
224.0.0.0 solaris9 U 1 0 pcn0
default 192.168.0.1 UG 1 0
localhost localhost UH 2 6 lo0
# netstat -rn
Routing Table: IPv4
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
192.168.0.0 192.168.0.3 U 1 1 pcn0
192.168.0.0 192.168.0.5 U 1 0 pcn0:1
224.0.0.0 192.168.0.3 U 1 0 pcn0
default 192.168.0.1 UG 1 0
127.0.0.1 127.0.0.1 UH 2 6 lo0
#
# netstat -i 1 5
input pcn0 output input (Total) output
packets errs packets errs colls packets errs packets errs colls
1187 0 1318 0 0 3699 0 3830 0 0
4 0 4 0 0 4 0 4 0 0
3 0 3 0 0 5 0 5 0 0
4 0 4 0 0 4 0 4 0 0
3 0 4 0 0 5 0 6 0 0
#
snoop
# snoop -c 3 //抓取3IP包
Using device /dev/pcn0 (promiscuous mode)
192.168.0.1 -> solaris9 TELNET C port=3013
solaris9 -> 192.168.0.1 TELNET R port=3013 Using device /dev/pc
192.168.0.1 -> solaris9 TELNET C port=3013
3 packets captured
#
# snoop -v -c 2 //抓取兩個(gè)詳細(xì)的IP包。
Using device /dev/pcn0 (promiscuous mode)
ETHER: ----- Ether Header -----
ETHER:
ETHER: Packet 1 arrived at 1:43:41.42
ETHER: Packet size = 60 bytes
ETHER: Destination = 0:c:29:80:4c:a,
ETHER: Source = 0:3:f:fd:6d:c,
ETHER: Ethertype = 0800 (IP)
ETHER:
IP: ----- IP Header -----
IP:
IP: Version = 4
IP: Header length = 20 bytes
IP: Type of service = 0x00
IP: xxx. .... = 0 (precedence)
IP: ...0 .... = normal delay
IP: .... 0... = normal throughput
IP: .... .0.. = normal reliability
IP: .... ..0. = not ECN capable transport
IP: .... ...0 = no ECN congestion experienced
IP: Total length = 40 bytes
IP: Identification = 1627
IP: Flags = 0x4
IP: .1.. .... = do not fragment
IP: ..0. .... = last fragment
IP: Fragment offset = 0 bytes
IP: Time to live = 128 seconds/hops
IP: Protocol = 6 (TCP)
IP: Header checksum = 7320
IP: Source address = 192.168.0.1, 192.168.0.1
IP: Destination address = 192.168.0.3, solaris9
IP: No options
IP:
TCP: ----- TCP Header -----
TCP:
TCP: Source port = 3013
TCP: Destination port = 23 (TELNET)
TCP: Sequence number = 769864152
TCP: Acknowledgement number = 52297913
TCP: Data offset = 20 bytes
TCP: Flags = 0x10
TCP: 0... .... = No ECN congestion window reduced
TCP: .0.. .... = No ECN echo
TCP: ..0. .... = No urgent pointer
TCP: ...1 .... = Acknowledgement
TCP: .... 0... = No push
TCP: .... .0.. = No reset
TCP: .... ..0. = No Syn
TCP: .... ...0 = No Fin
TCP: Window = 17292
TCP: Checksum = 0x7b85
TCP: Urgent pointer = 0
TCP: No options
TCP:
TELNET: ----- TELNET: -----
TELNET:
TELNET: ""
TELNET:
ETHER: ----- Ether Header -----
ETHER:
ETHER: Packet 2 arrived at 1:43:41.42
ETHER: Packet size = 97 bytes
ETHER: Destination = 0:3:f:fd:6d:c,
ETHER: Source = 0:c:29:80:4c:a,
ETHER: Ethertype = 0800 (IP)
ETHER:
IP: ----- IP Header -----
IP:
IP: Version = 4
IP: Header length = 20 bytes
IP: Type of service = 0x00
IP: xxx. .... = 0 (precedence)
IP: ...0 .... = normal delay
IP: .... 0... = normal throughput
IP: .... .0.. = normal reliability
IP: .... ..0. = not ECN capable transport
IP: .... ...0 = no ECN congestion experienced
IP: Total length = 83 bytes
IP: Identification = 50744
IP: Flags = 0x4
IP: .1.. .... = do not fragment
IP: ..0. .... = last fragment
IP: Fragment offset = 0 bytes
IP: Time to live = 60 seconds/hops
IP: Protocol = 6 (TCP)
IP: Header checksum = f717
IP: Source address = 192.168.0.3, solaris9
IP: Destination address = 192.168.0.1, 192.168.0.1
IP: No options
IP:
TCP: ----- TCP Header -----
TCP:
TCP: Source port = 23
TCP: Destination port = 3013
TCP: Sequence number = 52297913
TCP: Acknowledgement number = 769864152
TCP: Data offset = 20 bytes
TCP: Flags = 0x18
TCP: 0... .... = No ECN congestion window reduced
TCP: .0.. .... = No ECN echo
TCP: ..0. .... = No urgent pointer
TCP: ...1 .... = Acknowledgement
TCP: .... 1... = Push
TCP: .... .0.. = No reset
TCP: .... ..0. = No Syn
TCP: .... ...0 = No Fin
TCP: Window = 64240
TCP: Checksum = 0xd1f6
TCP: Urgent pointer = 0
TCP: No options
TCP:
TELNET: ----- TELNET: -----
TELNET:
TELNET: "Using device /dev/pcn0 (promiscuous mode)\r\n"
TELNET:
2 packets captured
#
# snoop host1 host2
host1 -> host2 ICMP Echo request
host2 -> host1 ICMP Echo reply
使用snoop實(shí)用程序判定系統(tǒng)間實(shí)際上傳送的什么信,判斷網(wǎng)絡(luò)暢通
# snoop -a dhcp
Snoop 的使用
Snoop 是Solaris 系統(tǒng)中自帶的工具, 是一個(gè)用于顯示網(wǎng)絡(luò)通訊的程序, 它
可捕獲IP 包并將其顯示或保存到指定文件. (限超級(jí)用戶使用snoop)
Snoop 可將捕獲的包以一行的形式加以總結(jié)或用多行加以詳細(xì)的描述(有
調(diào)用不同的參數(shù)-v -V來(lái)實(shí)現(xiàn)). 在總結(jié)方式下(-V ) , 將僅顯示最高層的相關(guān)協(xié)
議, 例如一個(gè)NFS 包將僅顯示NFS 信息, 其低層的RPC, UDP, IP, Ethernet 幀信息將不會(huì)顯示, 但是當(dāng)加上相應(yīng)的參數(shù)(-v ), 這些信息都能被顯示出來(lái).
參數(shù)簡(jiǎn)介:
[ -a ] # Listen to packets on audio
[ -d device ] # settable to le?, ie?, bf?, tr?
[ -s snaplen ] # Truncate packets
[ -c count ] # Quit after count packets
[ -P ] # Turn OFF promiscuous mode
[ -D ] # Report dropped packets
[ -S ] # Report packet size
[ -i file ] # Read previously captured packets
[ -o file ] # Capture packets in file
[ -n file ] # Load addr-to-name table from file
[ -N ] # Create addr-to-name table
[ -t r|a|d ] # Time: Relative, Absolute or Delta
[ -v ] # Verbose packet display
[ -V ] # Show all summary lines
[ -p first[,last] ] # Select packet(s) to display
[ -x offset[,length] ] # Hex dump from offset for length
[ -C ] # Print packet filter code
由于snoop 的使用非常靈活, 希望能通過(guò)下面一些例子的學(xué)習(xí)來(lái)其常見(jiàn)用法.
1. 監(jiān)聽(tīng)所有以本機(jī)為源和目的的包并將其顯示出來(lái).
# snoop
2. 監(jiān)聽(tīng)所有以主機(jī)A為源和目的的包并將其顯示出來(lái). ( A為主機(jī)名, 下同)
- 2 -
# snoop A
3. 監(jiān)聽(tīng)所有A和B之間的包并將其保存到文件file.
# snoop -o file A B
4. 顯示文件file 中指定的包(99-108)
# snoop - i file -p 99,108
99 0.0027 boutique -> sunroof NFS C GETATTR FH=8E6C
100 0.0046 sunroof -> boutique NFS R GETATTR OK
101 0.0080 boutique -> sunroof NFS C RENAME FH=8E6C MTra00192
to .nfs08
102 0.0102 marmot -> viper NFS C LOOKUP FH=561E screen.r.13.i386
103 0.0072 viper -> marmot NFS R LOOKUP No such file or directory
104 0.0085 bugbomb -> sunroof RLOGIN C PORT=1023 h
105 0.0005 kandinsky -> sparky RSTAT C Get Statistics
106 0.0004 beeblebrox -> sunroof NFS C GETATTR FH=0307
107 0.0021 sparky -> kandinsky RSTAT R
108 0.0073 office -> jeremiah NFS C READ FH=2584 at 40960 for 8192
5. 詳細(xì)查看文件file 中第101 個(gè)包:
# snoop - i file - v -p101
ETHER: ----- Ether Header -----
ETHER:
ETHER: Packet 101 arrived at 16:09:53.59
ETHER: Packet size = 210 bytes
ETHER: Destination = 8:0:20:1:3d:94, Sun
ETHER: Source = 8:0:69:1:5f:e, Silicon Graphics
ETHER: Ethertype = 0800 (IP)
ETHER:
IP: ----- IP Header -----
IP:
IP: Version = 4, header length = 20 bytes
IP: Type of service = 00
IP: ..0. .... = routine
IP: ...0 .... = normal delay
IP: .... 0... = normal throughput
IP: .... .0.. = normal reliability
IP: Total length = 196 bytes
IP: Identification 19846
IP: Flags = 0X
IP: .0.. .... = may fragment
IP: ..0. .... = more fragments
?
- 3 -
?
6. 查看主機(jī)A和主機(jī)B之間的NFS 包(命令中的and 和or 為相應(yīng)的邏輯運(yùn)
算)
# snoop - i file rpc nfs and A and B
1 0.0000 A -> B NFS C GETATTR FH=8E6C
2 0.0046 B -> A NFS R GETATTR OK
3 0.0080 A -> B NFS C RENAME FH=8E6C MTra00192 to .nfs08
7. 將這些符合條件的包保存到另一文件file2 中:
# snoop - i file -o file2 rpc nfs A B
8. 監(jiān)聽(tīng)主機(jī)A和主機(jī)B間所有TCP 80 端口或UDP80端口的包
# snoop A and B and (tcp or udp) and port 80
9. 監(jiān)聽(tīng)所有的廣播包
# snoop broadcast
Using device /dev/hme (promiscuous mode)
10.10.10.50 -> BROADCAST UDP D=177 S=2541 LEN=35
10.10.10.50 -> BROADCAST UDP D=177 S=2541 LEN=35
10.10.10.50 -> BROADCAST UDP D=177 S=2541 LEN=35
10. 監(jiān)聽(tīng)所有的多播包, 并顯示詳細(xì)內(nèi)容.
#snoop -v multicast
ETHER: ----- Ether Header -----
ETHER:
ETHER: Packet 1 arrived at 12:33:2.16
ETHER: Packet size = 69 bytes
ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast)
ETHER: Source = 0:4:76:46:8f:50,
ETHER: Ethertype = 0800 (IP)
ETHER:
IP: ----- IP Header -----
IP:
IP: Version = 4
IP: Header length = 20 bytes
IP: Type of service = 0x00
IP: xxx. .... = 0 (precedence)
IP: ...0 .... = normal delay
- 4 -
IP: .... 0... = normal throughput
IP: .... .0.. = normal reliability
IP: Total length = 55 bytes
IP: Identification = 14658
IP: Flags = 0x0
IP: .0.. .... = may fragment
IP: ..0. .... = last fragment
IP: Fragment offset = 0 bytes
IP: Time to live = 128 seconds/hops
IP: Protocol = 17 (UDP)
IP: Header checksum = ed38
IP: Source address = 10.10.10.50, 10.10.10.50
IP: Destination address = 255.255.255.255, BROADCAST
IP: No options
IP:
UDP: ----- UDP Header -----
UDP:
UDP: Source port = 2541
UDP: Destination port = 177
UDP: Length = 35
UDP: Checksum = 8E35
UDP:
ETHER: ----- Ether Header -----
ETHER:
ETHER: Packet 2 arrived at 12:33:12.16
ETHER: Packet size = 69 bytes
ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast)
ETHER: Source = 0:4:76:46:8f:50,
ETHER: Ethertype = 0800 (IP)
ETHER:
IP: ----- IP Header -----
IP:
IP: Version = 4
IP: Header length = 20 bytes
IP: Type of service = 0x00
IP: xxx. .... = 0 (precedence)
IP: ...0 .... = normal delay
IP: .... 0... = normal throughput
IP: .... .0.. = normal reliability
IP: Total length = 55 bytes
IP: Identification = 14985
IP: Flags = 0x0
IP: .0.. .... = may fragment
IP: ..0. .... = last fragment
IP: Fragment offset = 0 bytes
IP: Time to live = 128 seconds/hops
IP: Protocol = 17 (UDP)
IP: Header checksum = ebf1
IP: Source address = 10.10.10.50, 10.10.10.50
- 5 -
IP: Destination address = 255.255.255.255, BROADCAST
IP: No options
IP:
UDP: ----- UDP Header -----
UDP:
UDP: Source port = 2541
UDP: Destination port = 177
UDP: Length = 35
UDP: Checksum = 8E35
UDP:
11.監(jiān)聽(tīng)所有的NTP 協(xié)議包
# snoop |grep - i NTP
Using device /dev/hme (promiscuous mode)
ts1 -> 224.0.1.1 NTP broadcast (Tue Jul 23 12:48:50 2002)
ts1 -> 224.0.1.1 NTP broadcast (Tue Jul 23 12:49:54 2002)
ts1 -> 224.0.1.1 NTP broadcast (Tue Jul 23 12:50:58 2002)
ts1 -> 224.0.1.1 NTP broadcast (Tue Jul 23 12:52:02 2002)
ts1 -> 224.0.1.1 NTP broadcast (Tue Jul 23 12:53:06 2002)
ts1 -> 224.0.1.1 NTP broadcast (Tue Jul 23 12:54:10 2002)
這里我們也可看到NTP server 每隔約一分鐘即向多播地址廣播一次.
date
# date
2003年10月12日 星期日 10時(shí)04分16秒 CST
(CST是Chinese Standard Time的縮寫(xiě))
# date 10121003 設(shè)置時(shí)間為10月12日10時(shí)03分

設(shè)備管理
軟盤(pán)
#volcheck
fdformat [-dDeEfHlLmMUqvx] [-b label] [-B filename] [-t dos-
type] [devname] //格式化
prtconf
# prtconf //配置信息
System Configuration: Sun Microsystems i86pc
# prtconf | grep Memory //查看內(nèi)存
Memory size: 128 Megabytes
arch
# arch -k //了解體系結(jié)構(gòu)
i86pc
uname
# uname -m
i86pc
# uname
SunOS
# uname -a
SunOS wing 5.9 Generic_112234-03 i86pc i386 i86pc
eject
#eject floppy
eeprom
#eeprom selftest -#megs=64 //修改系統(tǒng)自檢到的內(nèi)存數(shù)
sysdef
#sysdef //更詳細(xì)的體系機(jī)構(gòu)
df
# df -k //顯示當(dāng)前所有已安裝的文件系統(tǒng)上的文件數(shù)目和空閑塊的數(shù)目
# df -a //打印所有文件系統(tǒng)的信息
du -k
#du -k /export //遞歸顯示文件夾中的文件或文件夾
# du -sk /etc    查看目錄的使用情況 總樹(shù)統(tǒng)計(jì)
# du -k /etc 逐個(gè)查看
# du -k /export | sort -n 可以迅速發(fā)現(xiàn)那個(gè)目錄是最大的。


本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u2/65250/showart_1945183.html

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2009-06-19 19:07 |只看該作者
謝謝分享,先看看了

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2009-07-27 11:27 |只看該作者
不錯(cuò),比較詳細(xì)

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2009-09-02 11:06 |只看該作者
我經(jīng)常搞不清楚我想做的事情屬于哪個(gè)類(lèi)型,需要用到哪種命令,只能現(xiàn)翻書(shū)~@

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2009-09-09 11:01 |只看該作者

強(qiáng)

學(xué)習(xí)了,希望以后有機(jī)會(huì)都用到。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2009-09-14 19:56 |只看該作者
收下了,謝謝LZ!

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2013-06-11 12:34 |只看該作者
很多呀,謝謝分享

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2013-06-21 23:01 |只看該作者
學(xué)習(xí)了,謝謝分享

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2013-09-29 10:55 |只看該作者
感謝啊~~~就是太長(zhǎng)了~~~看起來(lái)有點(diǎn)累。。。。

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2013-11-11 11:47 |只看該作者
感謝啊 ,  很好用。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP