一. 基本命令
1 .cd change directory
$cd [回車] ;進(jìn)入用戶的家目錄
cd 絕對(duì)路徑
cd 相對(duì)路徑
2 .pwd 顯示當(dāng)前路徑
$pwd
/export/home/ora816
有時(shí)候,運(yùn)行此命令,會(huì)出現(xiàn)一條信息,
can't determin current directory.利用cd,給一個(gè)確定路徑即可。
3.ls 列出文件
$ls /usr/lib/fs
autofs cachefs fcl hsfslofs nfs
列出隱藏文件,文件名以 . 開始的文件叫隱藏文件,通常用于存儲(chǔ)用戶定義的環(huán)境變量
,命令格式:ls -a
$ $ls -a
. bin etc
.. dev
.Xauthority
列文件類型,命令格式:ls -F
$ls -F
acct/ message sa/
$ls -F /etc/default
cron* fs init* login
長(zhǎng)列表顯示,命令格式:ls -l
$ls -l
total 1064
drwxr-xr-x 2 root sys 2048 oct 24 11:10 drv
(1)文件類型
- 文件
d 目錄
b 塊文件
c 字符文件
l 連接
(2),(3),(4),文件讀取權(quán)限信息,r 讀,w 寫,x 執(zhí)行,- 無(wú)此權(quán)限
(2)文件主人權(quán)限 (6)規(guī)定文件主人是誰(shuí)
(3)文件組的權(quán)限 (7)規(guī)定文件組
(4)其他人的權(quán)限
(5)連接數(shù)或指針數(shù) 每個(gè)目錄至少有2個(gè)指針,指向上一個(gè)目錄,下一個(gè)目錄。
文件的指針數(shù)至少為1
(8)文件所占空間的大小 如建一個(gè)空的目錄,則占空間為512字節(jié)
(9)文件創(chuàng)建時(shí)間
(10)文件名字
4.mkdir 建目錄,令格式:mkdir directory_name directory_name
mdir y1 y2 /y3 (可以是相對(duì)路徑,也可以是絕對(duì)路徑)
5.rmdir 刪除目錄
命令格式:rmdir directory_name 只能刪除空目錄
rm -r directory_name 可刪除子目錄及子目錄中的文件
例如:$rmdir /export/home/ora816/report
$rm -r /export/home/ora816
rm -ir 可以進(jìn)行交互式刪除
6.cat顯示文件內(nèi)容,命令格式:cat filename(s)
$cat /etc/passwd
root:x:0:1:000-admin:/:/sbin/sh
如果一屏顯示不下,自動(dòng)滾屏
連接文件,命令格式:cat file1 file2>file3
cat file1 file2>>file3
cat >newfile ;創(chuàng)建新文件,行輸入
cat >>filename ;在文件的末尾增加一些文本
7.cp 拷貝文件,命令格式:cp [-options] source destination
例如:$cp /opt/y1 /export/home/y1
如果目標(biāo)文件存在,不會(huì)改變文件的主人,組,存取控制
如果目標(biāo)文件不存在,同源文件的主人,組相同,但存取控制同目標(biāo)文件系
統(tǒng)相同
考貝目錄,命令格式:cp -r source destination
拷貝一個(gè)目錄及所包含的所有文件到當(dāng)前目錄下的相同目錄名下
$cp -r /export/home/y1 /opt/y2
8.ln 連接命令,格式:ln exit-file new-file
ln -s exit-file new-file
9.Mv,移動(dòng)或修改文件名,命令格式:mv [-options] source destination
mv y1 y2
10.rm ,刪除文件或者目錄
$rm filename
$rm -r dirname
$rm -I(小寫) filename 交互式方式
11.More,逐屏顯示文件內(nèi)容,命令格式:more filename(s)
如果一屏顯示不下,系統(tǒng)會(huì)自動(dòng)停止,在屏幕底部顯示,"--more--",等待使用
下列控制鍵控制顯示??崭?nbsp; 顯示下一屏
回車 顯示下一行
b 返回上一屏
f 顯示下一屏
h 顯示幫助
q 退出,返回 shell 提示符
%= 顯示這一屏最后一行的行號(hào)
!command 執(zhí)行命令,如:!pwd
12.grep,搜索字符串,命令格式:grep [option] string file-list
-v 顯示不含有該字符串的行
-n 顯示string所在的行,以及行號(hào)
-i 忽略大小寫
13.Head, 顯示文件的前 n 行,命令格式:head [-n] filename(s)
$head -100 yy 默認(rèn)為10行
14.Tail, 顯示文件的后 n 行,命令格式:tail [-n] filename(s)
$tail -100 yy
15. wc統(tǒng)計(jì)文件的行數(shù),單詞數(shù),字符數(shù)。命令格式:wc [option] filename
-l 行數(shù)
-w 單詞數(shù)
-c 字符數(shù)
16.Find查找文件。命令格式:find 范圍 執(zhí)行動(dòng)作(expression)
expression: -name filename
-user username (查找屬于某一個(gè)用戶的文件)
-print (顯示查找的結(jié)果)
-exec command \; (執(zhí)行命令)
例如:find / -name passwd -print
find / -name core -print -exec rm { } \;
發(fā)現(xiàn)core文件,將其刪掉
find / -name netscape -print -exec chmod 744 { } \;
17. chmod 修改文件權(quán)限,命令格式:chmod who [operation] permission filnname
who:u(user),g(group),o(other),a(all)
operation : +,-
permission:r,w,x
$chmod a+w filename
權(quán)限 值
rwx 7
rw- 6
r-x 5
r-- 4
-wx 3
-w- 2
--x 1
--- 0
權(quán)限 值
rw-r--r-- 644
rwxr-x--x 751
rwxrwxr-x 775
rwxrwxrwx 777
$chmod o-r .profile
$chmod u+x go+r .profile
$chmod 755 .profile
18.chown, 修改文件屬組,命令格式:chown [-R] user_name file_name
$chown -R ora816 ora816
$chown ora816 .profile
19.ps ,顯示進(jìn)程
ps 先是當(dāng)前窗口啟動(dòng)的進(jìn)程
ps -ef 列出系統(tǒng)的所有進(jìn)程
uid:用戶id號(hào)
pid:進(jìn)程號(hào)
ppid:父進(jìn)程號(hào)
c:進(jìn)程進(jìn)度
stime:進(jìn)程開始時(shí)間
tty:啟動(dòng)的終端
time:累計(jì)運(yùn)行時(shí)間
cmd:啟動(dòng)進(jìn)程所需時(shí)間
20.Kill關(guān)閉進(jìn)程
kill pid
kill -HUP pid 重起進(jìn)程
21 df 顯示磁盤空間使用情況
$df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t3d0s0 865678 607176 197905 76% /
/dev/dsk/c0t1d0s3 20191 5022 13150 28% /export/home
/dev/dsk/c0t1d0s0 865678 534524 270557 67% /opt
/dev/dsk/c0t1d0s1 76767 17 69074 1% /var/mail
swap 145020 204 144816 1% /tmp
22 man
$man ls
23 vi,編輯命令
vi 的操作方式有兩種,命令方式,輸入方式,用Esc來切換
(1) 啟動(dòng)與退出
$vi filename
$vi + filename 停在空行第一個(gè)位置
$vi +/string filename 停在字符串所在行的位置
$vi +n filename 光標(biāo)直接停在第n行
q! 強(qiáng)制退出
wq! 強(qiáng)制存盤退出
(2) 移動(dòng)光標(biāo)
h j k l 分別向上向下向左向右移動(dòng)一個(gè)字符
(3) 文本編輯命令
插入命令: I(小寫) 在當(dāng)前光標(biāo)前輸入 I (大寫) 在當(dāng)前行首插入
a 在當(dāng)前光標(biāo)后輸入 A 在當(dāng)前行末插入
o 在當(dāng)前行的下一行插入新一行
O 在當(dāng)前行的上一行插入新一行
刪除命令: x 刪除光標(biāo)所在字符
dd 刪除一行
ndd 刪除n行(從當(dāng)前行及向下的n行)
dn 刪除n個(gè)字符
(4)底行命令
搜索字符串: /string 從前向后搜索
?string 從后向前搜索
字符串替換: [address]s/search-string/replace-string/
address: n 行號(hào)
n1,n2 兩行之間
% 全文查找替換
例如: %s/net/com/
(5) 設(shè)置vi工作情況
:set nu 設(shè)置行號(hào)
:set nonu 取消行號(hào)
:set list 顯示可見字符
:set nolist 不顯示可見字符
:set all 顯示所有可以設(shè)置的變量
:!command 簡(jiǎn)單的操作系統(tǒng)命令
二Solaris的安裝
1 分兩種安裝:本地安裝
本地有CD-ROM,安裝軟件,將機(jī)器加電后,同時(shí)按下stop+a,到OK狀態(tài)下,ok boot cdr
om,J進(jìn)行安裝。
網(wǎng)絡(luò)安裝
本地?zé)oCD-ROM;對(duì)多臺(tái)機(jī)器同時(shí)進(jìn)行安裝,但是只有一張安裝盤
2網(wǎng)絡(luò)安裝
舉例:有兩臺(tái)機(jī)器進(jìn)行安裝,一臺(tái)Server。
在Server上:(1)修改文件
#vi /etc/hosts
10.1.1.1 host1
10.1.1.2 host2
#vi /etc/ethers
Ethernet.address hostname
8:0:20:1e:2c:5f host1
#vi /etc/dfs/dfstab
share -F nfs -o ro,anon=0 /cdrom/cdrom0/s0
(2)運(yùn)行命令
#/usr/lib/nfs/mountd
#/usr/lib/nfs/nfsd
#/cdrom/cdrom0/s0/add_install_client host1 sun4u
host2 sun4m
Sun的核心結(jié)構(gòu),Sun4c,Sun4u,Sun4m等。
Client: 加電后,到OK狀態(tài)下,
Ok boot net
3 安裝過程中出現(xiàn)的問題
(1)Name service NIS+
NIS
Other
None
(2)System part of a subnet yes or no
(3)Preserve date
/ /usr 不能保留數(shù)據(jù)的
/opt /export/home 能保留數(shù)據(jù),但是安裝時(shí),要保持分區(qū)大小的不變
(4)軟件選擇
Core
Enduser
Developer
Entire distribution
Entire distribution plus OEM support
(5)分區(qū)的大小
分區(qū)多,空間分散嚴(yán)重,硬盤利用率低
分區(qū)少,數(shù)據(jù)存儲(chǔ)不安全
分區(qū)最多可以分為八個(gè)分區(qū)
/(根分區(qū)) 存有系統(tǒng)最重要的核心文件,支持硬件。如/dev /devic
es
/usr 存有二進(jìn)制可執(zhí)行文件,庫(kù)文件,支持軟件。
Swap 內(nèi)存交換,虛擬內(nèi)存區(qū)
/var 存有系統(tǒng)的日志文件
/opt 存放第三方軟件,當(dāng)OS損壞,此文件系統(tǒng)的文件可以保存
/proc 專門作進(jìn)程管理的目錄,有很多以進(jìn)城號(hào)命名的文件
/export/home 存放用戶家目錄紀(jì)用戶文件
/etc 存放系統(tǒng)的配置文件,系統(tǒng)的啟動(dòng)文件,不劃為分區(qū)。
(6)安裝數(shù)據(jù)
三 系統(tǒng)的安全性
⒈Solaris功能強(qiáng)大,提供多種服務(wù),但是大多數(shù)服務(wù)用戶并不需要,并且有一定的安全
漏洞,要把不需要的服務(wù)關(guān)閉,因此修改/etc/inetd.conf文件。
例如:ftp.telnet,rlogin,rexec 等
2. /etc/rc2.d,/etc/rc3.d目錄下有多個(gè)系統(tǒng)啟動(dòng)時(shí)要執(zhí)行的腳本,有些用戶并不需要
,因此要修改這兩個(gè)目錄下的文件。
3. 為了防止不受歡迎的用戶利用ftp協(xié)議登錄服務(wù)器,在/etc/目錄下增加文件ftpuser
s,將不允許的用戶添加到此文件里。
4.安裝TCP_wrappers,可以限制tcp,telnet登陸的機(jī)器
四 用戶的管理
1. 添加用戶
(1) #admintool
圖形化界面,選擇edit----add user
輸入用戶名:用戶名不能全是數(shù)字,不能用大寫,不能超過八個(gè),用戶名是唯一的,不
能重名
User ID: 一般取系統(tǒng)默認(rèn)值,UID相同的用戶,系統(tǒng)認(rèn)為是一個(gè)用戶。
Primary goup:一個(gè)用戶必須屬于一個(gè)組,默認(rèn)得為10組,即staff組。
Secondry group:一個(gè)用戶可以屬于多個(gè)組,具有多個(gè)組的權(quán)限。
Login shell:
Solaris 系統(tǒng)有三種shell,其作用,解釋翻譯命令;設(shè)置用戶登陸環(huán)境;編成語(yǔ)言。
B shell: 語(yǔ)法類似匯編語(yǔ)言 /bin/sh;/sbin/sh
C shell: 語(yǔ)法類似C語(yǔ)言 /bin/csh
Korn shell 介于兩者之間 /bin/ksh
它們之間可以互相轉(zhuǎn)換:B shell ____csh____C shell
other: 例如郵件用戶,我不讓他執(zhí)行命令,只是提供空間,那么我就不給他sh
ell。隨便寫一個(gè)不存在的命令或者 文件。/noshell
Password : Cleared until first login 用戶第一次登陸的時(shí)候,輸入新的密碼
Account is locked
No passwd ---setuid only
Normal Passwd
Min exchange days
Max exchange days
Max Inactive days
Expiration Date year mounth day
Warn days
創(chuàng)建家目錄 /export/home/xxx
或者不給他創(chuàng)建家目錄
(2) 利用useradd 命令
#useradd yyyy
用此命令產(chǎn)生的用戶格式:/etc/passwd
yyyy:x:1011:1::/home/yyyy:/bin/sh
1: other group
passwd yyyy
# useradd -u uid -g group -d dir -s shell -c comment loginname
#passwd loginname
2.用戶管理文件
/etc/passwd 用戶基本信息
root:x:0:1:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
smtp:x:0:0:Mail Daemon User:/:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
listen:x:37:4:Network Admin:/usr/net/nls:
nobody:x:60001:60001:Nobody:/:
yxh:x:1004:14::/home/yuxinhua:/bin/sh
用戶名:口令域(替是口令有信息,信息在/etc/shadow文件里):用戶號(hào):首要組號(hào):
注釋:家目錄:登陸shell
用戶有兩種:普通用戶
超級(jí)用戶 uid=0
/etc/shadow 加密的用戶口令,以及相關(guān)的控制信息,只有超戶才可以訪問
root:OvrYzBZ79MOao:11214::::::
daemon:NP:6445::::::
bin:NP:6445::::::
sys:NP:6445::::::
adm:NP:6445::::::
listen:*LK*:::::::
yxh:R.9iBuRiARPU2:11394::::::
username:passwd:lastchg:min:max:warn:inactive:expire
username The user's login name (UID).
passwd A 13-character encrypted password for the user,
*LK* string to indicate that the login is not accessible
*NP* which shows that there is no password for the login.
lastchg The number of days between January 1, 1970, and
the date that the password was last modified.
min The minimum number of days required between
password changes.
max The maximum number of days the password is
valid.
warn The number of days before password expires that
the user is warned.
inactive The number of days of inactivity allowed for
that user.
expire An absolute date specifying when the login may
no longer be used.
flag Reserved for future use, set to zero. Currently
not used.
/etc/group
root::0:root
other::1:
bin::2:root,bin,daemon
sys::3:root,bin,sys,adm
adm::4:root,adm,daemon
tty::7:root,tty,adm
staff::10:
sysadmin::14:
username:passwd:gid:userlist
四 系統(tǒng)的運(yùn)行級(jí)別
init 0 : 監(jiān)控狀態(tài),即OK狀態(tài),可以做硬件參數(shù)設(shè)置,可以關(guān)機(jī)
init 1,s,S: 單用戶狀態(tài),系統(tǒng)的管理狀態(tài),只允許root登陸,
ok boot -s
init 2 : 多用戶狀態(tài)(受限的),不支持遠(yuǎn)程掛接
init 3 : 多用戶狀態(tài)(開放的),完全共享系統(tǒng)資源。
Init 4 : 預(yù)留的,替換多用戶狀態(tài)
Init 5 : 掉電狀態(tài),自動(dòng)關(guān)閉電源
Init 6 : 重起狀態(tài)
五 文件系統(tǒng)
1.當(dāng)對(duì)某一個(gè)設(shè)備如光驅(qū),硬盤進(jìn)行操作的時(shí)候,首先要對(duì)它們進(jìn)行掛接,即mo
unt,掛接到某一個(gè)掛接點(diǎn)上,/etc/vfstab是一個(gè)缺省的文件系統(tǒng)表。
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
/dev/dsk/c0t3d0s1 - - swap - no -
/dev/dsk/c0t3d0s0 /dev/rdsk/c0t3d0s0 / ufs 1 no -
/dev/dsk/c0t1d0s3 /dev/rdsk/c0t1d0s3 /export/home ufs 2 yes -
/dev/dsk/c0t1d0s0 /dev/rdsk/c0t1d0s0 /opt ufs 2 yes -
/dev/dsk/c0t1d0s1 /dev/rdsk/c0t1d0s1 /var/mail ufs 2 yes rq
swap - /tmp tmpfs - yes -
/dev/dsk/CxTyDzSw 邏輯設(shè)備名,做了文件系統(tǒng)的設(shè)備,可以隨機(jī)讀取
/dev/dsk/CxTyDzSw 邏輯設(shè)備名,裸設(shè)備,只能順序讀取
Cx:SCSI controller Num,第一個(gè)為C0,第二個(gè)為C1
Ty:每個(gè)設(shè)備都有一個(gè)設(shè)備號(hào),0~~3 硬盤 4~~5 磁帶機(jī) 6 光驅(qū)
Dz:邏輯單元號(hào)
Sw: 分區(qū)號(hào)
device to mount
the device (or resource) to mount, e.g. /dev/dsk/c0t0d0s6
device to fsck
the raw device to fsck, e.g. /dev/rdsk/c0t0d0s6
mount point
the mount directory, e.g. /usr
FS type
the name of the file system type, e.g. ufs, hsfs(光驅(qū)), pcfs(軟盤), nfs, swap
fsck pass
the number used by fsck to decide the disk ordering when checking the file s
ystem automatically ,如為1,按順序監(jiān)測(cè)所有文件系統(tǒng);如大于1,自動(dòng)按照設(shè)備最
高效的方式監(jiān)測(cè),如為0,監(jiān)測(cè)非unix系統(tǒng)。
mount at boot
whether the file system should be mounted automatically by the mountall comm
and. e.g. yes, no ,是否在啟動(dòng)是進(jìn)行掛接。
mount options
the options passed to the mount program, e.g. ro, rw,rq.默認(rèn)為rw
2. 文件系統(tǒng)的掛接與拆卸
(1) 掛接 mount(關(guān)機(jī)后無(wú)效)
#mount -F fstype -o option mount-device mount-point
對(duì)光驅(qū)進(jìn)行掛接
#mount -F hsfs -o ro /dev/dsk/c0t6d0s0 /cdrom
對(duì)另一機(jī)器的主機(jī)進(jìn)行掛接
#mount -F nfs -o ro host:/cdrom/cdrom0 /cdrom
注意:掛接本地資源,默認(rèn)為ufs
掛接遠(yuǎn)程資源,默認(rèn)為nfs
-o 默認(rèn)為可讀可寫
例:對(duì)硬盤掛接,(默認(rèn)選項(xiàng))
#mount /dev/dsk/c0t2d0s0 /data
(2) mountall
執(zhí)行/etc/vfstab,對(duì)應(yīng)經(jīng)掛接的設(shè)備,不再進(jìn)行第二次掛接
(3) umount umountall
命令:umount mount-point
umount mount-device
例: #umount /cdrom
#umount /dev/dsk/c0t2d0s0
umountall 除/,/usr, swap,都能卸載
六 文件系統(tǒng)的備份與恢復(fù)
1.備份計(jì)劃: 備份介質(zhì) 磁帶,軟盤
備份哪個(gè)文件系統(tǒng)
備份周期
2. 備份種類: 全盤備份 級(jí)別為0
增量備份 級(jí)別1~~9
增量備份:如級(jí)別5:備份5級(jí)別前比其低的n級(jí)別的備份,即備份n~~5級(jí)之間
的增量。
例:周一 周二 周三 周四 周五 周六 周日
1 2 3 4 5 6 7
0 5 5 5 5 5 5
8 9 10 11 12 13 14
3 5 5 5 5 5 5
0級(jí):月備份
3級(jí):周備份
5級(jí):日備份
3. 以磁帶機(jī)為例備份文件系統(tǒng)
磁帶機(jī)的邏輯設(shè)備名:/dev/rmt/0
/dev/rmt/0n 不倒帶,它們是字符文件
備份/export/home
命令:ufsdump 0cuf /dev/rmt/0 /export/home
0:備份級(jí)別,此指的是全盤備份
c:盒式磁帶 u:更新備份紀(jì)錄 f:要操作的設(shè)備名
/export/home:要備份的文件系統(tǒng)
注意:備份時(shí),應(yīng)選擇在單用戶下。
4. 文件系統(tǒng)的恢復(fù)
例:/export/home 遭到了破壞,它對(duì)應(yīng)的的設(shè)備名:/dev/dsk/c0t3dos7
#init s
#umount /export/home
#newfs /dev/rdsk/c0t3d0s7
#mount /dev/dsk/c0t3d0s7 /export/home
#cd /export/home
#ufstestore rvf /dev/rmt/0
(r:restore;v:列出文件名字;f:要操作的設(shè)備名字)
此過程對(duì)/ /usr 分區(qū)不適用
例:根分區(qū)遭到破壞,恢復(fù)過程 /---------〉/dev/dsk/c0t3d0s0
ok boot cdrom -s
#newfs /dev/rdsk/c0t3d0s0
#mount /dev/dsk/c0t3d0s0 /a (此光驅(qū)的一個(gè)空目錄)
#cd /a
#ufsrestore rvf /dev/rmt/0
#cd /usr/platform/'uname -I'/lib/fs/ufs (uname -I :核心結(jié)構(gòu)名字)
#installboot bootblk /dev/rdisk/c0t3d0s0
#init 6
5.時(shí)鐘進(jìn)程
定時(shí)啟動(dòng)服務(wù)和進(jìn)程,在系統(tǒng)啟動(dòng)的時(shí)候,只初始化一次。
文件:/var/spool/cron/crontabs/username
例: /var/spool/cron/crontabs/root
文件格式:
分 時(shí) 日 月 周 command
0~59 0~23 1~31 1~12 0~6
例:
00 1 * * * ufsdump 0cuf /dev/rmt/0 /export/home
相關(guān)文件:/etc/cron.d /cron.allow
/etc/cron.d/cron.deny
/etc/default/cron CRONLOG=Yes
No 決定是否有l(wèi)og文件,此文件放在
/var/cron目錄