華爲的sco unix培訓教材

  2.3 UNIX命令
    一、UNIX命令格式
    1、UNIX命令提示符
    在命令行下,操作系統會顯示一提示符,提示用戶在此提示符後可以輸入一行命令。不同的Shell有不同的缺省提示符:
    B Shell和K Shell的缺省提示符爲"$";
    C Shell的缺省提示符爲"%";
    但當以root用戶登錄時,系統提示符統一缺省爲"#"。
    用戶可以更改自己的缺省Shell和提示符。
    2、基本命令格式
    在Shell提示符下,就可以輸入UNIX命令。UNIX命令的基本格式如下:
    command 參數1 參數2 ... 參數n
    UNIX命令由一個命令(command)和零到多個參數構成,命令和參數之間,以及參數與參數之間用空格隔開。UNIX的命令格式和DOS的命令格式相似,但UNIX的命令區分大小寫,且命令和參數之間必須隔開。如:對DOS來說是以下四條命令是相同的:
    cd/tmp
    cd /tmp
    CD /tmp
    cd /Tmp
    對UNIX操作系統來說,改變目錄的命令也是cd命令,以下是正確的UNIX cd命令:
    cd /tmp
    cd /Tmp
    但tmp和Tmp是兩個不同的目錄。以下兩條命令:
    cd/tmp
    CD /tmp
    已經不是cd命令了。
    3、在一行中運行多個命令
    可以在一行中輸入多個命令,命令間用“;”分開,如:
    mkdir tmp ; cp file1 tmp/file2 ; ls -l tmp
    UNIX會順序執行以上三條命令。
    4、在後臺運行程序
    要讓程序在後臺執行,只需在命令行的最後加上“&”符號。
    [例1] 在後臺運行find命令,在當前目錄及其子目路下查找文件名爲abc的文件。
    執行命令和立即顯示的內容如下:
    $ find . -name abc -print&
    10722
    $
    ...
    10722表示進程號(PID)。當find命令在後臺執行完後,會顯示結果。
    當在後臺運行命令時,最好將其輸出重定向輸出到一個文件中去,以便以後檢查。
    [例2] 在後臺運行find命令,在當前目錄及其子目路下查找文件名爲abc的文件並將結果存到myfind文件中。
    執行命令如下:
    $ find . -name abc -print>myfind&
    在運行後臺程序的同時可以繼續輸入命令。
    5、nohup命令
    當終端退出後,由該終端啓動的後臺程序自動退出。要想終端退出後程序不停止運行,則要用nohup命令啓動後臺程序。如對於例2的命令加入nohup後變爲:
    $ nohup find . -name abc -print>myfind&
    二、特殊按鍵
    在UNIX命令操作中有一些特殊鍵,列表如下:
    Ctrl + d 結束鍵盤輸入或退出當前shell
    Del 中斷鍵,停止當前動作回到shell
    Ctrl+s 暫停屏幕輸出
    Ctrl+q 繼續屏幕輸出
    Ctrl+u kill鍵,刪除光標所在行的所有字符
    Esc 結束當前的操作狀態(如vi)
    三、UNIX常用簡單命令
    下表列出了幾個簡單的UNIX命令:
    解釋 UNIX命令 命令舉例
    查看幫助信息 man man date
    查看日期 date date
    顯示日曆 cal cal 1998
    顯示大寫大字 banner banner “ABCD”
    計算器 bc bc
    修改口令 passwd passwd
    查看誰在使用系統 who who
    查看我是誰 who am i who am i
    顯示用戶信息 finger finger 用戶名
    清除屏幕 clear clear
    1、man命令 - 查看幫助信息
    舉例:
    查看man的使用方法: man
    查看finger命令的幫助信息: man finger
    2、date命令 - 顯示、修改日期和時間
    顯示時間的命令如下:
    date
    顯示如下:
    Mon Aug 17 13:43:14 NST 1998
    表示NST標準時間,1998年8月17日13:43:14,星期一。
    3、cal命令 - 顯示日曆
    舉例:
    顯示1998年全年日曆: cal 1998
    顯示1998年8月日曆: cal 8 1998
    4、banner命令 - 顯示大寫大字
    舉例:在屏幕上用大字顯示“HUAWEI”,命令如下
    banner "HUAWEI"
    5、bc命令 - 簡單計算器
    bc命令可以進行加、減、乘、除、求模、乘方運算,運算符分別爲“+”“-”“*”“/”“%”“^”。bc使用舉例如下
    bc
    以後輸入算式即可,如:
    1234 * 3 + 2^4
    按回車顯示結果,以後等待輸入其它算式。按+d鍵退出bc。
    6、passwd命令 - 修改口令
    要修改自己的口令,只需運行:
    passwd
    以後系統會提示輸入原來口令,並輸入新口令。
    7、who命令 - 查看正在使用UNIX的用戶
    用法如下:
    who
    系統會顯示正在使用UNIX的用戶名、終端號和登錄時間。要查看使用者自己的信息,運行:
    who am i
    8、finger命令 - 顯示用戶信息
    finger命令比who命令顯示的信息量大,功能強。基本使用方法如下:
    顯示登錄信息: finger
    顯示smith用戶詳細信息: finger smith
    9、clear命令 - 清除屏幕
    clear
    四、UNIX用戶間簡單通訊命令
    UNIX提供許多方式讓用戶相互通信,它允許你以文本的方式發送及接收信息。你可以傳遞信息給其他用戶、所有用戶、或自己。信息來源可以是文本文件或直接由鍵盤輸入的內容。
    (一)write 命令
    可使用write 實用程序向已登錄的另一個用戶發送一條報文,當對方也使用write 命令時,雙方之間就建立了通信。
    當用戶使用write 命令時,就在對方用戶終端上顯示提示信息。write 命令的格式如下:
    write destination-user [terminal]
    其中,destination-user 是你想與之通信的用戶註冊名,通常使用who 命令查看其註冊名。如果對方在多臺終端上登錄,可通過用terminal 來控制write 的報文送向指定的終端。爲了建立與其他用戶的雙向通話,用戶和對方每次必須執行write 命令,且必須指定註冊名。一般在使用UNIX 進行通話時,通信雙方有一些約定:用“o” 表示結束一條報文,“oo” 表示結束這次通信,用ctrl-d 退出write 命令。
    [例1] UNIX上兩用戶alex 和jenny 通過write命令通信。
    在alex的所在終端上(表示回車):
    $ write alex
    Hi Alex, are you there? o
    Message from Alex (tty11)[Sat Jan 5 15:08]….
    Yes Jenny, I’m here. o
    ……
    Thank you ,Alex, bye! oo
    Ctrl-d
    $
    該例說明了使用write 命令實現Alex 和Jenny 的通信過程。首先Jenny 使用前兩行向Alex發送了一條報文,接下來的兩行是Alex 發送的報文Jenny 收到了,省略號表示他們的通信繼續。最後,Jenny 用thank you,Alex,bye!oo 告訴Alex沒有話要說了,並在下一行開始鍵入ctrl-d 來退出write 並回到shell。
    (二)使用talk雙方對話
    talk 命令是一個虛擬通信命令,它允許登錄雙方通過鍵盤實時對話,其格式如下:
    talk user-name [terminal]〈CR〉
    注意,使用talk 進行雙方對話時,雙方使用的機器體系結構必須相同。當對方給出響應的talk命令後,雙方終端上都顯示
    [connect established]
    時,雙方可雙工通信了。雙方可以以任意的速度從鍵盤輸入,talk 把你的輸入一行一行的顯示在你和對方的屏幕上。用退出talk 。
    (三)使用mesg 拒絕和允許接收報文
    mesg 命令允許或拒絕接收由其它終端發來的write 和talk通訊信息。mesg命令在本地終端運行,其使用格式如下:
    mesg [y] [n]〈CR〉
    其中,y 表示允許接收,n 表示拒絕接收。如既不給出y 也不給出n ,則報告現在的許可狀態。例:
    [例1] 顯示狀態:
    $mesg
    則命令的執行結果爲:
    is y
    或 is n
    [例2] 拒絕接收由其它終端發來的write 和talk通訊信息:
    $mesg n
    $mesg
    is n
    (四)wall 廣播式消息傳遞
    所有登錄用戶都可收到該消息。僅超級用戶使用該命令。wall命令有以下幾種格式:
    # wall
    # wall filename
    # wall “send a message to all the people。”
    2.4 註銷(退出UNIX系統)
    在每次使用完後,一定要進行註銷,以防他人通過你的帳號進入系統,並保證系統的完整性。註銷過程如下:在UNIX提示符下,運行:
    $ exit
    或
    $ logout
    或直接按鍵:
    Ctrl+d。
    由於UNIX操作系統的不同,註銷的命令也可能不同。
    2.5 UNIX文件存取權限
    一、文件的存取權限
    UNIX文件的存取有三種權限:
    權限 普通文件的存取權限 目錄的存取權限
    R 具有讀取文件的權利 能讀取文件名稱
    W 具有寫入文件的權利 能建立和刪除文件,可以改變文件名
    X 具有執行文件的權利 能使用該目錄下的文件(如cd命令)搜索文件等
    二、能夠存取文件的用戶類型
    有三種類型的用戶可以存取文件:
    用戶類型 說明
    owner 文件的屬主(擁有者)
    group 用戶組內成員
    other 其他用戶(非owner和非group)
    每種類型的用戶都有三種文件存取權限:r、w、x。
    三、文件存取權限的顯示
    可以通過”ls -l”命令顯示,如:
    $ ls -l file1
    顯示如下:
    -rwxr-xr-- 2 wjm newservice 321 Oct 17 09:33 file1
    上行中:
    第2-4字符”rwx”表示此文件屬主wjm對文件file1的權利爲”可讀、可寫、可執行”;
    第5-7字符”r-x” 表示此用戶組newservice內的用戶對文件file1的權利爲:
    ”可讀、不可寫、可執行”;
    第8-10字符”r--” 表示其他用戶對文件file1的權利爲”可讀、不可寫、不可執行”
    四、文件存取權限的修改
    用chmod命令修改文件的存取權限,chmod命令的格式如下:
    格式1: chmod symbolic_mode file…
    格式2: chmod absolute_mode file…
    (一)格式1:符號模式(symbolic_mode), 符號模式的命令格式如下:
    chmod [who] op permision file…
    who項表示用戶類型,它的內容爲以下一項或多項:
    U 文件屬主(user --- owner)
    G 用戶組(group)
    O 其他人(other)
    A 所有人(all)
    op項表示動作:
    + 表示要加上permission指定的權利
    - 表示要取消permission指定的權利
    permission項爲存取權限,它的內容爲以下一項或多項:
    r 表示可讀
    w 表示可寫
    x 表示可執行
    舉例:
    chmod u+w test report 屬主對test和report文件“可寫”
    chmod u-x abc.c 屬主對abc.c文件不可執行
    chmod u+rwx myfile1 屬主對myfile1“可讀、可寫、可執行”
    chmod ugo+rwx myfile2 任何人都對myfile1“可讀、可寫、可執行”
    (二)格式2:絕對模式(absolute_mode), 符號模式的命令格式如下:
    chmod xyz file…
    x、y、z分別是0-7的數字,分別表示屬主、用戶組、其他人對該文件的存取權限。x、y、z的取值公式均爲:
    a*4 + b*2 + c
    其中,
    a=1分別表示可讀,a=0表示不可讀;
    b=1分別表示可寫,b=0表示不可寫;
    c=1分別表示可執行,c=0表示不可執行;
    舉例:
    chmod 751 ncp 屬主對ncp擁有“可讀、可寫、可執行”的全部權利;組內成員對ncp只有“可讀、可執行”的權利;其他用戶對ncp只有“可執行”的權利。
    五、改變文件屬主及文件所在組
    改變文件屬主的格式如下:
    chown 屬主名 文件名
    必須對文件具有write權利纔可改變文件的屬主。
    改變文件所在組的格式如下:
    chgrp 組名 文件名
    必須是文件的屬主或supervisor才能改變文件組別的歸屬。
    舉例:
    chown wjm test1 將文件test1的屬主改爲wjm
    chgrp newservice test1 將文件test1的用戶組改爲newservice
    3.6 UNIX重定向與管道
    UNIX重定向 將文件的標準輸出重新定向輸出到文件,或將數據文件作爲另一程序的標準輸入內容。重定向符號如下:
    < 重定向輸入
    > 重定向輸出
    >> 重定向輸出並追加到尾部
    例如:
    ls -l > file1 將ls -l命令顯示的內容存到file1中,
    ls >> file1 將ls 命令顯示的內容附加存到file1的尾部
    grep abc < file1 將file1的內容作爲grep abc命令的輸入
    其中,">"和">>"爲輸出重定向符,">"將輸出內容存到重定向文件中,若文件存在,則先刪除原有內容;">>"將輸出內容存到重定向文件的尾部。
    UNIX管道 將一文件的輸出作爲另一文件的輸入。管道符號如下:
    | 將左邊命令的輸出,作爲右邊命令的輸入
    例如:
    ls|more 將ls的輸出作爲more命令的輸入
    ps -ef|grep smith ps -ef的輸出作爲grep smith命令的輸入
    3.7 UNIX文件系統常用命令
    UNIX命令 UNIX命令舉例 類似DOS命令
    顯示當前目錄 pwd pwd cd
    改變目錄 cd cd /usr cd c:/usr
    進入家目錄 cd cd
    創建目錄 mkdir mkdir abc md abc
    刪除空目錄 rmdir rmdir abc rd abc
    刪除目錄及其內容 rm -r rm -r abc deltree abc
    顯示目錄內容 ls ls abcls -l abc(文件長列表)ls -a abc(所有類型文件)ls -d * (不進子目錄) dir abc
    顯示文本文件內容 cat cat file1.c type file1.c
    一次一屏顯示文本文件內容 more more file1.c
    拷貝文件 cp cp file1 file2 copy file1 file2
    移動(重命名)文件 mv mv call.test call.list move call.tst call.lstren call.test bbb
    刪除文件 rm rm call.list del call.lst
    一、pwd命令
    pwd命令用來顯示當前目錄路徑,命令如下:
    pwd
    二、cd命令
    cd命令用於改變當前的目錄,如:
    命令舉例 說明
    cd /usr/smith 改變到/usr/smith目錄
    cd ../wjm 改變到父目錄下的wjm子目錄
    cd exam1 改變到當前目錄下的exam1子目錄
    cd 改變到家目錄
    不帶參數的cd命令表示進入家目錄,這點與DOS有本質區別。
    三、rm命令
    rm命令可以刪除文件及目錄,舉例如下:
    命令舉例 說明
    rm file2 刪除當前目錄下的文件file2
    rm file* 刪除當前目錄下以file開頭的文件
    rm -r /usr/wjm/exam2 刪除目錄/usr/wjm/exam2及其內容
    四、ls命令
    ls命令可以顯示目錄內容,命令格式如下:
    ls -選項 文件名
    其中的常用選項說明如下:
    -l 長列表顯示目錄內容
    -a 顯示所有類型文件,包括隱含文件
    -d 如果顯示內容包含目錄名,則只顯示目錄名字不顯示目錄內容
    命令舉例如下:
    命令舉例 說明
    ls 顯示當前目錄內容
    ls file* 顯示除當前目錄下以file開頭的文件
    ls -l /usr/wjm/exam2 長列表顯示目錄/usr/wjm/exam2內容
    ls -adl 顯示當前目錄內容(同時帶-l、-d、-a參數)
    [注] ”ls -l”命令顯示格式如下:
    drwxrwxr-x 2 smith group 48 Jan 05 1998 john
    -rwxr-xr-- 1 wjm newservice 321 Oct 17 09:33 file2
    上面每行中:
    第一列:
    第1個字符表示文件的類型(d表示目錄,-表示普通文件);
    第2-4字符表示文件屬主對此文件的訪問權限(如:“rwx”和“rwx”);
    第5-7字符表示用戶組對此文件的訪問權限(如:“rwx”和“r-x”);
    第8-10字符表示其他用戶對此文件的訪問權限(如:“r-x”和“r--”);
    其中,訪問權限用三個字符表示,順序是“rwx”,“r”表示可讀、“w”表示
    可寫、“x”表示可執行。若某項禁止訪問則爲“-”,如:“r-x”表示可讀、
    不可寫、可執行;
    第二列:此文件的鏈接數(如:2和1);
    第三列:此文件的屬主名(如:smith和wjm);
    第四列:用戶組名(如:group和newservice);
    第五列:文件所佔字節數(如:48和321);
    第六至八列:最後修改的日期和時間(如:“Jan 05 1998”和“Oct 17 09:33”);
    第九列:文件名(如:john和file2)。
    五、mkdir、rmdir、cat、more、cp、mv命令
    這些命令和DOS的相應命令功能和用法基本一致,它們和DOS命令的對應關係如下:
    UNIX命令 DOS命令
    mkdir mkdir或md
    rmdir rmdir或rd
    cat type
    more more
    cp copy
    mv move或ren
    4.1 vi編輯器的最基本用法
    vi編輯器是UNIX的強有力的文本文件編輯工具,利用它可以建立、修改文本文件。
    vi編輯器常用的兩種狀態方式
    1) 文本輸入方式 用於文本的輸入
    2) 命令方式 用於輸入控制命令
    vi編輯器的進入
    vi 文件名
    自動進入命令方式。
    文本輸入方式的進入
    a 將在光標所在位置之後插入文本(append)
    A 將在光標所在行末插入文本
    i 將在光標所在位置之前插入文本(insert)
    I 將在光標所在行的第一個非空字符前插入文本
    o 將在光標所在行的下一行開始插入文本(open)
    O 將在光標所在行的上一行開始插入文本
    光標位置移動
    h 左移
    j 下移
    k 上移
    l 右移
    行號G 光標移到某行(如1G表示光標移到第一行)
    G 光標移到文件結尾
    文本輸入方式的退出
    ESC 按ESC鍵進入命令方式
    刪除更改操作
    在命令方式下運行。
    x 刪除光標所在字符
    dd 刪除光標所在行
    退出vi編輯器
    在命令方式下運行。不管在什麼狀態,最好在運行下面命令前,先按以下ESC鍵,以防出錯。
    :wq 存盤退出
    :q 不存盤退出
    :q! 不存盤強制退出
    :w 只存盤不退出
    4.2 利用find命令查找文件
    find命令會在指定目錄及其子目錄下查找符合條件的特定文件。此命令的最大用處是當忘了文件的正確所在,而想找到該文件。
    命令格式
    find 目錄名 條件
    目錄名 --- 欲開始尋找的目錄所在。find會尋找此目錄及其子目錄。可以有多個目錄名稱,只要目錄與目錄之間用空格分開即可。
    條件 --- 欲搜索文件的條件,可包含文件名稱、屬主、最後修改時間等等。
    條件列表說明
    -name name 指定要被尋找的文件或目錄名稱, 可用通配符,如, -name ‘*.c’
    -print 將符合條件的路徑打印出來
    -size n 尋找佔用n個block的文件
    -type x 以文件類型作爲尋找條件。文件類型x如下: d --- 目錄(directory), f --- 文件(file), b --- 塊(block), c -- 字符(character), p --- 管道(pipe)
    -user user 尋找屬於user所擁有的文件, user可爲用戶名或uid號
    -group group 尋找用戶組爲group的所有文件, group可爲組名稱或gid號
    -links n 尋找鏈接數等於n的所有文件
    -atim n 尋找n天之前曾被存取的文件
    -mtime n 尋找n天之前曾被修改的文件
    -exec command {}/; 用尋找到的文件作爲執行command的對象, {}內存欲執行command時所需的參數
    條件的邏輯運算符:
    邏輯運算符 邏輯意義 舉例 說明
    ! 非 !-name “*.c” 所有不以.c爲擴展名的文件
    -o 或 -size +10 -o -links 3 所有大於10block或鏈接數爲3的文件
    與 -size +10 -links 3 大於10block且鏈接數爲3的文件
    注:上表中的“+10”表示大於10,“-10”表示小於10。
    基本用法舉例
    find /temp -name “abc*” -print 在/temp目錄下查找文件名以abc開始的文件
    find . -name test -print 在當前目錄下查找文件名爲test的文件
    4.3 grep命令基本用法
    grep在整個文本文件中尋找特定字符串,並將所有出現該字符串的行打印。
    命令格式
    grep 字符串 文件名
    舉例
    grep abcd temp 在temp中查找abcd字符串
    grep "This is a book" temp 在temp中查找”This is a book”字符串,由於字符串中含有空格,故要用引號括起來
    4.4 利用cmp命令比較文件
    cmp可比較兩個文件,這兩個文件可以是文本文件也可以是非文本文件。cmp命令會顯示兩個文件第一次數據不同的位置。若兩個文件內容相同,則不顯示任何信息。
    命令格式
    cmp [-ls] 文件名1 文件名2
    參數說明
    -l 顯示每個不同之處不同字節的內容
    -s 只顯示cmp命令的返回值(相同爲0,不相同爲1)
    舉例
    cmp temp1 temp2 比較temp1和temp2兩個文件的內容
    4.5 文件的備份和恢復實用程序
    一、tar命令
    使用tar 命令,可將多個文件合併成一個文件庫(archival)的方式存放於磁帶或磁盤上。當需要時,可由文件庫獲取所需的文件。tar 的指令格式:
    $ tar [function-option[modifier> [files]
    tar 命令選項分爲兩部分:功能選項和修改選項。功能選項用來設定tar的動作(如讀取,寫入等),而修改選項則用來修改tar的動作。tar命令選項前沒有“-”。
    功能選項(function-option):
    r 將所指的文件附加在文件庫後
    x 讀取文件庫內的文件,如文件名爲目錄,則連子目錄也會被讀取 (常用)
    c 建立一個新文件庫 (常用)
    g 將文件由文件庫的最前頭開始建立,而不是寫在最後一個文件後
    修改選項(modifier):
    v 啓動顯示模式,tar 會顯示所處理的文件名 (常用)
    w 啓動確認模式,tar處理每個文件之前,要求用戶先加以確認
    f 表示文件庫爲file,省略此項,以預設的磁帶或磁盤爲對象 (常用)
    (一)利用tar 命令備份
    [例1]
    $ tar cv work
    在當前目錄下,對work 目錄中的所有文件及子目錄作備份,備份到缺省設備,且在備份時顯示文件信息。
    [例2]
    $ tar cvf /dev/rfd0135ds18 work
    f 選項表示不使用缺省設備,而使用提供的設備。
    注:在不同的UNIX 系統中,軟盤和磁帶設備的名稱不通用。請使用時注意查正。
    (二)利用tar 命令復原:
    [例3]
    $tar xv
    x 表示將缺省設備中的文件復原到硬盤,v 表示復原時顯示文件提示。
    [例4]
    $tar xv /work/aaro1d /work/all.bak /work/state.wp
    復原更具有選擇性,這裏列出三個文件。注意,必須輸入備份文檔的全名。
    [例5]
    $tar xvf /dev/rfd0135ds18
    從給定的設備中復原文件。
    二、cpio命令
    利用cpio 可將文件或目錄從文件庫獲取出來或將數據拷貝到文件庫。cpio 的指令格式:
    cpio –i[bcdmrtuv] [patterns]
    cpio –o [abcv]
    cpio –p [adlmuv][directory]
    說明:cpio 共有三種基本模式,-o即copy-out 模式,將一組文件copy到一個文件庫,-i 即copy-in 模式,讀取文件庫,並將其展開在當前目錄。-p 能從某個目錄讀取所有文件(包括子目錄到另一個目錄),且不以archive(歸檔)的方式存放。
    cpio 常配合shell使用。-o常用標準輸入設備讀取要copy 的文件名稱,並將copy成的archive file 通過標準輸出設備輸出。一般利用輸入/輸出重定向或管道的原理,達到真正複製的功能。
    (一)利用cpio備份:
    [例1]
    $ find work –print | cpio –ocdv > /dev/rfd0135ds18
    將work目錄下的文件備份到軟盤上。-o表示輸出模式,-c生成一個帶有頭信息的文件。 -d表示按需要生成目錄,-v表示命令執行時不斷顯示信息。用“>”把結果定向到軟盤。
    [例2]
    $ ls |cpio –o >/usr/linfs/old1
    將當前目錄下的所有文件複製成old1 archive file
    [例3]
    $ ls *.c | cpio –o>oldc
    複製工作目錄中的所有的c程序.
    [例4]
    $ ls| cpio –p /usr/linfs/tempdir
    複製當前工作目錄下的文件到/usr/linfs/tempdir 目錄,不生成archive file
    (二)利用cpio 復原:
    [例5]
    $ cpio –icdv < /dev/rfd0135ds18
    將軟盤中的文件復原。-i告訴cpio把文件作爲它的輸入,-d按需要生成目錄,-v顯示執行時的所有信息,-c具有頭文件格式。
    [例6]
    $ cpio –icdv "*stat.wp" < /dev/rfd0135ds18
    僅復原*stat.wp的文件
    [例7]
    $ cpio –i 僅復原*.f 文件
    4.6 文件壓縮和解壓程序
    一、compress 壓縮命令
    compress命令可將文件壓縮以減少存儲空間。壓縮後的文件以“.Z”結尾。展開命令爲uncompress。壓縮命令格式:
    compress filename
    展開命令格式爲:
    uncompress compressed-filename
    [例1] 對file 文件進行壓縮和解壓縮
    compress file
    則壓縮後的文件名爲file.Z,解壓命令爲:
    uncompress file.Z
    二、pack 壓縮文件
    pack 壓縮文件對應的解壓縮文件unpack。壓縮後文件的名稱爲“.z”其壓縮後的空間因文件類型而定。命令格式:
    pack name
    unpack name
    注:pack對太小的文件不壓縮,若要強制壓縮,用-f選項:
    pack -f name
    三、gzip 壓縮文件
    gzip 壓縮文件對應的解壓縮文件爲gunzip。壓縮後的文件名稱爲“.gz”。命令格式:
    gzip filename
    gunzip filename
    四、pkzip壓縮文件
    pkzip 壓縮文件對應的解壓縮文件爲pkunzip。壓縮後的文件名稱爲“.zip”。命令格式:
    pkzip filename
    pkunzip filename
    5.1 UNIX開機舉例
    以SCO UNIX爲例。SCO UNIX的開機過程如下:
    (1) 打開SCO UNIX主機電源
    (2) 出現boot:後打回車
    (3) 按Ctrl+d進入多用戶模式,輸入root的密碼後進入單用戶模式
    (4) 輸入日期時間
    (5) 出現”login:”表示SCO_UNIX開機成功,以後可以進行登錄
    5.2 UNIX關機舉例
    SCO UNIX主機的關機過程爲,在root用戶下鍵入:
    # shutdown -g0 -y
    表示立即關機。由多用戶模式進入單用戶模式,執行如下命令:
    # shutdown -g0 -y su
    [注意] 必須在運行完shutdown命令,並出現允許關機的信息時,再關掉主機電源。未出現允許關機的信息,千萬不要關主機電源。
    5.3 修改系統時間
    修改系統時間的命令如下:
    date -t 199808101536
    將日期改爲1998年8月10日15時36分。
    5.4 如何控制後臺進程
    一、顯示進程信息
    UNIX命令 解釋
    ps 顯示使用終端有關的進程信息
    ps -u 用戶名 顯示某用戶的進程(如ps -u abc)
    ps -e 顯示所有正在運行的進程信息
    ps -f 長列表顯示每個進程信息
    長列表顯示所有正在運行的進程信息,UNIX命令如下:
    ps -ef
    二、用kill命令殺掉後臺進程
    UNIX命令 解釋
    kill 進程號 刪除進程
    kill -9 進程號 強制刪除進程
    三、停止失控進程步驟
    (1) 在未鎖死的終端以root登錄
    (2) 用”ps -ef”和"grep 關鍵字"命令找到失控進程pid號
    (3) kill pid號,若殺不掉,再運行”kill -9 pid號”
    (4) 若還殺不掉,則shutdown
    5.5 如何查看磁盤使用情況
    解釋 UNIX命令
    查看磁盤自由空間 df -v
    查看磁盤使用情況 du [文件名]
    5.6 掉電故障及處理
    系統意外掉電,會造成如下問題:
    (1) 文件系統被破壞,造成文件丟失
    (2) 高速緩存中的數據未寫到磁盤而使數據丟失
    解決:開機後系統會自動運行fsck命令,提示是否檢查/dev/root文件系統,輸入y檢查並修復文件系統。
    fsck命令 用來檢查和維護不一致的文件系統。若系統掉電或磁盤發生問題,可利用fsck命令對文件系統進行檢查。fsck的命令格式如下:
    fsck [-y][-n][-b][-D][-f] [fs_device]
    其中:
    fsck參數 解釋
    -y 對fsck執行過程中的所有問題都回答y (yes),fsck會更正所有錯誤
    -n 對fsck執行過程中的所有問題都回答n (no)
    -b 若是檢查根文件系統(root file system),並且造成文件系統改變,系統會重新啓動(reboot)
    -D 檢查壞掉的區塊
    -f 以快速方式檢查文件系統
    fs_device 描述相對於硬件設備的特殊文件名。若去掉此項會自動檢查存在於/etc/checklist文件內的文件系統
    6.1 TCP/IP協議
    在當今世界,UNIX系統被廣泛使用的原因之一,就是UNIX的強大聯網功能。UNIX的網絡協議缺省爲TCP/IP。UNIX已成爲Internet上各種服務器的首選操作系統。
    TCP/IP協議由一系列協議組成,統稱TCP/IP協議族。TCP/IP協議是TCP/IP協議族中的基本協議,協議族常用協議有:
    l 傳輸控制協議/互網絡協議(TCP/IP - Transmission Control Protocol/Internet Protocol)是協議族的基本協議。
    l 用戶數據報協議(UDP - User Datagram Protocol)提供無連接的傳輸層協議,但不保證傳輸的可靠性。
    l 遠程登錄協議(telnet)是用戶層協議,定義了遠程登錄的標準。
    l 文件傳輸協議(FTP - File Transfer Protocol)也是用戶層協議,定義了不同系統間進行文件拷貝的標準。
    6.2 查看網上用戶信息
    用finger命令來顯示正在使用UNIX系統的用戶信息。finger的命令格式如下:
    finger [用戶名][@主機域名或ip地址]
    finger命令舉例
    命令舉例 說明
    Finger 查看本地所有用戶信息
    finger root 查看root用戶的信息
    finger @xywsyb2 查看主機xywsyb2上的所有用戶信息
    finger [email protected] 查看主機xywsyb2.huawei.com.cn上的所有用戶信息
    finger abc@xywsyb2 查看主機xywsyb2上的abc用戶信息
    finger [email protected] 查看主機129.6.114.202上的abc用戶信息
    6.3 使用mail 發送和接收電子郵件
    mail 命令用來發送和接收電子郵件。用戶不僅可使用mail 與本系統的用戶通信,還可與網絡中的用戶通信。mail 的兩種功能:發送電子郵件和接收電子郵件。
    一、發送電子郵件
    $ mail alex
    Subject: test
    This is a test message。
    一般用句號來結束信件,有些版本用ctrl-d 來結束。
    二、閱讀電子郵件
    mail 會顯示所有郵件的標題。這時,用戶按回車一個一個的閱讀,直到所有的郵件都閱讀完畢,鍵入q 退出並返回到shell。
    $ mail
    一、telnet
    telnet是通過網絡遠程登錄UNIX的軟件(tel指遠程,net指network即網絡),其功能是在用戶使用的本地計算機上通過計算機網絡登錄到遠程UNIX主機上,把本地計算機當成遠程UNIX主機的一個仿真終端。當用戶利用telnet完成與遠程UNIX主機的登錄後,自己的計算機似乎已經消失,完全成爲對方主機的一個遠程仿真終端用戶,就象在UNIX主機終端上操作一樣。此時用戶所能夠使用的功能和資源以及整個工作方式完全取決於對方的系統和登錄帳號的權限。
    telnet的一般運行格式如下:
    telnet IP地址或域名
    以上的IP地址或域名是指遠程UNIX主機的IP地址和域名。在本地計算機屏幕上就會出現信息,提示用戶輸入UNIX的用戶名和口令,接着要求輸入終端類型,最後進入UNIX系統,並出現UNIX操作系統提示符,以後的操作就象在UNIX主機終端上操作一樣。 在PC兼容機上的Windows下運行telnet時,終端類型最好選xterm。
    [注意事項] 在運行telnet之前必須保證本地計算機和遠程主機間的TCP/IP協議已經連通。
    (三) 在Windows 95上運行telnet,遠程登錄SCO UNIX,假設SCO UNIX主機的IP地址爲129.6.114.201。
    telnet軟件是Windows 95自帶的軟件,只要設置好TCP/IP協議後就可運行telnet。telnet的運行過程如下:點擊Windows 95上的“開始”按紐,再選則“運行”菜單,出現運行框,輸入:
    telnet 129.6.114.201
    點擊運行框上的“確定”按紐,出現Telnet框,提示輸入UNIX用戶名:
    UNIX System V Release 3.2 (xywsyb2.huawei.com.cn) (ttyp2)
    login:
    以後的操作就象在UNIX主機終端上操作一樣。
    [例2] 在Windows 3.x上運行telnet,遠程登錄Digital UNIX,假設Digital UNIX主機的IP地址爲129.6.5.2。
    由於Windows 3.x自身沒有攜帶TCP/IP和telnet軟件,在使用telnet之前必須先進行安裝。這裏不介紹安裝過程,只介紹軟件的簡單設置和使用。Netterm軟件是telnet的變種,完全包含telnet的功能,這裏只對Netterm進行介紹。
    Netterm的設置:先啓動Netterm,在File菜單下選”Phone Directory …”,出現”Phone Directory”框,在”Host Name”項下輸入一個名字(任意取名,表示UNIX主機名),在”Host/IP”下輸入UNIX主機的IP地址”129.6.5.2”,”Telnet Port”取值23,在”Connection”下選中TCPIP,點擊”Add”按紐,再點擊”Ok”按紐。
    Netterm的運行:先啓動Netterm,點擊電話機圖標就會出現一工作框,提示輸入UNIX用戶名:
    Digital UNIX (xyw) (ttyp6)
    login:
    以後的操作就象在UNIX主機終端上操作一樣。
    二、ftp
    ftp是telnet的“近親”。telnet允許在遠程主機上登錄並使用其資源,ftp允許在本地計算機與遠程主機之間傳遞文件。ftp是File Transfer Protocal的縮寫,意爲文件傳輸協議,它可以將遠程UNIX系統上的一個或多個文件拷貝到本地計算機,也可以將本地計算機上的一個或多個文件拷貝到遠程UNIX系統上。
    (三) 基本文件類型
    當我們使用ftp時,可簡單地把文件分爲兩大類:文本文件和二進制文件。文本文件也稱爲ASCII文件,其文件內容遵循ASCII的定義,主要特徵如下:ASCII文件由若干行組成;可以用操作系統顯示和編輯命令來顯示和編輯ASCII文件內容。二進制文件(Binary File)是指除ASCII文件以外的所有文件格式。可惜的是,不同操作系統的ASCII文件格式一般是不兼容的,ftp在不同的操作系統之間進行ASCII文件的傳輸時,自動進行了格式轉換,而對於二進制文件來說,ftp不進行任何轉換。
    [注意事項] 可以將ASCII文件按二進制方式傳輸,但決不能將二進制文件按ASCII方式傳輸,否則二進制文件的內容會遭到破壞而無法使用。
    (二)ftp的使用
    ftp的一般運行格式如下:
    ftp IP地址或域名
    以上的IP地址或域名是指遠程UNIX主機的IP地址和域名。在本地計算機屏幕上就會出現信息,提示用戶輸入UNIX的用戶名和口令,最後出現ftp提示符:
    ftp>
    以後就可以在此提示符下輸入ftp命令。
    [注意事項] 在運行ftp之前必須保證本地計算機和遠程主機間的TCP/IP協議已經連通。
    (三)ftp常用命令
    ftp的常用命令和解釋列表如下:
    ftp命令 解釋
    ?或help [command] 命令幫助
    binary 設定以二進制方式傳送文件
    ascii 設定以ASCII方式傳送文件(缺省值)
    cd [directory] 改變遠程目錄
    pwd 列出當前遠端主機目錄
    dir [r-dir] [l-file] 顯示遠程目錄內容,r-dir表示遠程目錄,l-file表示本地文件。如果有本地文件,就將結果寫至本地文件
    ls [r-dir] [l-file] 同dir,只是顯示格式不同
    lcd [directory] 改變本地目錄
    put file1 [file2] 將本地file1文件拷貝到遠程file2
    get file1 [fine2] 將遠程file1文件拷貝到本地file2
    mput files 將本地多個文件files拷貝到遠程
    mget files 將遠程多個文件files拷貝到本地
    status 顯示當前FTP狀態
    !command 執行本地命令,並立即返回FTP
    open IP地址或域名 重新建立新的連接
    close 關閉遠程連接
    quit或bye 退出ftp
    (四)ftp實例
    假設遠程主機的IP地址爲129.6.114.201,操作系統爲SCO UNIX,本地計算機爲PC機,操作系統爲DOS,且ftp客戶端程序放在C:/FTP目錄下。
    [例1] ftp的運行
    c:
    cd /ftp
    ftp 129.6.114.201
    (輸入UNIX用戶名和口令,會出現提示符:)
    ftp>
    [例2] 將本地計算機C:/DOS目錄下的help.hlp拷貝到遠程主機的/usr/xyw/tmp目錄下。 命令如下:
    ftp> binary
    ftp> lcd c:/dos
    ftp> cd /usr/xyw/tmp
    ftp> put help.hlp
    [例3] 將本地計算機C:/TEMP/TO目錄下的所有文件拷貝到遠程主機的/usr/xyw/tmp目錄下。命令如下:
    ftp> binary
    ftp> lcd c:/temp/to
    ftp> cd /usr/xyw/tmp
    ftp> mput *.*
    [例4] 將遠程主機的/usr/xyw/bin/dispdate文本文件拷貝到本地計算機C:/TEMP/FROM目錄下。命令如下:
    ftp> ascii
    ftp> lcd c:/temp/from
    ftp> cd /usr/xyw/bin
    ftp> get dispmesg
    [例5] 將遠程主機的/usr/xyw/doc目錄下的所有文件按文本文件格式拷貝到本地計算機C:/TEMP/FROM目錄下。命令如下:
    ftp> ascii
    ftp> lcd c:/temp/from
    ftp> cd /usr/xyw/doc
    ftp> mget *
    [例6] ftp的退出
    ftp> close
    ftp> quit  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章