SunOS 操作命令及linux區別整理

zr2095發表於2015-12-18
SunOS 操作命令及linux區別

1. 系統
# passwd:修改口令
# exit:退出系統

2. 檔案
# cp:複製檔案或目錄,引數:-a遞迴目錄,-i覆蓋確認
# mv:改名移動
# rm:刪除,引數:-r遞迴刪除

3. 目錄
# mkdir:建立目錄
# rmdir:刪除空目錄
# cd:改變工作目錄
# pwd:檢視當前路徑
# ls:列目錄,引數:-a所有檔案,-c按時間排序,-l詳細資訊--沒有ll

4. 文字
# sort:排序
# uniq:刪除重複行

5. 備份壓縮
# tar:檔案,引數:-c建立新檔案,-r追加到末尾,-t列出檔案內容,-u更新檔案,-x釋放檔案,-f使用檔案檔案或裝置,-M多卷,-v詳細報告,-w每步確認。例tar cvf text.tar *.txt
++++++++++++++++++++++++++++++++
在 Linux 的環境裡tar是新的,符合GUN,因此可以在 tar的引數加上 z 會自動呼叫gzip
但如果在某些 unix 如sunos 其tar就無法呼叫gzip,因此如果同樣一個abc.tar.gz 壓縮文件,要分二次解。
gzip -d abc.tar.gz 解開 .gz 會產生abc.tar 再執行
tar vxf abc.tar 就會再解開abc.tar全部了。
++++++++++++++++++++++++++++++++
# gzip:壓縮解壓縮,引數:-d解壓,-r遞迴壓縮
# unzip:解壓縮,引數:-d目錄,-x解壓縮

6. 許可權
# chmod:改變許可權,r可讀,w可寫,x可執行。0表示沒有許可權,1表示可執行許可權,2表示可寫許可權,4表示可讀許可權,然後將其相加。例如,如果想讓某個檔案的屬主有“讀/寫”二種許可權,需要把4(可讀)+2(可寫)=6(讀/寫)。
# chgrp:改變所屬使用者組
# chown:改變屬主

7. 管理
# wall:傳送資訊到全部登入使用者
# write:向某個使用者傳送資訊
# mesg y:設定允許別人給自己傳送資訊
# sync:快取同步校驗
# shutdown:關機,引數:-r重啟,-h關機不重啟,-f快速關機,-c取消關機
# free:檢視記憶體
# uptime:顯示系統執行時間
# df:磁碟佔用空間,引數:-a顯示所有檔案系統
# du:磁碟使用情況
# dd:複製並格式轉換
# fdformat:低格軟盤
# echo:顯示文字
# cal:日曆
# date:系統日期和時間
# clear:清屏

8. 我的回憶 by tom2sun
# who:檢視當前使用者
# finger:檢視其他使用者資訊
# rlogin:遠端登入
# rcp:遠端複製
# netstat:網路狀態
# cat:一次完全顯示
# more:分屏顯示
# file:列出檔案型別
# grep:查詢內容
# find:查詢檔案
# ps:當前執行程式,引數-a顯示所有程式
# at:時間,命令,Ctrl+D結束
# lp:列印
# nice:指定優先順序
# renice:調整優先順序
# kill:終止程式
# man:獲取命令幫助
# touch:改變時間記錄
# ln:連結
# mount -t vfat /dev/hda1 /mnt/dos:掛載Dos分割槽(不適用於Unix-Center)

9. FTP
# ftp:啟動FTP程式
ftp>
open:開啟
close:關閉
bye:離開
get:下載
put:上傳
mget/mput:多個檔案下載/上傳
reget:恢復下載
binary:二進位制傳送檔案
ascii:ASCII碼傳送
cd:改變遠端目錄
lcd:改變本地目錄
mkdir:建目錄
rmdir:刪除目錄
delete:刪除檔案
mdelete:一次刪除多個
rename:重新命名
status:顯示狀態
prompt:互動式
hash:每傳送1024位元組顯示#(hash)
size:顯示檔案大小
reset:重置

10. vi
a,i:進入輸入狀態
ESC:返回命令狀態
:命令模式
Q!:退出

11. 快鍵及其他
Alt+F1~F6:訪問多個虛擬控制檯(不適用於Unix-Center)
Tab:命令補全
末尾&:後臺程式

----------------------------------------

硬體系統:

1、如何檢視cpu的狀態?                  
# psrinfo -v
# mpstat     可以列出多cpu負載的狀態

2、如何檢視記憶體?                       
# prtconf | grep 'Memory' 可以檢視記憶體的多少.
# /usr/platform/sun4u/sbin/prtdiag

3、如何動態新增swap分割槽? # $su - root                                  -----  成為超級使用者
# mkfile 100m /home/swapfile         -----  建立100m的Swap檔案
# /usr/sbin/swap -a /path/filename  -----  啟用Swap檔案
# /usr/sbin/swap -l                 -----  驗證swap檔案
# /usr/sbin/swap -d /path/filename  -----  取消swap檔案
# rm -rf /home/swapfile              -----  刪除swap檔案

4、如何檢視當前網路卡是以何種速率起來的?    
# dmesg |grep Link

5、如何調整x-window的解析度和重新整理頻率?
  字元介面登陸,執行:#/kdmconfig

6、如何使用光、軟碟機?
一般情況下用:
# /etc/init.d/volmgt start
# volcheck
以上方法不行,用:
# /etc/init.d/volmgt stop
# mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom --掛接光碟機
# mount -F pcfs /dev/diskette0 /floppy         --掛接軟碟機
solaris定義系統磁碟檔案系統說明:
ufs – UNIX檔案系統。是Solaris預設的檔案系統。
hsfs – 高密度CD-ROM檔案系統,是隻讀檔案系統。
pcfs – PC檔案系統,支援DOS格式化的軟盤

7、SCSI裝置的命名規則是什麼?
帶有匯流排控制器的硬碟的使用,下面列出了匯流排控制器的硬碟命名習慣:
cWtXdYsZ
c Logical controller number
t Physical bus target number
d Drive number
s Slice (or partition) number (0 to 7)
例如:
/dev/rdsk/c0t0d0s0 該原始介面對應第一個控制器的第一個SCSI目標地址的第一個硬碟的第一片(根)
/dev/rdsk/c0t0d0s2 該原始介面對應第一個控制器的第一個SCSI目標地址上的第一個硬碟的第三片(表示整上硬碟)

8、如何檢視硬碟的使用情況?                         
# df -k      可以看到已安裝的檔案系統的空間大小及剩餘空間大小。
# quota -v       檢視使用者的磁碟空間資訊,如果你用quota限制了使用者空間大小的話。
# du -sk *   檢視目錄的使用情況
# du -k | sort -n  可以迅速發現那個目錄是最大的。

9、如何檢視硬碟物理資訊?
# format       這個命令也可以檢視硬碟的型別和分割槽的詳細情況
# iostat -E看硬碟的大小和型號
# prtvtoc /dev/rdsk/c0t0d0s0   顯示某個磁碟的分割槽狀況

10、檢視系統核心命令。                           
  # isainfo        看核心的bit,
  # isainfo -kv      調整核心
# modinfo          顯示可載入的模組
# prtconf          顯示系統硬體配置(周邊裝置)
#sysdef           顯示可載入的模組,硬體配置與一些可以調整的核心參考值
#ulimit -a

11、列印當前的OBP版本號                          
# prtconf –V
OBP 3.20.0 2000/10/24 10:47
# /usr/platform/sun4u/sbin/prtdiag –v | grep OBP
OBP 3.20.0 2000/10/24 10:47 POST 6.1.0 2000/10/24 10:49
ok. .version
Release 3.20 Version 0 created 2000/10/24 10:47
OBP 3.20.0 2000/10/24 10:47
POST 6.1.0 2000/10/24 10:49
OBDIAG 4.5.1 2000/10/24 10:48

12、檢視及啟動系統的32位或64位核心模式                      
64位模式
# isalist –v
sparcv9+vis sparcv9 sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc
# isainfo –v
64-bit sparcv9 applications
32-bit sparc applications
# isainfo –b
64
啟動64位核心模式
ok. boot kernel/sparcv9/unix

32位模式
# isalist –v
sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc
# isainfo –v
32-bit sparc applications
# isainfo –b
32
啟動32位模式
ok. boot kernel/unix

13、測定當前的顯示器重新整理頻率
# /usr/sbin/fbconfig –rev \?

14、如何配置網路卡ip?
# ifconfig -a             --檢視網路卡,例如是hme0
# ifconfig hme0  unplumb  --停止網路卡
# ifconfig hme0  plumb    --起用網路卡
# ifconfig hme0 inet 192.168.2.3 netmask 255.255.255.0 up  --新增ip、子網掩碼
# vi /etc/defaultrouter   新增預設路由的ip
# vi /etc/hostname.hme0   新增主機名
# vi /etc/nodename        新增主機名
# vi /etc/resolv.conf    
   domain china.com          你的域名
   nameserver 202.106.0.20   你使用的nds ip
# vi /etc/nsswitch.conf     更改 hosts:file dns

15、 PROM狀態命令與引數
格式:  OK>; 指令
       命令        說明
banner                     顯示當前機器配置狀況,CPU,記憶體,hostid,EtherNet
probe-scsi                 顯示內部SCSI通道所掛接裝置
probe-scsi-all             顯示所有SCSI通道及所掛接裝置
probe-ide                  顯示所有IDE通道及所掛接裝置(針對U10,U5)
dias                   顯示裝置別名,如 cdrom,disk,disk0,disk1等
printenv                   無引數,顯示環境變數或
                                    引數為環境變數名 如: printenv auto-boot?
setenv                     設定環境變數,如: setenv auto-boot? false
set-default                恢復環境變數預定值  如:set-default auto-boot?
set-defaults               恢復所有環境變數預定值
boot device option        啟動主機
                        裝置別名:  cdrom 或 disk
                        裝置名:   /pci@1f,4000/scsi@3,1/disk@6,0:f
                        option  -r  裝置配置
                                -s  單使用者
eject cdrom|floppy         彈出cdrom或floppy
reset                         復位
test net       
watch-net-all       
show-devs       

16、查詢網路卡名稱及介面個數                           
# grep network /etc/path_to_inst

17、如何一塊網路卡幫定三個ip,並且子網掩碼不同?
舉例說明,網路卡名hme0:
# vi /etc/hosts
127.0.0.1 localhost
192.168.2.1 dbs loghost
192.168.9.15 dd
192.168.9.65 aa
# vi /etc/netmasks
192.168.2.0 255.255.255.0
192.168.9.0 255.255.255.192
192.168.9.64 255.255.255.252

#vi /etc/hostname.hme0
dbs
#vi /etc/hostname.hme0:1
dd
#vi /etc/hostname.hme0:2
aa
# ipconfig hme0 inet 192.168.2..1 netmask 255.255.255.0 up
# ipconfig hme0:1inet 192.168.9.15 netmask 255.255.255.192 up
# ipconfig hme0 inet 192.168.9.65 netmask 255.255.255.252 up
# init 6
#ipconfig -a

18、如何在prom狀態下檢視光纖硬碟 ?  
stop +a進入ok狀態:
ok>; select 光纖卡裝置名(可用show-devs檢視到)
ok>; show-children

19、主機雙螢幕設定。         
1.Confirm there are two Video Cards。
2.Confirm driver installed and patches installed if need。
3.vi /usr/dt/config/Xservers.
comment the last line.
and uncomment the nearest line like this.
4.reboot.

20、檢視硬碟引數及其實體地址:
#format </dev/null

21、顯示磁碟的分割槽情況:
#prtvtoc /dev/rdsk/c0t0d0s2


系統應用:

1、、檢視系統執行級別
# who -r 看執行級別

2、程式工具                
pstop pid  停止程式
prun pid  重新啟動程式
ptime pid  使用微狀態計算程式時間
pwait pid  等待指定的程式終止
pcred pid 顯示可信度    *
pfiles pid 顯示已開啟檔案的fstat和fcntl資訊   *
pflags pid 顯示每個lwp的/proc跟蹤標誌,等待和待有訊號量以及其他狀態資訊  *
pldd  pid 顯示連結到每個程式的動態連結庫   *
pmap pid  顯示地址對映空間   *
psig pid 顯示訊號操作    *
pstack pid 顯示每個lwp的十六進位制與符號堆跟蹤   *
ptree pid 顯示包含指定PID的程式樹
pwdx  pid 顯示當前工作目錄   *
後面加*的必須是超級使用者執行。
這些工具在/usr/proc/bin/裡面。

3、patch軟體包的安裝
每個補丁都有編號。例如補丁號為101945,版本是34的話,這個補丁的目錄名就是101945-34.
# patchadd 105160-01     安裝補丁
# patchrm                刪除補丁
# patchadd -p            檢查系統的補丁情況
# showrev -p             檢視所有已經安裝的patch

4、如何容許root使用者遠端登入?
  # vi /etc/default/login
  CONSOLE=/dev/console  ---用#註釋掉這一行。

5、如何限定telnet登陸數?solaris pts的數量預設為47, 修改/etc/system檔案,增加如下內容:
set maxusers=數量
set pt_cnt=數量

6、顯示已經使用和未使用的i-node數目         
# df –F ufs –o i

7、顯示cpu使用率最高的程式                   
# ps –eo pid,pcpu,args | sort +1n
該命令輸出當前系統程式的pid, CPU佔用率及命令描述,並以pcpu來排序

8、檢視當前的OpenWindows版本                   
# showrev –w
OpenWindows version:
X11 Version 6.4.1 5 November 2001

9、檢視當前CDE的版本                               
# /usr/ccs/bin/what /usr/dt/bin/dtmail
/usr/dt/bin/dtmail:
CDE Version 1.4.6_06
CDEVersion1.4.6_06

10、文消掉本中的^M
# cat test.dat | tr -d '\015' >; test.out
這樣可以將 test.dat 內 ^M(\015) 這個字元去掉, 產生 test.out

11、關機命令。
關閉系統的方式根據關閉的原因而不同.執行關閉有的是為了轉至執行等級S,有的是要停止作業系統並關閉裝置的電源.
(1) /usr/sbin/shutdown –gtime –ilevel -y
(2) init 0
(3) halt
(4) STOP+A ; sync
(5) 關閉電源
緊急情況,按Stop_A , 如Stop_A不起作用,則將裝置電源關閉再開啟.這是
極端情況.這兩種方法不是乾淨的關閉,是突然關閉的,僅在緊急情況使用.

12、Solaris下怎麼傳送即時訊息?
用wirte命令到單個使用者的終端。
$ wirte username
輸入訊息正文,結束按ctrl-d,訊息就會出現在使用者終端。
使用者可以用mesg n[y]來決定是否啟動接受訊息。

用wall,是發給所有系統使用者。
$ wall
hello ,i love you ...... 結束用ctrl-D.

rwall -n netgroup 給網路上所有使用者。
$ rwall -n workgroup --------發給組workgroup下的每一個使用者
hi ! no smoking ...... 結束用ctrl -d

$ rwall sune450 ------或者主機名為sune450。用法如上。。。

13、系統是sunos5.8, 不知何種原因現在唯一的普通使用者起不了Terminal, vi等,但是超級使用者可以,如何補救?          
   用/etc/skel/local.cshrc 替換掉登陸路徑下的 .cshrc, 重新登陸, 就OK了!
$cp /etc/skel/local.cshrc ./

14、關機時這個題是什麼意思?            
/usr/sbin/vold[724]: [ID 244572 daemon.error] 解除安裝 /vol 時發生問題;中斷系統呼叫
uxwdog[481]: [ID 248799 daemon.error] error communicating with server (Broken pipe)

你還沒卸下來/VOL就啟動,才出問題,執行:
# umount -f /vol後再做。

15、find常用的例子:
命令格式: find dir -name filename command
例子:
# find . -name hello -print         尋找目前目錄及所有的子目錄內叫hello的文件。
# find . -ctime +7 -print            找出七天內未被更動的文件
# find . -size +2000m -print         找出大小超過2000 bytes的文件
# find /tmp -user b1234567 -print    在/tmp下屬於b1234567的文件
# find . -name '*.c' -exec rm {}     刪除所有的.c檔
# find . -name test\* -print         顯示當前目錄及其子目錄檔名前4位為test的檔名

16、忘記solarsi的root口令怎麼辦?               
方法一:
1.別怕 ,跟我來.
2.把你的solaris光碟放進cdrom
3.鍵入stop+a
4.當出現'ok'字樣時,鍵入boot cdrom -s
5.cd /tmp
6.mkdir /tmp/xxx (xxx是什麼鬼東西就無關緊要了)
7.mount /dev/dsk/c0t0d0s0 /tmp/xxx (在這裡c0t0d0s0是你的root盤)
8.執行csh
9.TERM=sun;export TERM或者
setenv TERM vt220
10.cp /tmp/root/xxx/shadow /tmp/root/xxx/shadow/shadow.backup
11.vi /tmp/root/xxx/shadow並且將password裡root項刪除。
12.重啟動,你就可以以無密碼的root登陸了,這時更改你的密碼。
要是沒有shadow,就把/etc/passwd裡root使用者名稱後面的X刪掉,就可以了
方法二:
找一臺有系統的solaris機器,把忘記密碼的系統放進去mount上來,重複方法一10以後的步驟.

solaris for x86的機器:
用光碟啟動到要你安裝的時候退出去就成單使用者,剩下的操作如上。

17、常見檔案的解壓                   
一般而言,在solaris下,會有這麼幾種格式的軟體:
1) .gz結尾的檔案,我們用gunzip或者gzip -d來解壓,再用tar來解壓.
2) .tar結尾的檔案,我們肯定知道用tar xvf的格式來解壓.
3) .zip結尾的檔案,我們用unzip,注意,這個只有在高版本的solaris下,才有.而且該檔案格式以solaris的patch比較多.
4) .Z結尾的檔案,我們一般用uncompress來解壓(當然,每個人的習慣不一樣.)
上面講的是解壓,一般解壓後,會生成這麼幾種方式:
1)生成.local的檔案,這個時候,我們用: pkgadd -d xxx.local來安裝.
2) 生成一個目錄,而且該目錄下會有一些pkg資訊,我們用: pkgadd -d . ;指在當前目錄下,安裝,並且按照預設的路徑來安裝.
3) 生成一個數字的目錄,一般是指solaris的patch,這個時候我們用patchadd來安裝.

18、如何在命令列介面替換一個檔案中的字元段?
# vi file 在命令模式中輸入:
:1, $s/diag/peng/g 全檔案查詢diag並替換為peng

19、請問TERM=VT100和TERM=dtterm都在什麼情況下設定?   
一般情況下如果你在機器的顯示器上登陸或者透過XMANAGER等登陸,就預設是dtterm,telnet 一般是ansi,當你透過telnet修改檔案的時候,需要設定成 TERM = VT100 ; export

TERM

20、如何檢視系統的版本?
$ uname -X
$ more /etc/release

21、命令列進入CDE:
#/usr/dt/bin/dtlogin -daemon;exit
or
#/etc/rc2.d/S92dtlogin start;exit;

22、檢視patch安裝過程中返回錯誤程式碼的含義:
#more /usr/sbin/patchadd

23、如何從一臺SOL8的機器登入到另外一臺SOL8的CDE桌面上去。
登陸CDE的時候點選一下選單:選擇--登陸遠端主機--

24、如何檢視你的預設語言環境?    C.Arthur
# more /etc/default/init

25、如何更改/home的許可權?   
停掉autofs服務,或者將/etc/auto_master的home註釋掉:
#vi /etc/auto_master  
------------內容如下----------
# Master map for automounter
#
+auto_master
/net -hosts -nosuid,nobrowse
#/home auto_home -nobrowse
/xfn -xfn


第三方軟體應用或技巧:

1、檢視當前的bind版本資訊                     
# nslookup –class=chaos –q=txt version.bind

2、在登入時顯示系統指定的訊息?
#vi /etc/motd    ----刪除所有過時的訊息,輸入新訊息
注意:對於已經登入且正在使用系統的使用者不顯示該訊息,超過一屏的訊息無法顯示。每次修改該檔案後,該檔案的時間戳隨之更新。

3、去掉文字中^M
# dos2unix aaa.txt bbb.txt,會去掉aaa.txt中的^M,生成bbb.txt檔案。

4、將系統中7天前的txt檔案查詢並打包。
# find / -mtime -7 >;aaa.txt
# tar cvf bbb.tar -I aaa.txt
---查詢出檔案記錄在aaa.txt檔案中,在作成bbb.tar檔案包。

5、查詢並刪除比某一天更老的檔案:
#find . ! -mtime -<days>; | /usr/bin/xarys rn -rf

6、solaris9普通使用者下無法正確輸入中文的解決方法:
在使用者目錄在#vi .profile 修改如下:
stty cs8 -istrip

7、請問如何防止telnet登陸發呆時間過長被踢呢?
這裡,vi /etc/default/login
# TIMEOUT sets the number of seconds (between 0 and 900) to wait before
# abandoning a login session.
#
#TIMEOUT=300
修改之後不是立即生效,在這之後所又的login session都符合這個要求,但是在修改之前已經建立的連線不受影響。

8、如何安裝gcc。
去sunfreeware.com上下載相應平臺的pkg包的gcc版本。
#pkgadd -d gcc*
設定環境變數:
bash 和sh 的shell:
vi $home/.profiel
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/local/bin:/usr/ccs/bin;export PATH
CC=gcc;export CC
csh的shell:
vi $home/.cshrc
set path=( /bin /usr/bin /usr/ucb /etc /usr/local/bin /usr/local/sbin .)
setenv CC gcc

9、列出當前目錄下的目錄。  
ls -al | grep '^d'

10、用命令列來開啟一個新的terminal。
/usr/dt/bin/dtterm


X86或者Vmware:

1、在Solaris10 x86上掛接window98分割槽的方法。     
#mount -F pcfs /dev/dsk/c0d1p0:e /mnt
總結一下:
偶的硬碟是接在IDE1的slaver盤上,用上述命令可將E:盤掛在/mnt
目錄下。如果你的電腦只有一個硬碟,並且是接在主機板的IDE1槽,設為
Master盤(通常這種情況較多),現在想掛WIN98下的D:盤,可輸入
#mount -F pcfs /dev/dsk/c0d0p0:d /mnt
注意,/mnt可以改為任意的其它空目錄,如/data(我在檔案管理器中自己
新建的一個目錄),可改為
#mount -F pcfs /dev/dsk/c0d0p0:d /data
按回車後如沒有任何出錯提示,則表示掛接成功,你就可以進入掛接的資料夾(此處為/data)找到你所掛接的win98的D:分割槽上的檔案了。
本方法經過偶N次實驗,是確實可行的。為後來者不再偶走過的彎路,偶特在此總結一下,哪位初學者不會在Solaris10 x86(Solaris9也應該行)
掛win98分割槽的話,可參考本方法。

export LANG=zh_CN.GB18030

檢視安裝的Solaris版本?
cat /etc/release

看程式
如果未安裝top,Soralis下可用prstat代替!a
prstat


/opt/vulcan/temp/
pkgadd -d top-3.6.1-sol10-sparc-local


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30208428/viewspace-1874604/,如需轉載,請註明出處,否則將追究法律責任。

相關文章