
最近在做系統轉碼,結果使用了secureCRT連線使用vi後,使用root登入使用vi卻都正常,換成user登入會發現,
在控制列使用控制命令時(ex: i (insert)),
噗噗噗的潛水珽 發表在 痞客邦 留言(0) 人氣(13)
前言 輸入/輸出重新導向是 shell 用來處理標準輸入(standard input)、標準輸出(standard output)與標準錯誤(standard error)的重要功能。它可將指令執行的輸出導向到檔案中,也可以將執行程式或指令所需的引數或輸入由檔案導入,其應用範圍可說相當廣範。 本文將介紹其基本的觀念。
|
|
在HP-UX上每一個unix 的process預設來說都有60個file descriptors (從0到59)。 一般說來,前三個file descriptor在process開始執行時就會被啟動: file descriptor 0就是standard input (stdin標準輸入),file descriptor 1 為 standard output (stdout標準輸出) ,而 file descriptor 2 則為 standard error output(stderr標準錯誤輸出)。對於一個UNIX程式來說, 它會從”標準輸入”做讀取 (如:鍵盤) 而將輸出寫到”標準輸出”(如:螢幕)。以下我們要來看如何在UNIX Shell中對 這三個標準的file descriptor做導向和管理。 |
 |
 |
1.Standard input/output redirection |
 |
語法 |
說明 |
cmd < file |
將stdin導向至file |
cmd > file |
將stdout導向至file |
cmd >> file |
將stdout導向至file並且將輸出內容附加在檔案之後 |
cmd 2> error.log |
將stderr導向至error.log |
cmd & |
將指令在背景執行 |
cmd 2>&1 & |
指令在背景執行,並將stderr導向至stdout |
利用重新導向我們可將原本的標準輸出及輸入導向至其它的地方。
例如:
將指令date的標準輸出導向至檔案/tmp/datelog。 #date > /tmp/datelog
將指令mail的標準輸入來源指定為/etc/hosts。 #mail mary@hputain.taiwan.hp.com < /etc/hosts
將指令tar的標準錯誤輸出導向至檔案/tmp/tar.err。 #tar cvf /dev/rmt/0m /home 2> /tmp/tar.err # cat /tmp/tar.err tar: cannot open /dev/rmt/0m
|
2. pipeline and tee |
 |
利用pipeline ‘|’ 我們可以將一個指令的的輸出導向為下另一個指令的輸入。
例如:
#du –sk /home/* | sort –rn
透過’|’將指令du的輸出結果導向為指令sort的輸入來源,其結果就相當於下列二行指令的效果:
#du –sk /home/* > dulog #sort –rn < dulog 通常當第一個指令的標準輸出透過pipeline重新導向成第二個指令的輸入時,得到的結果是第二個指令的輸出,我們無法看到中間第一個指令的輸出結果。 但是利用tee這個指令,可以從標準輸入讀取後,將輸出導向至標準輸出及所指定的檔案。
#du –sk /home/* | tee /tmp/du-unsort | sort -rn 2408 /home/hcc 312 /home/ftp 296 /home/cynthia 40 /home/eng 32 /home/hpems #cat /tmp/du-unsort 296 /home/cynthia 40 /home/eng 312 /home/ftp 2408 /home/hcc 32 /home/hpems
|
|
噗噗噗的潛水珽 發表在 痞客邦 留言(0) 人氣(44)
一些HP UNIX上的技術文章,其餘文章請參考HP網站
http://www.hp.com.tw/ssn/home/unix.asp
系統管理相關文章
|
Doc. Id |
Problem Description |
Engineer Notes |
1 |
KBRC00009694 |
make_tape_recovery fills /var |
make_tape_recovery 造成 /var 檔案系統塞爆, 怎麼處理呢 ? |
2 |
KBRC00000853 |
如何判斷目前安裝的 Java 版本 |
只要一個簡單的指令, 版本資訊一目了然哦 |
3 |
KBRC00014184 |
教您如何把編輯到一半的檔案找出來 |
使用 vi 指令進行文字的編輯時發生斷線的情況, 還有機會把編輯到一半的檔案找出來嗎 ? |
4 |
KBRC00005193 |
Console gets stuck in uppercase letters on HP-UX system |
您曾經有過 Console 輸入的任何字元都卡在大寫字母狀態的經驗, 本文告訴您為什麼會這樣 |
5 |
KBRC00014517 |
如何得知 kcweb 所調整參數的歷史記錄 |
我曾經使用 kcweb 來調整部份的系統參數, 請問系統有任何紀錄得知我何時調整過嗎 ? |
6 |
KBRC00010269 |
How can I get tar to backup specific directories? |
如何讓 tar 備份特定的目錄? |
7 |
KBRC00009034 |
/opt is 93% full. How to determine what can be removed |
我的系統上的 /opt 已經用了 93%,要怎麼判斷哪些項目可以刪除? |
8 |
KBRC00014102 |
Is there a Security patch bundle for HPUX available somewhere ? |
HPUX 是否有 Security Patch Bundle? |
9 |
1100330242 |
determining the block size for the vxfs and hfs file systems |
我要如何判斷 vxfs 以及 hfs 檔案系統目前的區塊大小? |
10 |
W1988232 |
How to remove files that are seen by ls but rm doesn't ? |
有時會遇到 "ls" 可看到某檔案, 但 "rm" 又找不到, 此篇告訴您解決方法. |
11 |
KBRC00011687 |
How to remove a shared memory segment? |
請問我該如何移除共享記憶體區段 (Shared Memory Segment)? |
12 |
UMMGTKBRC00009707 |
maxdsiz_64bit and maxssiz_64bit can affect 32-bit processes' DATA |
maxdsiz_64bit 和 maxssiz_64bit 可能會對 32 位元程序的 DATA 區域運作方式產生影響 |
13 |
4000025970 |
value of inod-sz is at maximum as reported by "sar -v" |
"sar -v" 傳回的 inod-sz 值是最大值, 需要把這個參數加大嗎 ? |
14 |
KBRC00013198 |
How do I boot from an alternate path on an IA64 box ? |
在 IA64 系統上要如何從 Alternate Path 開機? |
15 |
KBRC00014479 |
How to find World-writable directories |
使用什麼指令可以找出所有人都能寫入資料的目錄呢 ? |
16 |
USDUXKBRC00009883 |
How to remove a patch from the system |
如何從系統刪除一個補強程式? |
噗噗噗的潛水珽 發表在 痞客邦 留言(0) 人氣(190)
mt 命令
mt -f /dev/rmt/0 status 報告磁帶機設備狀態
mt -f /dev/rmt/0 rew 磁帶倒帶
mt -f /dev/rmt/0n fsf 1 磁帶前進一段
mt -f /dev/rmt/0n bsf 3 磁帶後退三段
噗噗噗的潛水珽 發表在 痞客邦 留言(0) 人氣(12)
背景工作模式(&)
unix的使用者對背景工作模式符號(&),相信大家一定不會陌生.
簡單的說明:
當輸入指令之後,為了能讓 terminal 還可以繼續輸入其他的指令,
而不會佔據目前的工作視窗,我們在指令的後面加入& 符號即可.
噗噗噗的潛水珽 發表在 痞客邦 留言(0) 人氣(133)