歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> HP-UX學習基礎

HP-UX學習基礎

日期:2017/2/28 11:25:33   编辑:關於Unix


1.開始使用unix.Unix的兩個最常用的版本是:Berkley Distribution(BSD) AT&T System V Release 4(SVR4),多數其它UNIX都是基於這兩個版本之一,HP-UNIX是由SVR4發展而來。UNIX操作系統的核心被稱為內核,內核是處理用戶軟件和計算機硬件之間所有通信的一個軟件。UNIX用戶無法直接同內核直接交互的,而是經常同一個叫UNIX shell的程序打交道,shell是一個命令解釋器。最常用的shell:Korn SH Bourne SH CSH POSIX SH(HP-UNIX默認用的shell)Root用戶的ID是0,所有擁有了這個ID的用戶也就有超級用戶的權限。Shell提示符:#表示是超級用戶,¥表示是普通用戶。口令長度必須是6-8位,並且同時包括字符和數字。口令中至長有2個字符是字母而且至少有一個是數字或特殊字符,如:橫槓,下劃線,或星號,如果使用超過8個字符的口令,第八個以後的被忽略。命令的歷使保存在用戶主目錄的.sh_history文件中,用戶可以通過命令來設定歷史條目的數量回調上一個的命令用ESC+K,如用用戶想回退多步,只需要每回退一步按一下K鍵。History命令可以回調以前使用過的命令:History –3命令別名:是命令的另外一個名字,方便記憶 如:alias dir=lsshell啟動文件登錄HP-UX時,有些命令會自動執行並設好環境,這些都是通過shell啟動文件來完成,有兩種:系統啟動文件:是對全部系統用戶都通用的任務 /etc/profile用戶啟動文件:叫做.profile並存放在用戶的主目錄下,在啟動過程中,系統啟動文件首先被執行,然後用戶的啟動文件被執行簡單的命令:我在哪兒:pwd當前的目期和時間:date我是誰:whoami所有登錄的用戶:who顯示所有的用戶並告訴啟動的時間,用戶正在做什麼:w(相當於uptime)系統名是什麼:uname –a打印標簽:banner josephxd日歷:cal用手冊頁獲得幫助:man cal可以在一行執行多個參數,中間有分號隔開:cal;date
2.管理文件和目錄
創建文件:
1)touch filename
2)vi filename
3)cat >; filename
列舉文件
ls,ll(長列表=ls -l),ls有很多選項,具體看手冊
刪除文件
rm filename,rm命令正常情況下沒有輸出,在刪除時一定要小心,因為被刪除的文件是無法恢復的,只有當文件不存的時候,才會報錯。
顯示文件內容:cat filename 一次性顯示整個文件內容,用戶只能看到最後一頁
more filename 一頁一頁顯示
文件命名規則
當你創建一個文件時,有一些規則制約著文件的命名:一般文件名可以有256個字符長
1)可以有字母,數字和特殊字符組成
2)注意大小寫敏感
3)可執行文件沒能特殊的名字,文件權限顯示了哪個文件是可執行的或不可執行的。
隱含文件:這種文件是以點開頭的,通常用於存儲配置信息,為了顯示隱含文件,使用ls –a命令。
隱含文件在rm刪除一個目錄中的全部文件是受保護的,這個命令並不能刪除隱含文件。
創建目錄:mkdir dirname,創建一個目錄後,用ls或ll命令驗證它的存在,注意當用ll長列表命令時,文件的第一個字符由d而不是-,表明它是一個目錄而不是常規文件。如果不希望顯示長列表而且需要區分文件和目錄,你可以使用lsf或ls –f命令,而且屏幕輸出只是在目錄名結尾附加”/”符號。
刪除目錄:目錄用rmdir刪除,這個命令只刪除空目錄。如果目錄包含其它文件和目錄,必須用rm –rf命令。
小心使用rm –rf,因為它刪除整個目錄而不會有警告。
理解目錄結構:UNIX文件系統由目錄和文件構成,頂級目錄叫根目錄,/,一個目錄的上一級叫父目錄,下一級叫子目錄,父目錄和子目錄是相對而言的。以“/”開始的路徑名叫絕對路徑,以當前目錄開始的叫相對路徑名
無論何時創建一個新目錄,兩條自動創建在新目錄裡,它們是”.”(參照當前目錄)和“..”(參照父目錄)
遍歷文件系統:cd(change directory)命令用於移動到目錄樹中其它目錄下,對於絕對路徑和相對路徑都適用,
拷貝文件:cp 源 目標,使用cp命令可以同時拷貝2個或多個文件,在這種情況下,目標必須是一個目錄名
移動和重命名文件::1)移動mv myfile newfile 2)刪除文件 mv myfile /tmp/myfile 同時移動兩個文件的時候同cp
小心使用mv,因為目標文件名和源文件名相同的時候,會完成這個操作且不警告,所以總以mv –I的格式使用。
通配符:*通配任何字符,?只配配一個字符,[]這個通配符匹配在方括號中給定范圍的字符,在這個范圍內只有一個字符被選中。
判定文件類型:file
搜索文件內容:grep grep mark /etc/passwd,如果進行大小寫敏感的搜索,用grep –I,如果你對字符串在文件中出現的次數多少有興趣,使用grep –c,可以用grep –v反向選擇文件行,在這種情況下,所有不匹配的字符串模板的行會顯示出來。
查找多個單詞:用雙引號把單詞括起來。如:grep “mark apple” /etc/passwd,在多個文件中查找字符串用:
grep root /etc/passwd /etc/group
查找文件:find find / -name “test”詳細查看手冊
頭和尾:默認情況下:head列出文本文件的前十行,tail列出文本文件的後十行,tail –n 3 /etc/passed命令顯示文件的後三行,如果想看什麼內容被實時進程添加到文件,可以用tail –f命令。
統計文本中字符,單詞,和行數wc /etc/profile (wc –l, wc -w, wc –c)
鍵接文件:ln myfile abc
3.環境變量用戶登錄系統,會啟動一個shell並且等待用戶輸入命令,為了執行命令,shell需要知道連接到系統的終端類型是什麼。同樣的,當用戶使用一個外部命令,shell需要知道應該到哪些目錄查找這個命令,在unix術語中,把這類信息叫shell環境。/etc/profile是系統管理員管理的系統啟動文件 .profile是用戶主目錄下的用戶啟動文件,兩者都可以設定環境變量當shell執行一個命令時,UNIX在內存中為這個命令創建一個進程,這個進程叫shell子進程,所有子進程從父進程繼承環境變量,但子進程不能修改父進程的環境變量,或者說壞境變理的修改會隨著子進程的結束而丟失。設置和顯示變量:當你使用POSIX shell時,可以通過在命令行後輸入變量名跟“=”和指定變量的值來設置變量,注意等號兩邊沒有空格,變量的值一定要以字符開頭,例如var3是合法的而3var不是。Echo 查看一特定shell變量的值,¥符號作為變量名的開始。¥告訴echo命令這個參數是一個變量,而不是簡單的字符串。Echo $var3列出所有的變量:¥set包含多個字段的變量:應當使用單引號或雙引號name=”joseph jiang”如果我們希望顯示一個變量和附加文本,如顯示了name變量後再顯示數字0,應當用echo ${name}0,而不是$name0修改變量:1)直接賦新值,2)在原有值上加一個值刪除變量 unset把命令輸出指定給一個變量$name=`whoami $echo $name,也可以在任何替換命令結果的地方使用反引號,echo “my login name is `whoami` 預定義的環境變量:PATH 包括命令搜索路徑,這些路徑必須用:隔開HOME包含用用戶主目錄PWD顯示當前目錄SHELL顯示登錄shell的絕對路徑TERM包含你的終端名或類型PS1包含主命令提示符PS2包含二級命令提示符,如果引用的命令不完整,你將看到的shell提示符就是PS2的值MANPATH包含man命令用於查找手冊頁的目錄列表TZ安裝時設的本地時區EDITOR黑認的編輯器導出shell變量:導出一個變量可以使它對於shell創建的所有其它子進程都是可見的$name=”joseph”export name設置命令提示符:$PS1=”MY COMPUTER=>;”,一改變PS1的值命令提示符就立刻改變。必須導出PS1娈早使改變對子shell可見。
4.輸入輸出重定向無論什麼時候啟動一個命令,都會打開三個數據流:標准輸入(stdin),標准輸出(stdout),標准錯誤(stderr)unix把所有打開的文件與一個稱為文件描述符的數字聯系起來,0用於標准輸入,1用於標准輸出,2用於標准錯誤。標准輸入(一般指用戶的鍵盤)是一個程序讀取輸入的地方,標准輸出是命令或程序顯示結果的地方(終端屏幕)錯誤一般也顯示在終端屏幕上,但總是能區分哪是stdout,那是stderr,unix shell可以按用戶的需要把數據流定位到一個文件,設備,或其他命令上管道是用於把一個命令的輸出發送給另一個命令的輸入。標准輸入重定向由“>;”控制,$cat newfile >;file1,注意這是另一種copy文件的方法,還有一種用法是$who >; whofile如果重定向的文件名已經存在,那麼它將會被輹蓋而沒有提示。用cat連接多個文件:cat file file1 file2 >;file3追加到一個文件:cat file1>;>;file2,這個命令表示新的file2還包含老file2的內容。重定向到一個設備,因為unix將所有設備視為文件:cat file1 /dev/console,這個文件的內容會顯示在屏幕上.當重定向輸出時,stderr並沒有隨著輸出自動重向,如果你調用的命令產生了錯誤,它仍舊會顯示在終端屏幕.重定向標准輸入,用”<”表示.從鍵盤以外的地方獲取輸入,$mail joseph ;表示,ll xyz 2>;abc同時重定向標准輸入,輸出和錯誤$cat unsortthis is number 1this is number 5this is number 3this is number 2可以用sort命令來組織這些行。$sort ;sort 2>;error管道及使用方法 管道符“|“,當兩個命令用管道符相連時,第一個命令把它的輸出發送到管道而不是終端屏幕用管道做過濾器,who | grep mike$who | cut –f 1 –d “ “$who | cut –f 1 –d “ “ | grep mike 用管道進行數據處理$who |sort $who |moreT接頭,用於重定向到一個管道中的數據到多個地方,tee命令用於這個功能2>;&1 發送stderr,stdout到同一個文件中
5.VI編輯器vi使用模式:命令模式,底行模式,插入/輸入模式,當你啟動vi的時候,它是命令模式。如果不確定是那種模式,只需按Esc鍵一兩次,將會進入命令模式。$vi filename進入編輯器,是命令模式,按I字符轉入插入模式。保存文件是在命令模式下按:w命令。Vi不帶任何參數是建立一個新文件。可以在命令模式用:w filename來保存文件。如果已經打開一個文件,可以用:w filename保存成一個新文件.可以同時打開多個文件,$vi file1 file2 file3如果你修改了一個文件卻不想保存它,可以使用:q!命令退出vi編輯器,‘!“強制編輯器退出。移動光標:要移動光標,你必須切換到命令行模式l,h,j,k 右左下上空格  右移一個字符G   到文件最後一行Ng 到文件的第n行$    到當前行的結尾w 到下一個詞的開頭b到前一個詞的開頭e到詞的結尾H 到屏幕的第一行M   到屏幕的中間L    到屏幕的最後一行(    到句子的開頭)    到名子的結尾{    到段落的開頭}    到段落的結尾set number 可以指示vi顯示每一行的行號。句子的開頭和結尾是以”.”判斷的。段落是以一個空白行指出的。插入和刪除文本“i”從當前光標位置插入“I”當前行的開頭插入‘a”從當前光標的下一個字符處“A”從當前行的結尾處插入“o”從當前行的下一行插入新行“O”從當前行的上一行插入新行“x”刪除當前光標處所在位置上的字符“nx”。。。。刪除n個字符“X”從當前光標位置開始刪除一個字符。“dd” 冊除當前行“dw”從當前光標位置開始刪除到詞的結尾文本替換:r 仍保留在命令行模式替換當前字符s替換當前模式並進入插入模式R直至按下ESC才替換多個字符撤消和重做可以用”u”命令撤消剛才的修改,也可以用U命令重做對當前行的修改。為了重做被撤消的內容,你可以用“.”命令。剪切,拷貝,粘貼yy 拷貝當前行nyy 從當前行位置開始拷貝n行p  在當前光標位置後粘貼拷貝的文本P  在當前光標位置前粘貼拷貝的文本: m a 移動當前行並剪貼在第a行後面:a, bmc 移動第a至b行並粘貼在第c行後面:a, btc 拷貝第a至b行並粘貼在第c行後面導入一個磁盤文件到編輯器 :r filename從當前文件導出文本:    :3,47 w file3 把第3到47行寫至file3中vi編輯器有一個配置文件為.exrc,它存放在每一個用戶的主目錄下。這個設置是永久的
6.正則表達式定位符:定位符是用來指定廣西在一行中的位置的字符。^字符是指定的起始位置。它用於在一行文本的起始匹配一個字符串,美元符號$是結尾定位符,用來指定結尾有特殊字符串的一行。^text在一行的開頭匹配單詞testtest$在一行的結尾匹配單詞test^test$匹配只包含一個單詞test的行^$匹配一個空白行^\^在一行的開始匹配^\$$在一行的結尾匹配$$grep ^node myfile 找出所有以node開頭的行$grep node$ myfile 找出所有以node結尾的行$grep ^$ myfile |wc –l 計算空白行$grep –v ^$ myfile 去掉文件中的空白行規避字符:為了指示shell不要展開一個字符為它的特殊含義,需要規避那個字符,因此在這個字符前面使用一個反斜槓(\),例如,如果你要查找一個$字符,使用grep \$ 查找反斜框,使用grep \\使用*號,匹配零個或多個處理的字符。使用范圍[…] $ls [a,b,c]* 列出所有以a,b,c字母開頭的文件 ls [^a,b,c]*,列出所有非a,b,c字母開頭的文件^A[a-z0-9]匹配所有第一個字符為”A”而第二個字符是一個小寫字母或數字的單詞使用單詞定界符\< 和\>;匹配作為完為的單詞出玩的字符  $htrp \<[Tt]his\>;擴展的正則表達式 egrep
7.文件權限
unix中有三類用戶:
1)屬主 2)組成員 3)others
一個用戶最多可以屬於16個組
文件權限的類型:可讀,可寫或可執行
文件權限的從左到右原則:如果一個文件的屬主對一個文件沒有執行權限而組有執行權限,這個屬主將不能執行這個文件。
目錄權限:如果沒有設置目錄的讀權限,這個目錄的文件都不能被列表或訪問
如果沒有設置目錄的執行權限,目錄裡的文件只能列出文件名,這意味ls可以工作而ll則不能工作.目錄的文件也不能被讀取或執行.如果只設定了執行權限而沒有沒置讀和寫權限,一個用戶可以用cd命令進入目錄
為了賦予權限,我們在在用戶和文件之間使用”+”,為了取消一個權限,在用戶和文件之間使用“-”,為了確切地指定一個權限而不考慮原來的權限,我們使有“=”號。Chmod命令
chmod u+x newfile
chmod o-x newfile
chmod a=r newfile
chmod u+x,o-r newfile
chown來改變一個文件的屬主
改變一個文件的組所有權是chgrp
多個文件名和通配符也可以用於chown和chgrp命令新屬主和組的名字必須分別在/etc/passed和/etc/group文件中表現出來,chown也可以進一步改變屬主和組。Chown jim:root file1
為了改變一個目錄樹的組所有權或組,可以使用這兩個命令帶-R選項並用目錄名做參數。無論什麼時候改廀一個鏈接文件的所有權,鏈接指向的文件的所有權也被改變,為了避免這種情況,使用chown或chgrp命令帶-h選項
umask設定用戶的缺省權限
特殊文件權限
設置用戶ID chmod u+s
設置組ID chmod g+s
粘連位 chmod u+t 如果對目錄設置了粘連位,用戶可以把這個目錄作為共享文件的公共區域。這個目錄下任何已設置了粘連位的文件只能被文件的屬主刪除。為/tmp目錄設置粘連位是非常有用的,這樣用戶可以安全地放置或刪除他們的臨時文件或共享文件.
Find /usr/bin –perm –u+s –exec ll {} \;
Find / -perm –u+s,g+w,o+w
訪問控制列表:為用戶或組賦予或消除常規unix訪問權限聲明之外的權限.這個機制也叫目錄訪問控制(DAC),並且被HFS支持,但不被JFS支持。
訪問控制列表可以用lsacl命令列出
修改acl用chacl
chacl “amry.%=rwx” myfile
如果一個用戶是多個組的成員,所有由那個用戶創建的新文件屬於當前的組,如果這個用戶希望新文件屬於其它的組,newgrp命令臨時地改變當前的組成員關系。
Id命令用於顯示當前的用戶和組id
9.使用POSIX shell及作業控制
ulimit(資源控制)是一個POSIX shell內部命令。用於限制用戶資源。
Ulimit –a 列出當前的資源控制。
兩次Esc用於命令行補齊。”Esc”+”=”
歷史和命令重輸:history –3列出前三個命令,history 451 453列出一個命令范圍。為了重執行以前的命令,用帶命令號的r  r 451
在命令行編輯功能中使用vi命令是由EDITOR環境變理控制的。
替換:
變量替換,變量名在命令行中和一個$符號一起使用。變量值在執行以前在命令行被替換。
命令替換  echo $(date) echo `date
波浪號替換 ~/ 被home變量換換
設置終端參數:
stty –a 顯示當前的設定   stty erase _設置下劃線為退格鍵,一般用戶在啟動文件中建立此設置。如果是所有的用戶,貼在/etc/profile中設
作業控制:作業是在內存中運行的進程,作業控制是把作業從前台移到後台,掛起正在運行的作業。
為在後台啟動一個作業,可以把&符號放在命令提示符後。可以用jobs命令列出在後台的作業。+表示是一個當前的作業,減號表是是一個當前作業之後的一個作業,帶一個-1開關顯示所有作來的PID,作業可以處於運行或停止狀態。
掛起一個前台作業是 CTRL+Z(use stty設)
恢復後台作業並把後台作業帶到前台
jobs命令得到id, $fg %2 2表是id號。
後台作業總是處在運行狀態。一掛起一個前台作業,它就進入stopped狀態。可以用bg命令啟動這個作業並保持在後台.
10.shell編程
sh shellname 可以執行一個沒有設置執行位的shell程式
如果當前目錄沒有包含在PATH謎題中,便不能通過簡單地在命令行鍵入它的名字來執行這個程序,因此需要聲明這個文件的完全路徑../表示當前目錄
調試程序 #! /usr/bin/sh –x,它在執行前把每一行顯示在終端屏幕上。這個方法用於標識那個程序引起了問題。
變量是一個將數據傳送到shell程序的好方法
命令行參數:保存在命令行中顯示參數位置的變量中,那就是為什麼這些變量也叫位置參數。存儲命令行參數的變量為:$0 (顯示命令本身的值)to $9 ,${10}
$#命令行參數的總數,$*:用空格分隔的命令行參數列表 $?上一個程式的退出代碼
echo命令:這個命令使用規避字符以格式化顯示的文本來增強可讀性
\a報警字符
\b退格
\c禁止新行
\f換頁
\n擙入一個新的字符行
\r回車
\t插入一個tab字符
\\\反斜線
test命令 分支判斷是根據一個test的結果做出的 test可以對數字和字符數據也包括文件進行測試,test近回一個真或假的值。真的值是0,假的是1 $test “abc” = “ABC”在隱含查模中,沒有test 代之使用方括號,這個命令不在終端打印任何內容。
測試數字的值,關系式:-eq -ne -lt -gt -le -ge
測試文件:-d –f –s –r –w- e –l –nt –ot
邏輯操作符:-0 或–a與 !非
分支:if -then –fi,用test命令的幫助來檢查一個條件,如果是真,那麼動作被執行。如果是假,程序的的動作部分不被執行
case var in
parttion1)
commands
;;
parttion2)
commands
;;
parttion3)
commands
;;
*)
commands
;;
esac
“|”在這裡經常被用於或操作,也可以用通通符
11.高級shell編程:
循環用於重復完成一個操作直到一個條件變成真(或假)時結束操作,test or let命令用於每一次循環時進行條件檢查。所有shell程序中的循環結構都由一個關鍵字開始被do-done關鍵字括起來的命令塊被重復執行
for do done while do done until do done
變量借助於let來增加或減少。 也可用let進行比較,
隱含模式的let命令是用兩個賀括號代替let
for do done循環在一個無素列表上執行.這個元素列表被一一指定給一個變量,變量的值在循環體內處理,直到所有的元素被處理且列表中再沒有元素.
For var in list
Do
Command block
Down
#!/usr/bin/sh
echo “list of all executalbe files in home directory”
cd $HOME
for F in *
do
if [-x $f]
then
ll $F
fi
done
for day in Sunday Monday Tuesday Wednesday Thursday Friday Saturday
do
echo “the day is DAY”
done
修改文件的訪問時間
for file in *
do touch $file
done
中斷一個循環
break命令立即停止一個循環的執行並把控制權轉交給緊隨關鍵字done的命令,continue命令與break不一樣,它跳過循環的剩余部分並把控制傳給循環的下一次開始點。Exit命令完全終止這個程序,它返回一個在程序中作為可選參數提供的退出代碼。如是exit沒有任何參數,它返回前一個命令執行的退出代碼。當遇到一個嚴重的錯誤並且繼續執行這個程序將導致錯誤時,這個命令被使用。
文本處理
使用sed流編輯器,在一次性編輯大量文本時很有用,如在一個大文件中搜索一個單詞並替換成另一個單詞的情況,
$sed s/echo/ECHO/g testfile 把文件中的echo換成ECHO
把當前目錄中所有文件中的echo換成ECHO.
#!/usr/bin/sh
for file in *
do
cat $file | sed s/echo/ECHO/g >;tempfile
cp tempfile $file
done
rm tempfile
更詳細的請參考man
使用cut,用於從一行文本中提取數據的特定部分,如果是字斷格式,你可以提取特定的字段,如果想列出你的第統中的所有用戶,可以在/etc/passed中使用該命令
$cut –f 1 –d : /etc/passwd or $cat /etc/passwd |cut –f 1 –d : -f1指想提取字段號1,-d:選項顯示數據中的字斷使用:分隔。
還用以使用cut命令從一個文件中提取一定數量的字符。如用/etc/passwd的每一行中提取前8個字符:
cat /etc/passwd | cut –c 1-8
給系統中的每一個用戶發一個mail信息
#!/usr/bin/sh
for user in $(cut –f 1 –d : /etc/passed)
do
mailx –s “test mail” $user done
sleep命令:用於把執行掛起一段特定的時間。把秒數作為參數提供給sleep.
12.系統管理器SAM給你提供了為用戶定義受限制區域的功能,一個用戶只能進入給他指定的SAM區域。一個系統管理的基本部分是故障排除。Sam不是為這個目的設計,作為一個系統管理員,對HP-UX的經驗和知識深度在故障排除過程中將有助於你SAM有文本模式和圖形模式.SAM的日志(samlog)中修配存了所有的記錄  /var/sam/log/samlog,來自samlog的原始文件是很難讀的,更多情況下,是進入SAM中的option--àview SAM log來看.Sam日志會增長,超過一個限制,SAM會把它拷貝到samog.old,並建立新的samlogSAM帶有一個/usr/sam/bin/samlog –viewer用以查看samlog一般情況下,只有root用戶可以使用SAM可以配置SAM為一些非root用戶和組提供它的功能的一個子集,為了這個目的,你需要使用root登錄並用 SAM –r在受限制的SAM生成器模式下啟動。在一個復雜且大型的計算環境中給一些系統用戶受限制的root訪問,這是一個非常有用的工具。
13.安裝HP-UXHP工作站和服務器的介紹,現在所有的系統都叫作9000系統服務器和工作站。其中L,A,R等是入門級,K,N是中檔,V系列是高檔型。這些都是從性能,實用性,擴展性考慮的。HP-UX有32位和64位兩種,不是的忣的HP服務器和工作站都可以動行64位,在安裝前,你需要知道有哪種CPU並且是否支持64位版本操作系統.PDC用於在引導時檢查並確認硬件配置,它檢查不辨菽麥顯示什麼硬件設備對系統有效,使用PDC來測定連接到系統的磁盤和CDROM,在檢查設備之後,PDC從主引導設備引導一台機器。可以中斷自動引導過程來檢查在你的系統中什麼命令有效或從主引導設備之外的一個設備引導。當你打開一台HP機器,PDC開始執行並檢查系統內存和外設,在啟動從主引導設備自動引導前,它暫停10秒充許用戶中斷引導過程。在這裡可以看到PDC的命令。Boot boot from specified pathPath display or modify a pathSEArch Search for boot device Configuration menu Displays or sets boot valuesInformation menu displays hardware informationService menudisplays services commandsHelpdisplay help for menu or cmdResetrestart the system命令可以簡寫在一些系統上,search的輸出可能不一樣,這個命令顯示路徑號,設備路徑和設備類型,路徑號引用一個特定的設備設備路徑顯示了設備相關的物理路徑,表示了哪個設備連接到了系統的插槽。Random Access Media顯示了磁盤和CD rom驅動器,Sequential Access Media顯示一般用於磁帶驅動器。哪果你的CDROM是P6表示,boot命令如下:BOOT P6,你也可以用設備路徑來代替設備號來引導系充,在調用boot命令後,系統問你是否希望和初始化系統加載(LSL)交互,你必須回答NO. 如果在安裝過程中要使用LVM方案,可以把多個磁盤放入一個券組,在安裝過程中配置了根卷組VG00,而且可以決定有多少個磁盤包括在這個卷組中,建議根卷組中最多包含4個磁盤。/stand文件系統用於HPUX內核而且它強制為HFS類型.缺省時,HP-UX創建一個名為vg00的卷組並在它裡面創建八個邏輯卷。可以根據需要調整大小。初始化系統配置:假設從系統標簽中選擇了Set System Parameters at First Boot,在安裝過程的結尾,重新生成了HP-UX內核並重新啟動系統,系統在重啟動後開始初始化配置,通過set_params命令來執行。系統要求提供系統名,時區,root口令,和IP配置數據.系統名不超過64個字符,僅包含字母,數字,下劃線,dash,主機名的第一部分不超過8個字符,以便和uname命令兼容。在安裝HP-UX時,可以在系統初始化配置中留下很多沒有完成的地方,為了重啟這一過程,使用set_params命令。如果只想配置一個參數,用帶適參數的set_params命令(hostname,timezone,date_time,root_passwd,ip_address,addl_network)。如果想設置所有的參數,用set_params initial系統安裝完成之後,如果有一些硬件需要額外的沒有內置在內核中的軟件驅動,就需要安裝這些驅動,在安裝完任何驅動之後需要重新生成內核,
15:軟年和補丁管理
SD-UX軟件發布器,不只是一套命令和工具集,而是定義了如何對軟件打包。捆綁,拷貝安裝和刪除的系統。在一個網絡環境中,SD-UX用於建立一個集中的軟件服務器,任何網絡上的其他系統可以按需要安裝軟件。
主要功能:
安裝軟件
刪除軟件
列出已安裝軟件
確認已安裝軟件
拷貝和打包軟件
配置軟件
軟件包的結構:在SD-UX中軟件被組織成一個部件或對象的層次結構,這些部件是fileset,子產品,產品,包。
文件集是文件和一些控制腳本的集合。是SD-UX中軟件打包層次結構中的基本條目,一個文件集只能屬於一個產品但它可以包含在很多的子產品和包中
子產品,包括多個文件集,最好把邏輯相關的文件集組合到一個子產品中,一個文件集可以是多個子產品的成員
產品,產品是文件集和子產品的超集,缺省時,SD-UX命令用於處理產品,例如,一個應用程序是一個產品,一個產品可以有多個版本.
包,包一役由HP-UX打包用於軟件的發布,包包含屬於不同產品的文件集,一個產品不必在一個包中,因為包可以有不同產品的部分
軟件倉庫是文件集.產品和包的存放位置.一個軟件倉庫可以是用於發布軟件的磁盤上的目錄,一個CD-ROM或磁帶,缺省的軟件倉庫目錄是/var/spool/sw,但可以使用任何一個目錄作為軟件倉庫。使用SD-UX命令,可以從一個軟件倉庫添加或刪除軟件部件,在一個服務器上為不同的就用程序創建多個軟件倉庫是可能的。軟件倉庫可以在網絡中的一台中心服務器上維護
列出已安裝的軟件
swlist列出所有的軟件包不所有不是一個軟件包的產品
-l bundle 只列出包
-l products 只列出產品
-l fileset 只列出文件集
-d /var/spool/sw 列出軟件倉庫中的軟件
-l file x11 列出所有X11產品中的文件
-d @ hp1:/mydepot 列出網絡上其它主機的軟件倉庫中的軟件
安裝新軟件:swinstall命令用於軟件安裝,是圖形界面,swintall將自動掛起cdrom
如果想從一個特定的軟件源安裝:swinstall –s /dev/rmt/0m,swinstall的所有動作記錄在/var/adm/sw/swinstall.log
SD-UX守護進程和代理,swagentd,如果這個進程沒有運行,就不能開始安裝過程。此守護進程在級2起動。所以如果你在一個單用戶模式,就不能安裝軟件。但是可以使用如下命令在單用戶模式手工地啟動該守護進程。
/sbin/init.d/swagentd start/stop
已安裝產品數據庫:IPD(/var/adm/sw/swremove.log),swlist命令查詢這個數據庫來列出已安裝的軟件。同樣地,當軟件被swremove命令刪除時,這個數據長級來反映被刪除的軟件。
Swremove 刪除軟件。注意只通過刪除軟件所在的目錄並不能刪除該軟件。因為軟件條目始終保存在IPD.軟件刪除過程被記錄在/var/adm/sw/remove.log文件中。
查找並刪除無用的文件集 :freedisk,命令交互式刪除長時間沒有使用的軟件.
Swverty命令用於確認安裝在系統中或軟件倉庫中軟件的存在性和完整性。當用-d選項時,它操作一個軟件倉庫。日志放在/var/adm/sw/swverify.log
管理軟件倉庫:
添加包到軟件倉庫:swcopy –s /dev/rmt/0m @ /var/spool/sw
從軟件包中刪除包:swremove –d * @ /var/spool/sw
列出軟件倉庫中的包:swlist –d @ /dev/rmt/0m
HP-UX補丁.補丁用於如下目的:
給HP-UX操作系統或產品添加新功能
添加新硬件的支持
修補操作系統的漏洞
所有補丁以PH開頭,後面兩個字符顯示了補丁的類型,有一個下劃線和一個有四五個數字的補丁號
命令補丁:CO
內核補丁:KL
網絡補丁:NE
子系統補丁:SS
一般在安裝補丁後要重啟操作系統
swlist –l product PH* 列出所有的補丁。
安裝和刪除補丁:下載一具補丁後,首先要sh命令unshare它。

HP-UX常用命令
1、 cd命令的使用
返回上一次的目錄(cd -)
2、 Esc鍵的使用
在命令行中可通過擊兩次Esc鍵來匹配當前目錄中唯一的文件名,這樣可節約擊入長文件名的時間
3、 col命令的使用
man cp | col –b >cp.txt
該命令可將cp命令的聯機幫助手冊輸出為名為cp.txt的文本文件
5、which命令的使用(查看某命令的絕對路徑)
which 命令名
6、顯示當前系統補丁安裝情況(show_patches)
7、中文環境的配置
a、 查看系統中安裝的語言集(locale –a)
b、 顯示當前語言環境變量(echo $LANG)
c、 如不為中文則修改(export LANG=zh_CN.hp15CN)
d、 sty –istrip
8、查看系統信息和運行情況
a、 glance
b、 top
c、 performance view
d、 /opt/ignite/bin/print_manifest
/var/opt/ignite/local/manifest/manifest
e、 /var/adm/syslog/syslog(系統運行日志)
f、 /var/adm/shutdownlog
g、 /var/adm/crash/
h、 /var/opt/sna/sna.err
i、 /var/adm/nettl.LOG000
/usr/sbin/netfmt /var/adm/nettl.LOG000 >net.log
j、/usr/contrib./bin/info_col.11
k、/var/adm/btmp(歷史登錄信息,可用last命令查看)
l、/var/adm/wtmp(比btmp更詳細的信息)
m、/etc/rc.log(機器啟動時的信息)
n、/var/adm/sw/(有關軟件包安裝、刪除的信息)
9、查看系統當前init級別(who –r)
10、顯示系統不成功登錄的歷史紀錄(lastb –R)
11、ftp問題(如無法用某一用戶進行ftp)
a、 將/etc/passwd中該用戶的sh路徑改為/usr/bin/ksh
b、 在/etc/shells文件中將ksh的路徑加入
12、在HP11i環境下兩台主機rlogin、rcp和ftp速率小於10mbps
a、 安裝補丁(PHKL_25233、25389,PHNE_26728、27063)
13、在HP11i環境下主機與路由器之間無法用大包進行ping命令
b、 ndd –c
15、swapinfo命令的使用
swapinfo –mt
16、what命令的使用(假如要查看某一core文件的誘因)
what core
17、控制某一特定地址通過telnet、ftp和login協議訪問主機的方法
18、tsm的使用
在tsm狀態下可通過ctrl+w來切換屏幕。
19、finger命令的使用
finger –R(查看當前登錄到主機的客戶機信息)
20、parstaus命令的使用
parstatus –p 查看某一特定分區的信息。
 
擴充文件系統的方法
一、 vg00(例如將/home擴充至2G,邏輯卷名為/dev/vg00/lvol8)
1、 shutdown –y 0 進入單用戶模式
2、 umount /home
3、 lvextend –L 2000 /dev/vg00/lvol8
4、 extendfs /dev/vg00/rlvol8
5、 mount /dev/vg00/lvol8 /home
6、 reboot
二、 vg不在MC的情況
除不要啟停機器外同上
三、 vg在MC中配置的情況
1、 有應用運行在該邏輯卷上,且不便停應用的情況(例如將/data擴充至6G,邏輯卷名為/dev/vgdata/lvdata,MC環境為node1和node2,應用包名為pkg,缺省運行在node2上)
a、 cmhaltpkg –v pkg
b、 vgchange –c n /dev/vgdata
c、 vgchange –a y /dev/vgdata
d、 lvextend –L 6000 /dev/vgdata/lvdata(擴大到6G)
e、 extendfs /dev/vgdata/rlvdata(如為裸設備,e-n可不做。)
f、 vgexport –p –v –s –m /tmp/vgmap/vgdata.map /dev/vgdata
g、 rcp /tmp/vgmap/vgdata.map node1: /tmp/vgmap/vgdata.map
h、 rlogin node1
i、 ll /dev/vgdata(查看node1上vgdata的設備編號,假設為0x0c0000)
j、 vgexport /dev/vgdata
k、 mkdir /dev/vgdata
l、 mknod /dev/vgdata/group c 64 0x0c0000
m、 vgimport –s –v –m /tmp/vgmap/vgdata.map /dev/vgdata
n、 exit
o、 vgchange –a n /dev/vgdata
p、 vgchange –c y /dev/vgdata
q、 cmmodpkg –e pkg
2、 無應用運行在該邏輯卷上,或可暫停應用的情況(例如將/data擴充至6G,邏輯卷名為/dev/vgdata/lvdata,MC環境為node1和node2,應用包名為pkg,缺省運行在node2上)
1、將前一種情況中的a-c改為(將涉及到該邏輯卷的應用停止,該工作應選擇合適時機執行):
a、將涉及到該邏輯卷的應用停止。
b、umount /data
2、執行前一種情況中的d-n
3、 將前一種情況中的o-q改為
a、 mount /data
b、 激活涉及到該邏輯卷的應用
注:如未在VG中新增PV則可將上述步驟中的f-n略去。
一。
Unix安裝後創建文件系統前的準備
*注:因為我的機器只有一個磁盤,所以,此步中除創建邏輯卷外大部分操作可以省略。
①建物理卷。
找出與磁盤相關的設備文件:ioscan(命令):ioscan –funC disk。
找到disk對應的設備文件名:c1t15d0
因只有一個磁盤,所以只能創建一個物理卷。
在創建前,通過mediainit對磁盤格式化合校驗完整性:
#mediainit /dev/rdsk/c1t15d0
l創建物理卷:
#pvcreate /dev/rdsk/c1t15d0
注:如果此時該磁盤以輸入某卷組的一部分,而且確信要創建物理卷。在命令行加“-f”來強制執行。
②創建卷組。(僅供理解用,本系統不需要)
1.用卷組名在/dev下創建一目錄。
如果卷組名為vg01,則目錄為:/dev/vg01。
#mkdir /dev/vg01.
在此目錄下為該卷組創建一組設備文件。
#mknod /dev/vg01/group c 64 0x010000
創建卷組(以物理卷為參數):
#vgcreate /dev/vg01 /dev/dsk/c1t15d0.
建完後,可以用命令:vgdisplay來檢查設置是否正確。
③創建邏輯卷。
創建邏輯卷時,相應的字符設備和塊設備會在卷組目錄下生成。
現在,我們在默認卷組vg00中創建以下邏輯卷:
一個256MB,名為lvoltuxlog的邏輯卷。
#lvcreate -L 256 -n lvoltuxlog。
參數:-L 以MB為單位表示邏輯卷的大小。
-n 指定邏輯卷名稱,缺省為:lvol1,lvol2…..。
二、創建文件系統。
注:系統安裝完成後,會自動創建一些文件系統和目錄。所以,對一般權限的用戶來講,可以在/home目錄下安裝軟件。但是,如果軟件過多,會造成比較混亂和不利於管理。最合適的做法,高權限的用戶自己可以建立一些文件系統,這些文件系統在單獨的目錄下。這樣對將來(邏輯卷)的擴展和維護非常有利。
(1)文件系統介紹:
1。高性能文件系統(HFS),現在應用的不多了,只在存儲HP-UX內核時使用。
2。日志文件系統(JFS),現在應用最多。
3。網絡文件系統(NFS)。
4。 CD-ROM文件系統(CDFS)用於CD-ROM上存儲文件。
(2)創建新的文件系統:
文件系統必須建在邏輯卷上。
1.newfs創建文件系統:
我們在 /dev/vg00/lvoldb01上創建JFS文件系統,如下命令:
#newfs –F vxfs /dev/vg00/ lvoltuxlog。
2.掛載文件系統。
mount實現掛載:
把/dev/vg00/ lvoltuxlog掛載到/tuxedo/LOG目錄上。(事先創建此目錄,具體見下面的*注解1)
#mount -F vxfs /dev/vg00/ lvoltuxlog /tuxedo/LOG。
現在可用bdf顯示所有掛起的卷。
*注解1:在根目錄下建立目錄/tuxedo/LOG:#mkdir tuxedo/LOG。 (3)擴展卷組:(如果將來磁盤空間不夠,可以對卷組擴展)
添加一塊磁盤,用pvcreate創建一物理卷,然後,將其用vgextend加入卷組中。
如:把磁盤c0t3d0加入卷組vg00中:
#pvcreate /dev/rdsk/c0t3d0
#vgextend vg00 /dev/dsk/c0t3d0
用#vgdisplay -v vg00 看是否擴展成功。
(4)擴展邏輯卷。
擴展了卷組以後,可以通過lvextend命令擴展邏輯卷尺寸。
如把/dev/vg00/ lvoltuxlog擴展到800M。(以前為256M)。
#lvextend -L 800 /dev/vg00/ lvoltuxlog
要在某特定磁盤上擴展邏輯卷,可把磁盤設備文件作為參數添加到lvextend命令的後面。
#lvextend -L 800 /dev/vg00/ lvoltuxlog /dev/dsk/c0t3d0
(5)擴展文件系統。
擴展了邏輯空間不能自動擴展文件系統空間。在/dev/vg00/ lvoltuxlog下擴展JFS文件系統。
1.先卸載#umount /tuxedo/LOG。
2.#Extendsf -F vxfs /dev/vg00/ lvoltuxlog。
3.掛載#mount -F vxfs /dev/vg00/ lvoltuxlog /tuxedo/LOG。
完成上述操作後,可通過bdf命令查看是否分配成功。
Copyright © Linux教程網 All Rights Reserved