2011年12月28日 星期三

AIX 常用命令匯總


引言
正如您所知道的,AIX® 具有無數的命令,使您能夠執行大量的任務。取決於您需要完成的任務,您可能會僅僅使用到這些命令的某個子集。這些子集隨不同的使用者和不同的需要而異。然而,有一些您通常要使用的核心命令。您需要這些命令來回答您自己的問題,或者為支持人員的詢問提供答案。
在本文中,我將討論這其中的一些核心命令。其目的旨在為您提供一個可用作便捷參考的列表。雖然這些命令的行為在所有 AIX 版本中都應該相同,但是僅在 AIX 5.3 下對它們進行了測試。
注意: 
以下段落中討論的 bootinfo 不是用戶級別的命令,並且在 AIX 4.2 或更高版本中不受支援。
命令
內核
如何知道自己在運行 32 位內核還是 64 位內核?
要顯示內核啟用的是 32 位還是 64 位,可輸入以下命令:
bootinfo -K


如何知道自己在運行單一處理器還是多處理器內核?
/unix 是指向已啟動內核的符號連結。要瞭解正在運行什麼核心模式,可輸入 ls -l /unix 並查看 /unix 連結到什麼檔。下面是 ls -l /unix 命令的三種可能輸出及其對應的內核:
/unix -> /usr/lib/boot/unix_up                   # 32 bit uniprocessor kernel
/unix -> /usr/lib/boot/unix_mp                   # 32 bit multiprocessor kernel
/unix -> /usr/lib/boot/unix_64                   # 64 bit multiprocessor kernel      


注意: 
AIX 5L Version 5.3
不支持單一處理器內核。
如何從一種核心模式更改為另一種核心模式?
在安裝過程期間,會缺省啟用一種適合該 AIX 版本和操作中的硬體的內核。讓我們使用前一個問題中的方法並假設啟用了 32 位內核。我們還假設您希望在 64 位核心模式下啟動。這可以通過按循序執行以下命令來實現:
ln -sf /usr/lib/boot/unix_64    /unix
ln -sf /usr/lib/boot/unix_64    /usr/lib/boot/unix

bosboot -ad  /dev/hdiskxx
shutdown -r


/dev/hdiskxx 目錄是啟動邏輯卷 /dev/hd5 所在的位置。要弄清 hdiskxx 中有哪些 xx,可運行以下命令:
 lslv -m hd5



注意: 
AIX 5.2 中,缺省安裝的是 32 位內核。在 AIX 5.3 中,缺省情況下會在 64 位元硬體上安裝 64 位內核,在 32 位元硬體上安裝 32 位內核。
硬體
如何知道我的電腦是否能夠運行 AIX 5L Version 5.3
AIX 5L Version 5.3 可在當前受支持的所有基於共用硬體參考平臺(Common Hardware Reference PlatformCHRP)的 POWER 硬體上運行。
如何知道我的電腦是否基於 CHRP
運行 prtconf 命令。如果是 CHRP 電腦,則字串 chrp 會出現在 Model Architecture 行上。
如何知道我的 System p 電腦(硬體)是 32 位還是 64 位?
要顯示硬體 32 位元還是 64 位,可輸入以下命令:
bootinfo -y


我的電腦有多少實際記憶體?
要顯示以 KB 為單位的實際記憶體,可輸入以下命令之一:
bootinfo -r   

lsattr -El sys0 -a realmem


我的電腦是否可以運行 64 位內核?
需要 64 位元硬體才能運行 64 位內核。
我系統中的設備屬性值是什麼?
要列出磁帶設備 rmt0 的當前屬性值,可輸入以下命令:
lsattr -l rmt0 -E


要列出磁帶設備 rmt0 的缺省屬性值,可輸入以下命令:
lsattr -l rmt0 -D


要列出 TTY 設備 tty0 的可能登錄屬性值,可輸入以下命令:
lsattr -l tty0 -a login -R


要顯示系統級別的屬性,可輸入以下命令:
lsattr -E -l sys0


我的系統有多少個處理器?
要顯示您系統上的處理器數量,可輸入以下命令:
lscfg | grep proc


我的系統上有多少個硬碟,當前正在使用哪些硬碟?
要顯示系統上的硬碟數量,可輸入以下命令:
lspv


如何列出有關特定物理卷的資訊?
舉例來說,若要瞭解有關 hdisk1 的詳細資訊,可運行如下命令:
lspv hdisk1            
                                   


如何獲得系統的詳細配置?
輸入以下命令:
lscfg


下列選項可以提供特定的資訊:
-p
顯示特定於平臺的設備資訊。該標誌適用於 AIX 4.2.1 或更高版本。
-v
顯示在自訂 VPD 物件類中找到的重要產品資料庫(Vital Product DatabaseVPD)。
例如,要顯示有關磁帶驅動器 rmt0 的詳細資訊,可輸入以下命令:
lscfg -vl rmt0


通過運行 prtconf 命令也可以獲得非常類似的資訊。
如何確定晶片類型、系統名稱、節點名稱、型號,等等?
uname 命令可以提供關於系統的詳細資訊。
uname -p
顯示系統的晶片類型。例如,PowerPC
uname -r
顯示作業系統的版本號。
uname -s
顯示系統名稱。例如,AIX
uname -n
顯示節點名稱。
uname -a
顯示系統名稱、節點名稱、版本、電腦 ID
uname -M
顯示系統型號名稱。例如,IBM, 9114-275
uname -v
顯示作業系統版本。
uname -m
顯示運行系統的硬體的電腦 ID 編號。
uname -u
顯示系統 ID 編號。
AIX
我的系統上在運行什麼 AIX 主要版本、次要版本和維護級?
輸入以下命令之一:
oslevel -r

lslpp -h bos.rte


如何確定某個特定的 AIX 級別缺少哪些檔集更新?
舉例來說,若要確定 5300-04 缺少哪些檔集更新,可運行以下命令:
oslevel -rl 5300-04


我的系統上安裝了什麼 SP (Service Pack)
要瞭解系統上當前安裝了哪個 SP,可運行 oslevel -s 命令。對於安裝了 TL4 SP2 AIX 5L Version 5.3 系統,示例輸出如下:
oslevel –s
5300-04-02
                                    


我的系統上是否安裝了 CSP (Concluding Service Pack)
要確定系統上當前是否安裝了某個 CSP,可運行 oslevel -s 命令。對於安裝了 TL3 CSP AIX 5L Version 5.3 系統,示例輸出如下:
oslevel –s
5300-03-CSP
                                    


如何創建檔案系統?
以下命令將在卷組 testvg 中創建一個大小為 10MB、安裝點為 /fs1 jfs 檔案系統:
crfs -v jfs -g testvg -a size=10M -m /fs1
                                    


以下命令將在卷組 testvg 中創建一個大小為 10MB、安裝點為 /fs2 並具有唯讀許可權的 jfs2 檔案系統:
crfs -v jfs2 -g testvg -a size=10M -p ro -m /fs2
                                    


如何更改檔案系統的大小?
若要將 /usr 檔案系統的大小增加 1000000 512 位元組的塊,可輸入以下命令:
chfs -a size=+1000000 /usr


注意: 
AIX 5.3 中,JFS2 檔案系統的大小還可以收縮。
如何安裝 CD
輸入以下命令:
mount -V cdrfs -o ro /dev/cd0  /cdrom


如何安裝檔案系統?
以下命令將在 /test 目錄中安裝檔案系統 /dev/fslv02
mount /dev/fslv02 /test


如何安裝所有缺省檔案系統(/etc/filesystems 檔中標記有 mount=true 屬性的所有標準檔案系統)?
以下命令將安裝所有此類檔案系統:
mount {-a|all}


如何卸載檔案系統?
輸入以下命令可以卸載 /test 檔案系統:
umount /test


如何顯示已安裝的檔案系統?
輸入以下命令可以顯示有關所有當前已安裝的檔案系統的資訊:
mount


如何刪除檔案系統?
輸入以下命令可以刪除 /test 檔案系統:
rmfs /test


如何對檔案系統進行磁碟重組?
可以使用 defragfs 命令來改善或報告檔案系統中的連續空間狀態。例如,若要對檔案系統 /home 進行磁碟重組,可以使用以下命令:
defragfs /home


哪個檔集包含某個特定的二進位檔案?
若要顯示 /usr/bin/vmstat 包含 bos.acct,可輸入以下命令:
lslpp -w /usr/bin/vmstat


或者若要顯示 bos.perf.tools 包含 /usr/bin/svmon,可輸入以下命令:
which_fileset svmon


如何顯示有關系統上已安裝檔集的信息?
輸入以下命令:
lslpp -l                            
                                    


如何確定我的系統上是否安裝了所有維護級檔集?
輸入以下命令:
instfix -i | grep ML


如何確定我的系統上是否安裝了某個修復程式?
若要確定是否安裝了 IY24043,可輸入以下命令:
instfix -ik IY24043


如何按 APAR 安裝單獨的修復程式?
舉例來說,若要從 /dev/cd0 安裝 APAR IY73748,可輸入以下命令:
instfix -k IY73748 -d /dev/cd0                              
                                    


如何驗證檔集是否有必需的先決條件和是否已完整安裝?
要顯示需要安裝或糾正哪些檔集,可輸入以下命令:
lppchk -v


如何獲得符號表示中的 loader 節頭和符號條目的轉儲?
輸入以下命令:
dump -Htv


如何確定已分配和使用的分頁空間量?
輸入以下命令:
lsps -a


如何增加分頁空間?
可以使用 chps -s 命令來動態增加分頁空間的大小。例如,如果希望將 hd6 的大小增加 3 個邏輯分區,您可以執行以下命令:
chps -s 3 hd6                                   
                                    


如何減少分頁空間?
可以使用 chps -d 命令來動態減少分頁空間的大小。例如,如果希望將 hd6 的大小減少四個邏輯分區,您可以執行以下命令:
chps -d 4 hd6                                   
                                    


如何知道我的系統是否能夠使用同步多執行緒(Simultaneous Multi-threadingSMT)?
如果您的系統是運行 AIX 5L Version 5.3 的基於 POWER5 的系統,則它就能使用 SMT
如何知道我的系統是否啟用了 SMT
如果不帶任何選項運行 smtctl 命令,它將告訴您是否啟用了 SMT
32 位內核是否支持 SMT
是的,32 位和 64 位內核都支持 SMT
如何啟用或禁用 SMT
可以通過運行 smtctl 命令來啟用或禁用 SMT。下麵是該命令的語法:
smtctl [ -m off | on [ -w boot | now]]


可以使用以下選項:
-m off
SMT 模式設置為禁用。
-m on
SMT 模式設置為啟用。
-w boot
如果在下一次系統重新開機前運行 bosboot 命令,則此選項使 SMT 模式更改在下一次和後續重新啟動時生效。
-w now
使 SMT 模式更改立即生效,但不會延續到下一次重新啟動以後。
如果既沒有指定 -w boot 也沒有指定 -w now 選項,則模式更改立即生效。如果在下一次系統重新開機前運行 bosboot 命令,所做的更改將延續到後續重新啟動以後。
如何獲得特定於分區的資訊和統計資訊?
lparstat 命令可以提供分區資訊和利用率統計資訊報告。此命令還可以顯示 Hypervisor 資訊。
卷組和邏輯卷
如何知道我的卷組是常規、大容量還是可擴展的?
對該卷組運行 lsvg 命令並查看 MAX PVs 的值。該值為 32 表示常規、128 表示大容量、1024 表示可擴展的卷組。
如何創建卷組?
可以使用以下命令,其中 s partition_size 設置每個物理分區中的百萬位元組 (MB) 數,並且 partition_size 是以 MB 為單位、從 1 1024 的值(對於 AIX 5.3 是從 1 131072)。partition_size 變數必須等於 2 的冪(例如:1248)。標準和大容量卷組的缺省值是保持在每個物理卷最多只能有 1016 個物理分區限制內的最低值。可擴展卷組的缺省值為每個物理卷容納 2040 個物理分區的最低值。
mkvg -y name_of_volume_group -s 
                partition_size
                 
                list_of_hard_disks
           


如何更改卷組的特徵?
可以使用以下命令來更改卷組的特徵:
chvg


如何創建邏輯卷?
輸入以下命令:
mklv -y name_of_logical_volume
                 
                name_of_volume_group
                 
                number_of_partition
           


如何增加邏輯卷的大小?
舉例來說,若要將 lv05 目錄所表示的邏輯卷增加三個邏輯分區,可輸入以下命令:
extendlv lv05 3
                                    


如何顯示屬於某個卷組(例如,rootvg)的所有邏輯卷?
可以通過輸入以下命令來顯示屬於 rootvg 的所有邏輯卷:
lsvg -l rootvg


如何列出有關邏輯卷的資訊?
可運行以下命令來顯示有關邏輯卷 lv1 的資訊:
lslv lv1


如何刪除邏輯卷?
可以運行以下命令來刪除邏輯卷 lv7
rmlv lv7


rmlv 命令僅刪除邏輯卷,但不刪除其他實體,例如使用該邏輯卷的檔案系統或分頁空間。
如何鏡像邏輯卷?
1.     mklvcopy LogicalVolumeName Numberofcopies
2.     syncvg VolumeGroupName
如何刪除邏輯卷的副本?
可以使用 rmlvcopy 命令來刪除邏輯卷的邏輯分區副本。若要減少屬於邏輯卷 testlv 的每個邏輯分區的副本數量,可輸入以下命令:
rmlvcopy testlv 2


現在該邏輯卷中每個邏輯分區最多只有兩個物理分區。
有關卷組的問題
要顯示系統中的卷組,可輸入以下命令:
lsvg


要顯示 rootvg 的所有特徵,可輸入以下命令:
lsvg rootvg


要顯示 rootvg 所使用的磁片,可輸入以下命令:
lsvg -p rootvg


如何將磁片添加到卷組?
輸入以下命令:
extendvg   VolumeGroupName   hdisk0 hdisk1 ... hdiskn


如何確定我的硬碟所支援的最大邏輯磁軌組 (LTG) 大小?
可以帶 -M 標誌使用 lquerypv 命令。此命令的輸出給出以 KB 為單位的 LTG 大小。例如,在下面的示例中,hdisk0 LTG 大小為 256 KB
/usr/sbin/lquerypv -M hdisk0
256


還可以在硬碟上運行 lspv 並查看 MAX REQUEST 的值。
syncvg 命令是做什麼用的?
syncvg 命令用於同步過時的物理分區。它接受邏輯卷、物理卷或卷組名稱作為參數。
例如,若要同步位於物理卷 hdisk6 hdisk7 上的物理分區,可以使用以下命令:
syncvg -p hdisk4 hdisk5                         
                                    


若要同步卷組 testvg 中的所有物理分區,可以使用以下命令:
syncvg -v testvg                                
                                    


如何替換某個磁片?
1.     extendvg   VolumeGroupName   hdisk_new
2.     migratepv   hdisk_bad hdisk_new
3.     reducevg -d   VolumeGroupName   hdisk_bad
如何克隆 rootvg(創建其副本)?
您可以運行 alt_disk_copy 命令來將當前 rootvg 複製到某個替代磁片。下面的示例演示了如何將 rootvg 克隆到 hdisk1
alt_disk_copy -d  hdisk1


網路
如何顯示或設置網路參數值?
no 命令設置或顯示網路優化參數的當前或下一次啟動時的值。
如何獲得我電腦的 IP 位址?
輸入以下命令之一:
ifconfig -a

host Fully_Qualified_Host_Name


例如,輸入主機 cyclop.austin.ibm.com
如何確定伺服器上的網路介面?
以下兩個命令中的任何一個都將顯示網路介面:
lsdev -Cc if

ifconfig -a


若要獲得有關某個特定網路介面(例如,tr0)的資訊,可以運行以下命令:
ifconfig tr0


如何啟動網路介面?
若要啟動網路介面 tr0,可以運行以下命令:
ifconfig tr0 up


如何禁用網路介面?
舉例來說,若要禁用網路介面 tr0,可以運行以下命令:
ifconfig tr0 down

沒有留言: