【Creativity Zen Espresso | 創意心法】

Saturday, March 25, 2006

Unix指令介紹-history

在作業系統發展的歷史上,當年的MS-DOS就是參考Unix的架構所發展出來的系統軟體。而今在修習MS-DOS近廿年後,重拾Unix指令集,可謂感觸良多!回顧個人過往研究電腦作業系統之過程,由MS-DOS起到MS-Windows 3.0-->3.1-->95-->98==>Mac OS 7-->Mac OS 8-->Mac OS 9; Win 2000-->Mac OS X<==>Linux,作業系統者,電腦之根本核心,倘要充分發揮電腦之整體效能,乃至於善用應用軟體,作業系統不可不深入了解!

今天,本來是要找ssh指令之詳盡始末說明,但在還沒有找到資訊前,就先看到了history這個指令,也想起了MS-DOS裡類似的指令,只是,昨日的DOS指令早已遺忘……

=====
範例一、列出指令暫存區裡,所曾經執行過的指令:
MagicMirror:~/.ssh tom$ history
1 ls
2 ping 168.95.1.1
3 ipconfig
4 ifconfig
5 ls -l

範例二、執行指令暫存區內的指令。本例中以[驚歎號+表列之數字=!2],代表直接執行範例一裡的第二個指令:
MagicMirror:~/.ssh tom$ !2
ping 168.95.1.1
PING 168.95.1.1 (168.95.1.1): 56 data bytes
64 bytes from 168.95.1.1: icmp_seq=0 ttl=250 time=28.798 ms
64 bytes from 168.95.1.1: icmp_seq=1 ttl=250 time=26.766 ms
64 bytes from 168.95.1.1: icmp_seq=2 ttl=250 time=27.786 ms

範例三、通常執行history指令時,會列出一長串的指令使用歷史記錄;然Unix指令有比MS-DOS更繁雜的參數,如果想自暫存區裡直接執行最新近執行過的含參數之指令,則可直接輸入[驚歎號+指令=!ls]:
MagicMirror:~/.ssh tom$ !ls
ls -l
total 8
-rw-r--r-- 1 tom tom 665 Mar 23 23:58 known_hosts

範例四、承範例三,如果要輸入的指令是rm(刪除指令),倘最近的歷史記錄裡之rm指令之參數為rm *(刪除目錄內之所有檔案),則後果不堪設想,故此,可在[驚嘆號後+指令+:p=!ls:p],系統會列出該指令及其參數為何:
MagicMirror:~/.ssh tom$ !ls:p
ls -l

Labels:

0 Comments:

Post a Comment

<< Home