UNIX系統操做入門篇

第一講
這篇東西是關於Unix系統操做的教程。也是Unix的入門教程。若是你有興趣學,請看下去,保證你能夠學到許多有用的東西。若是你知足於dos,windows的操做,不想對網絡服務器,有任何瞭解的話,能夠不看。由於你並不想成爲計算機高手。本教程僅僅講授Unix系統的經常使用命令,不涉及Unix的歷史、安裝和編程。若是你想獲得更多的知識, 請查找其餘的教材。本教程參考了《精通Unix》、《Unix基礎》、《Unix系統使用指南 》等書,你能夠在那裏找到更多的知識。
準備知識:
Unix是一個多任務多用戶的操做系統。多任務是指能夠同時運行幾個不一樣的程序,或命令。在操做系統的術語裏叫「進程」,就象在運行Windows95的時候咱們能夠一邊聽CD 一邊打字,同時打印機還在工做。多用戶是指一臺運行Unix系統的機器能夠同時具備幾個不一樣的輸入輸出設備,給幾個,幾十個用戶同時使用。不一樣的輸入輸出設備咱們稱爲終端。 Unix給每一個終端設置不一樣的序號以協調工做,這個序號被稱爲終端序號。 Unix是一個根本不一樣於Dos的系統,不管其命令格式,用途都和Dos有很大區別。好比: 目錄分割符是"/",而不是"\"。具體的不一樣請參考其餘書籍。
開始練習以前:
在開始教授Unix命令以前,請先記下這個地址: [url]http://www.cyberspace.org[/url]。它是 一臺在美國的,連上Internet的Unix主機。之因此告訴你們這個地址是由於它提供免費的賬號供你們使用。是免費的。就是說你能夠先去那裏申請一個賬號,而後在那裏練習 你所學到的Unix命令。由於我相信不是每一個朋友均可以輕鬆地獲得Unix賬號的。 在你成功的申請好賬號以後,請在你Windows95的dos窗口裏輸入"telnet cyberspace.org" 等待連上主機。接下來就是輸入你的用戶名和密碼,不要告訴我這些你都不會,若是你 不會的話,你是怎麼連到這個網頁的? 如今假定你連上了主機,系統的提示符應該是"cyberscpae.org%",對這個就是提示符 就象dos裏的"c:\>"。接下去我將開始命令篇。
ls
你記不記得你學會的第一個Dos命令?反正我學會的第一個命令是dir:列目錄和文件的 命令。你學會的第一個Unix的命令也是列目錄和文件的命令ls. 功能列出當前目錄下的文件和目錄。 同Dos同樣,Unix系統命令也是帶參數的。ls的參數有"a","l","F"。請注意,F是大寫。 Unix系統裏對命令的大小是嚴格區分的。(因此咱們作網頁經常會發生鏈接錯誤)同dos 不同的地方在於,Unix命令的參數是"-"爲其前導,而不是"/"。因此完整的ls命令是
ls -l -a -F或ls -laF
-l:long的意思,把文件的其餘資料,如文件長度,上次修改的日期等等列出來。
-a:all的意思,把本目錄下全部的文件,包括隱含的文件也列出來。
-F:顯示文件類型。"*"表示可執行文件,"/"表示目錄,"@"表示鏈接。
好,請在你的機器上輸入ls -l -a -F,或許這是你一輩子裏第一個Unix命令。記住了嗎?
cd
變換目錄,和Dos相同。若是你在cd後面沒有給定目的地,則表示目的地是家目錄。 在unix中有三中表示目錄的符號".","..","~"。 "."表示當前目錄路徑的位置 ".."表示當前路徑的上一層目錄,或稱"父目錄" "~"表示家目錄,所謂家目錄指系統管理員分配給你的目錄,好比你的用戶名是li,那麼 你的家目錄就是在"~li",在cd後面加上"~li"就是去你的家目錄。
date
顯示出當前的時間和日期,記住在Unix裏你是沒法修改系統時間的。輸出時間通常是 格林威志時間。
who
該命令告訴你如今你使用的系統裏有哪些用戶。Unix是一個多用戶的操做系統,同時在 機器上的可能有數十甚至數百人。who命令能夠把他們的名字和終端號都列出來。who命令有 一個比較有趣的用法,"who am I"如其字面上的意思,讓Unix顯示你的用戶名和終端類型
more
more命令有點象Dos裏的Type命令,就是顯示文本文件的內容。好比你要顯示文件file1的 內容,能夠用: more file1 當要看的文件超過屏幕能夠容納的行數,就會在屏幕的左下角出現一個"--More--"並告訴 你已經看過了整個文件的百分之幾。若是要繼續看下去,就敲"Space Bar",能夠看下一頁, 或用"Enter",就會讀入下一行。 more命令還能夠由你指定開始的行數。好比file1文件有1000行,你已經看過100行,那麼能夠用"more +100 file1"則直接從第100行開始看起。還有能夠在命令裏指定關鍵字。ore +/key_word 這樣寫,more就會從含有"key_word"字樣的那一行的前兩行開始顯示。也許你已經注意到,Unix裏對文本文件的操做要比Dos強大的多,實際上的確如此。
第二講
cp
cp命令同dos裏的copy命令是同樣的,複製文件。 好比:
cp file1 file2
注意,若是你當前目錄裏已經含有file2這個文件,這個操做將會覆蓋原來的file2。也許 在Dos裏不會這樣,它會要你確認。但你如今在用Unix,在你沒有叫它確認以前,它不會那麼作。
cp -i file1 file2
當你使用了-i這個選項,再遇到重名的狀況系統將要你確認是否繼續。 cp命令還有兩個比較重要的選項:-r -p
cp -r /dir1 /dir_temp 這條命令是將目錄dir1徹底地複製到目錄/dir_temp裏,在Dos裏着條命令叫xcopy
cp -p file1 file2
Unix的系統和dos有一個不一樣的地方,在dos裏copy一個文件是不會改變它的文件修改時間 的,除非你確實那樣作了。在Unix裏不一樣,它要改你的時間,或許它認爲cp也是一種修改吧。 當你加上-p之後就不會改時間了。
用慣Dos的人或許會對下面的一行命令大惑不解:
cp file1 file2 file3 dir_dest 這條命令把file1,file2,file3三個文件一塊兒複製到/dir_dest裏去。
好了今天就講到這裏,最後留一個思考題,請說明一下下面一行命令的做用,請不要用Dos 的思考方式。咱們下個星期再見。
思考問題,請說出如下命令的做用:
cp file1+file2 file3
cp
上個星期我提出的問題你能解嗎?實際上如下命令的意義是這樣的:
cp file1+file2 file3
表示將一個名字爲file1+file2的文件拷貝成file3。而不是在dos裏的將file1和file2加在一塊兒拷貝成文件file3。在unix的文件系統裏,文件名字能夠到255或254個字符,具體要看你到底使用那種類型的
Unix。
cat
這個命令可不是「貓」的意思,而是catenate的縮寫。顧名思義,是把東西串起來。好比:
cat file1 file2
就是把文件file1和file2連在一塊兒,而後輸出到屏幕上。注意,輸出到屏幕上是cat的自定義目的。若是要改變它的輸出方向,就必須使用Unix系統的輸出重定向符「>」
>
輸出重定向符。稍微高級一點的dos用戶都知道這個符號。在Unix裏的用法同Dos的區別不是很大。但比較不一樣的地方是,Unix系統將任何的一個外設都認同爲一個文件。因此若是你要將輸出重定向到打印機之類的地方,只要寫上表明打印機的設備文件名。前一將裏咱們曾講過終端機器名,它也是一個文件。比方個人設備機器是ttya,而小李的設備機器是ttyb,他想讓我把當前目錄的內容給他看。那麼用這條命令就能夠了
ls -a-u-F >ttyb
這充分利用了Unix系統多用戶的設計思想。
一樣的使用ls -a-u-F>file1就是將當前目錄列表輸出到file1中。
又好比:
cat file1 file2>file3
就是將文件file1和file2的內容輸出到file3中。在Dos裏這條命令被寫成copy file1+file2 file3
當你用'>'來輸出重定向的時候,系統立刻打開一個空文件來準備存放'>'以前那個文件命令的輸出結果。好比:
cat file1 file2>file3
系統先將file3的內容清空。因此:
cat file1 file2>file1這條命令將產生一個錯誤提示。也許這條命令的本意是增長file1裏的內容,但在系統初始這條命令的時候就把file1裏的內容清空了。因此你獲得一個錯誤提示。若是要追加文件內容請使用如下命令:
cat file2>>file1
">>"表示追加,而不是先清空file1中的內容。
上面講的是輸出重定向,還有輸入重定向。這個留在之後講。
man
是英語"manual"的縮寫。這是一條使用頻率很高的命令,用來獲得系統對一個特定命令的幫助信息。請各位讀者必定要掌握這條命令。
格式爲:man -k 命令關鍵字
mv
這個命令是move的縮寫,就是把一個目錄或文件搬來搬去。實際上我常把它當成改文件名字的命令來用。好比:
mv file1 ABC就是把文件file1改爲ABC。
rm
記住rm是remove,是清除文件的意思。在Unix裏是沒有undelete這會事情的,因此請在使用的時候加上-i這個選項。表示確認。
在這個星期咱們的Unix教程就到這裏了。有許多朋友寫信告訴我沒法使用cyberspace的unix,也許是那裏的速度比較慢。若是你實在沒地方練習unix命令,我向你推薦一個工具,叫unixdos。它是一個unix環境的dos模擬器,基本上經常使用的unix命令你均可以使用。有興趣的朋友請寫信給我,我告訴你在那裏下載。
第三講
文件權限
各位讀者,通過上兩個星期的熱身,咱們開始漸漸接近Unix操做的核心。在本週咱們着重談談Unix的文件系統,下次再講vi編輯器。
如今咱們來看一個示例:
Username:unixfree
Password:********
(登錄到Unix)
%:ls -l(顯示文件表)
drwxr-xrw- 1 unixfree project1 128 Apr 4 12:19 dir
-rw-r--r-- 1 unixfree project1 545 Apr 4 12:19 file1
lrwxrwxrwx 1 unixfree project1 124 Jan 13 09:01 file2-->file3
-rw------- 1 unixfree project1 212 Jul 22 14:23 file3
在文件列表最前邊的就是文件的屬性。通常來講,它有十個小項目,也就是十個符號。它們以1+3+3+3的方式表示四個意義:
文件類型(1)、文件擁有者(user)對此文件的權限(3)、同組者(group)對此文件
的權限(3)、其餘人(others)對此文件的權限(3)。
文件類型:文件類型有三種符號,分別爲:
"-":普通文件
"d":目錄
"1":表示鏈接(下面會詳細講)
文件權限:文件的權限也有三種
"r":只讀文件
"w":可寫文件
"-":不可執行文件,不可讀文件,不可寫文件
"x":可執行
在Unix系統裏用戶是分組的,就象NT的分組同樣。通常來講同一組的人每每比較接近,好比公司的同一個部門就是一個組。而不一樣組的人則不在同一個組。分組狀況是由系統管理員制定的。普通用戶不能自行更改。
因此在上面的例子裏的第一行表示該目錄User可讀可寫可執行,本組的用戶可讀不可寫可執行,其餘用戶可讀可寫不可執行。其餘的你就本身解釋吧。
前面我提到了一個文件類型"1"。這是比較特別的類型,它只是一個門牌,任何對它的訪問都會自動到它指向的文件。好比上例中咱們看到file2是連向file3的一個文件,那麼任何對file2的操做都是對file3的操做,而且文件的實際屬性是file3的屬性,而不是file2的屬性。
改變文件屬性的命令:chmod
chmod 是chang mode的縮寫,用來改變文件的權限。用如下的文件爲例:
-rw-r--r-- 1 unixfree project1 545 Apr 4 12:19 file1
第一個"-"表示本文件是一個普通的文件。"rw-"表示文件擁有者對此文件的權限爲可讀可寫不可執行。其餘的你本身看了。
要改變次文件的權限,好比我怕將此文件改壞掉,因此但願本身不可寫此文件chmod u-w file1
符號"u"表示文件的擁有者,"g"表示同組者,"o"表示其餘用戶,"a"表示全體用戶,就是前面講的全部的人。"-"表示去掉某個屬性,"+"表示加上某個屬性。
又好比我要講file1改爲全體用戶均可讀可寫可執行的文件:
chmod a+rwx file1
而後去掉其餘用戶執行的權利:
chmod o-x file1
你懂了嗎?若是你有興趣,快去試試吧。咱們下週開始講使人厭煩的vi。Bye!這個教程是爲一些沒有機會接觸Unix的網友寫的。目的是爲了讓你們可以有些感性的認識。若是你沒有Unix賬號可使用,請去 [url]http://www.cyberspace.org[/url] 申請一個免費的Unix賬號。或者在網絡上找一個叫UnixDos的軟件來將你的Dos
模擬成Unix環境。或者將你的Win格式掉,裝一個Linux。:-)
第四講
各位細心學習的朋友,很是感謝你能繼續看這個教程。這個星期咱們開始學習VI編輯器。從功能上說它是一個同EDIT基本同樣的工具,可是它很是難學!以致於在如今我不得不引用一句在unix初學者口中的話來告戒你們"To vi or not to vi,that is a question"!
Vi的模式:
Vi有兩種基本模式:命令模式和編輯模式,他們以<ESC>鍵切換。
OK,咱們啓動一下vi,看看這麼使用這個工具。
%vi
啓動vi,第一件事先按<ESC>,記得你在vi裏要經常用它。而後輸入"i"。
屏幕上絕對不會出現任何字,由於<esc>後你在命令模式,輸入"i"則表示你進入編輯模式,而且如今的狀態是insert,就是插入文本。
若是你尚未被搞糊塗,那麼繼續輸入。
I love Unix.
是的,屏幕上出字了,你順利地輸入第一行文字。如今咱們要保存這個文件。再按一次<ESC>,到命令模式,輸入":w",表示存盤。你也能夠輸入
":w Unix.txt",那麼就是以Unix.txt爲文件名字存盤。
好了基本vi概念就是如此。我把經常使用的一些命令都寫在下面,你本身試着輸入吧。

i牋 "insert"的縮寫 在光標以前插入文字
a牋 "append"的縮寫 在光標以後插入文字
o "open"的縮寫 在光標所在行的下面開始新一行的輸入
O "Open"的縮寫 在光標所在行的上面開始新一行的輸入
I?/TD> "Insert"的縮寫 在本行最前面開始輸入文字
A "Append"的縮寫 在本行最後開始插入文字
dd?/TD> 刪除光標所在的那行
dw 刪除光標所在的那個字
dnw? 刪除光標所在字和其後的n個字(n爲正整數)
x? 刪除光標所在的那個字母
:w? 存文件
:r? 讀文件
:q? 退出vi
上面都是一些基本的用法,若是還不夠,請使用man命令查詢。
好了就這樣吧。咱們下個星期見。進行unix的Shell概述。
第五講
本週的Unix教程是最後一講了。在本講裏咱們將講一下unix Shell的基本內容。我不許備深刻地講解Shell編程。由於要是那樣的話,足夠寫上五十個page. Shell是外層,是用戶與Unix之間的層,它們節省命令行的長度,對命令參數執行完整的變換,而且定位和解釋用戶命令。另外一方面,shell也是一個功能強大
的程序語言,提供製做工具的工廠。用Shell能建立用戶本身的命令,甚至建立一個完整的新環境。
在程序員裏有一個流行稱謂「若是你不喜歡Unix界面,就本身寫一個」。實際上無需深刻到內核,即可以方便地控制本身的界面。可選的Shell有sh,csh,ksh有強大的功能。
正如其名字,Shell Script是一個文本文件。該文件指揮並控制Shell執行一系列特定的操做。一個批處理文件能含有任何命令(Unix的內部和外部命令),還能夠包括過去編寫的批處理文件。
第一個Shell處理文件:
這裏使用的Shell是BS,若是你是使用CS能夠更改一部份內容。
:
#@(#)dw--show data and users--
#
date
who -u
第一個:不是必須的,而是長期的習慣。它告訴系統下面是BShell的內容。
正如你看到的,Unix的Shell文件和Dos的批文件在不少地方是相同的。在寫Unix的Shell文件時候,咱們通常使用六個步驟:
1.計劃好命令系列,並在鍵盤上試用
2.爲批處理文件挑一個好的,不會發生重複的文件名
3.用你喜歡的編輯工具生成文件(但願不是VI:-))
4.從冒號開始文件,以增長文件的解釋
5.用Chmod命令,將文件的屬性設置爲可讀文件
6.把批處理文件放入適合的目錄中。
以上是Unix系統的Shell文件一些基本的內容。這裏就很少說了,實際上Shell文件同咱們這些寫網頁的人關係並不大,但知道一些仍是好的。
持續五週的Unix系統操做教程已經寫完了。若是你以爲有必要深入瞭解一下Unix系統,請查找一些書本。
相關文章
相關標籤/搜索