<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    guanxf

    我的博客:http://blog.sina.com.cn/17learning

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      71 隨筆 :: 1 文章 :: 41 評論 :: 0 Trackbacks
    關于Tomcat:
     
    安裝Tomcat:sudo apt-get install tomcat7
     配置tomcat:http://wiki.ubuntu.org.cn/Tomcat
     啟動tomcat:my-instance/bin/startup.sh
    關閉tomcat:my-instance/bin/shutdown.sh
    關于系統進程:
    ps ax   顯示當前系統進程的列表 
    ps aux 顯示當前系統進程詳細列表以及進程用戶
    如果輸出過長,可能添加管道命令 less 
    如   ps ax|less 
    查看具體進程,使用 grep命令
    如:
      ps ax|grep XXX  (XXX為進程名稱) 
    終止進程,用 kill 命令 + PID
    如  kill 1234(強殺:kill  -9 1234)
    其他命令:
      如:http://wiki.ubuntu.org.cn/Unix命令大全

    登錄工作站

    透過 PC 登錄工作站

    執行格式:telnet hostname (在 dos 下執行) telnet ip-address

    Example:

    telnet doc telnet 140.122.77.120

    注: 可利用指令 arp hostname 或 arp domain_name 查詢 ip_address2

    粗體文字=== 登錄步驟 === login : _______ > 輸入 username

    password : _______ > 輸入密碼

    登出步驟

    % logout 或 % exit 或 % 或按[Ctrl-D]

    更改帳號密碼

    passwd > 執行后將會出現下列信息 Changing NIS password for user on ice.

    Old password: ______ > 輸入舊密碼

    New password: ______ > 輸入新密碼(最好6-8字,英文字母與數字混合)

    Retype new password: ______ > 再輸入一次密碼

    在線幫助指令說明

    執行格式: man command-name

    Example: % man ls

    進入遠端電腦系統

    執行格式:rlogin hostname [-1 username]

    Example: fdfd %rlogin doc remote login 進入工作站 doc 中。

    %rlogin doc -l user 使用 user 帳號進入工作站 doc 中。

    執行格式:telnet hostname 或 telnet IP address

    Example:

    %telnet doc or %telnet 140.109.20.251

    遠程調用工作站程序

    執行格式:setenv DISPLAY [本機IP]:0.0

    Example: %setenv DISPLAY 10.52.9.120:0.0

    文件或目錄處理

    列出文件或目錄下之文件名稱

    執行格式: ls [-atFlgR] [name] ( name 可為文件名或目錄名稱。)

    Example :

    ls 列出目前目錄下之文件名。

    ls –a 列出包含以.起始的隱藏檔所有文件名。

    ls –t 依照文件最后修改時間之順序,依序列出文件名。

    ls –F 列出目前目錄下之文件名及其類型。”/” 結尾表示為目錄名稱,“*” 結尾表示為執行檔,”@” 結尾表示為 symblic link。

    ls –l 列出目錄下所有文件之許可權、擁有者、文件大小、修改時間及名稱。

    ls –lg 同上,并顯示出文件之擁有者群組名稱。

    ls –R 顯示出目錄下,以及其所有子目錄之文件名。( recursive listing )

    ls -i 可以顯示文件的索引號

    目錄之縮寫:

    ~ 使用者 login 時的 working directory ( 起始目錄 )

    ~username 指定某位 user 的 working directory ( 起始目錄 )

    . 目前的工作目錄 ( current working directory )

    .. 目前目錄的上一層目錄 ( parent of working directory)

    改變工作目錄位置

    執行格式:cd [name] :name 可為目錄名稱、路徑或目錄縮寫。

    Example:

    cd 改變目錄位置,至使用者 login 時的 working directory (起始目錄)。

    cd dir1 改變目錄位置,至 dir1 之目錄位置下。

    cd ~user 改變目錄位置,至使用者的 working directory (起始目錄)。

    cd .. 改變目錄位置,至目前目錄的上層( 即 parent of working directory)

    cd ../user 改變目錄位置,至相對路徑 user 之目錄位置下。

    cd /../.. 改變目錄位置,至絕對路徑( Full path ) 之目錄位置下。

    復制文件

    執行格式: cp [-r] source destination

    Example:

    cp file1 file2 將文件 file1 復制成 file2

    cp file1 dir1 將文件 file1 復制到目錄 dir1 下,文件名仍為 file1。

    cp /tmp/file1 將目錄 /tmp 下的文件 file1 復制到現行目錄下,文件名仍為 file1。

    cp /tmp/file1 file2 將目錄 /tmp 下的文件 file1 復制到現行目錄下,文件名為 file2

    cp -r dir1 dir2 (recursive copy) 復制整個目錄。若目錄 dir2存在,則將目錄 dir1,及其所有文件和子目錄,復制到目錄 dir2 下,新目錄名稱為 dir1。若目錄 dir2 不存在,則將dir1,及其所有文件和子目錄,復制為目錄 dir2。

    移動或更改文件、目錄名稱

    執行格式: mv source destination

    Example:

    mv file1 file2 將文件 file1,更改文件名為 file2。

    mv file1 dir1 將文件 file1,移到目錄 dir1下,文件名仍為 file1。

    mv dir1 dir2 若目錄 dir2 存在,則將目錄 dir1,及其所有文件和子目錄,移到目錄 dir2 下,新目錄名稱為 dir1。若目錄 dir2 不存在,則將dir1,及其所有文件和子目錄,更改為目錄 dir2。

    建立新目錄

    執行格式: mkdir directory-name

    Exmaple :

    mkdir dir1 建立一新目錄 dir1。

    tar tar最初用于建立磁帶備份系統,目前廣泛用于建立文件發布檔案。 建立名稱為tar的檔案: tar cvf ye.tar *.txt 將當前目錄的所有文件存檔到ye.tar中; tar cvf ye.tar *.* 瀏覽檔案內容: tar tvf ye.tar *.* 取出檔案內容: tar xvf ye.tar *.*

    刪除目錄

    執行格式: rmdir directory-name 或 rm -r directory-name

    Example :

    rmdir dir1 刪除目錄 dir1,但 dir1 下必須沒有文件存在,否則無法刪除。

    rm -r dir1 刪除目錄 dir1,及其下所有文件及子目錄。

    刪除文件

    執行格式: rm filename (filename 可為文件名,或文件名縮寫符號。)

    Example :

    rm file1 刪除文件名為 file1 之文件。

    rm file? 刪除文件名中有五個字符,前四個字符為file 之所有文件。

    rm f* 刪除文件名中,以 f 為字首之所有文件。

    rm -rf file 刪除名為file的文件夾及其里面的內容

    文件名的縮寫符號

    ? 代表文件名稱中之單一字符。

    • 代表文件名稱中之一字串。

    查看文件內容

    執行格式: cat filename

    Example :

    cat file1 以連續顯示方式,查看文件名 file1 之內容。

    執行格式: more filename 或 cat filename | more

    Example :

    more file1 以分頁方式,查看文件名 file1 之內容。 cat file1 | more 同上。

    查看目錄所占磁盤容量

    執行格式: du [-s] directory

    Example :

    du dir1 顯示目錄 dir1 的總容量及其次目錄的容量(以 k byte 為容量)。

    du -s dir1 顯示目錄 dir1 的總容量。

    查看自己的 disk quota 使用狀況

    disk quota : 工作站磁盤空間的使用限額。

    執行格式: quota -v

    Example :

    quota -v 將會顯示下列信息 Filesystem usage quota limit timeleft files quota limit timelef. /home/ice/u01 9344 8192 12288 1.9 days 160 0 0

    欄位解說:

    usage : 目前的磁盤用量。

    quota : 你的磁盤使用額度。當你的 usage 超過 quota 時,雖然可以繼續使用,但是必須七天之內降到 quota 以下,否則即使用量沒有超 limit(最高限額),也無法再寫入或復制任何文件。

    limit : 最高使用額度。當你的 usage 達到 limit 時,無法再寫入或復制任何文件。

    文件傳輸

    拷貝文件或目錄至遠端工作站

    執行格式: rcp [-r] source hostname:destination

    source 可為文件名、目錄名或路徑,hostname 為工作站站名,destination 為路徑名稱.

    Example :

    rcp file1 doc:/home/user 將文件 file1,拷貝到工作站 doc 路徑 /home/user 之目錄下。

    rcp -r dir1 doc:/home/user 將目錄 dir1,拷貝到工作站 doc 路徑/home/user 之目錄下。

    自遠端工作站,拷貝文件或目錄

    執行格式: rcp [-r] hostname:source destination

    ( hostname 為工作站名,source 為路徑名,destination 可為文件名、目錄名或路徑 )。

    Example :

    rcp doc:/home/user/file1 file2 將工作站 doc 中,位于 /home/user 目錄下之文件file1,拷貝到目前工作站之目錄下,文件名改為file2。

    rcp -r doc:. 將工作站 doc 中,位于 /home/user 目錄下之目錄 dir1,拷貝到目前工作站之目錄下目錄名稱仍為 dir1。

    文件模式之設定

    改變文件或目錄之讀、寫、執行之允許權

    執行格式:chmod [-R] mode name

    ( name 可為文件名或目錄名;mode可為 3 個 8 位元之數字,或利用ls -l 命令,列出文件或目錄之讀、寫、執行允許權之文字縮寫。)

    mode : rwx rwx rwx r:read w:write x:execute

    user group other

    縮寫 : (u) (g) (o)

    Example :

    %chmod 755 dir1 將目錄dir1,設定成任何使用者,皆有讀取及執行之權利,但只有擁有者可做修改。

    %chmod 700 file1 將文件file1,設定只有擁有者可以讀、寫和執行。

    %chmod o+x file2 將文件file2,增加擁有者可以執行之權利。

    %chmod g+x file3 將文件file3,增加群組使用者可執行之權利。

    %chmod o-r file4 將文件file4,除去其它使用者可讀取之權利。

    改變文件或目錄之擁有權

    執行格式:chown [-R] username name ( name 可為文件名或目錄名。)

    Example :

    %chown user file1 將文件 file1 之擁有權,改為使用者 user 所有。

    %chown -R user dir1 將目錄 dir1,及其下所有文件和子目錄之擁有權,改為使用者 user 所有。

    檢查自己所屬之群組名稱

    執行格式:groups

    改變文件或目錄之群組擁有權

    執行格式:chgrp [-R] groupname name ( name 可為文件名或目錄名 )

    Example :

    %chgrp vlsi file1 將文件 file1 之群組擁有權,改為 vlsi 群組。

    %chgrp -R image dir1 將目錄dir1,及其下所有文件和子目錄,改為 image 群組。

    改變文件或目錄之最后修改時間

    執行格式:touch name ( name 可為文件或目錄名稱。)

    文件之連結

    同一文件,可擁有一個以上之名稱,可將文件做數個連結。

    執行格式:ln oldname newname ( Hard link )

    Example :

    ln file1 file2   將名稱 file2,連結至文件 file1。

    執行格式:ln -s oldname newname ( Symblick link )

    Example :

    ln -s file3 file4 將名稱 file4,連結至文件file3。

    文件之字串找尋

    執行格式:grep string file

    Example :

    grep abc file1

    尋找文件file1中,列出字串 abc 所在之整行文字內容。

    [編輯]找尋文件或命令之路徑

    執行格式:whereis command ( 顯示命令之路徑。)

    執行格式:which command ( 顯示命令之路徑,及使用者所定義之別名。)

    執行格式:whatis command ( 顯示命令功能之摘要。)

    執行格式:find search-path -name filename -print( 搜尋指定路徑下,某文件之路徑 。)

    Example :

    %find / -name file1 -print ( 自根目錄下,尋找文件名為 file1 之路徑。.

    比較文件或目錄之內容

    執行格式:diff [-r] name1 name2 ( name1 name2 可同時為文件名,或目錄名稱。)

    Example :

    %diff file1 file2 比較文件 file1 與 file2 內,各行之不同處。

    %diff -r dir1 dir2 比較目錄 dir1 與 dir2 內,各文件之不同處。

    文件打印輸出

    使用者可用 .login 檔中之 setenv PRINTER,來設定打印資料時的打印機名。

    printername :sp1 或 sp2

    Example :

    %setenv PRINTER sp2 設定自 sp2 打印資料。

    一般文件之打印

    執行格式:lpr [-Pprinter-name] filename

    %lpr file1 或 lpr -Psp2 file1 自sp2,打印文件 file1。

    執行格式:enscript [-Pprinter-name] filename

    %enscript file3 或 enscript -Psp1 file3 自sp1, 打印文件 file3。

    troff 文件之打印

    執行格式:ptroff [-Pprinter-name] [-man][-ms] filename

    %ptroff -man /usr/local/man/man1/ptroff.1 以 troff 格式,自 Apple laser writer 打印 ptroff 命令之使用說明。

    %ptroff -Psp2 -man /usr/man/man1/lpr1 以 troff 格式,自 sp2 打印 lpr 命令之使用說明。

    打印機控制命令

    檢查打印機狀態,及打印工作順序編號和使用者名稱

    執行格式:lpq [-Pprinter -name]

    %lpq 或 lpq -Psp1 檢查 sp1 打印機之狀態。

    刪除打印機內之打印工作 (使用者僅可刪除自己的打印工作 )

    執行格式:lprm [-Pprinter -name] username 或 job number

    %lprm user 或 lprm -Psp1 user 刪除 sp1 中,使用者 user 的打印工作,此時使用者名稱必須為 user。

    %lprm -Psp2 456 刪除 sp2 編號為 456 之打印工作。

    Job 之控制

    UNIX O.S.,可于 foregrourd 及 background 同時處理多個 process。

    一般使用者執行命令時,皆是在 foreground 交談式地執行 process,亦可將 process置于 background 中,以非交談式來執行 process。

    查看系統之 process

    執行格式:ps [-aux]

    Example:

    %ps 或 ps –x (查看系統中,屬于自己的 process。)

    %ps –au (查看系統中,所有使用者的 process。)

    %ps –aux (查看系統中,包含系統內部,及所有使用者的 process。)

    結束或終止 process

    執行格式:kill [-9] PID ( PID 為利用 ps 命令所查出之 process ID。)

    Example:

    %kill 456 或 kill -9 456 終止 process ID 為 456 之 process。

    或者 執行格式:xkill(回車,鼠標箭頭變為骷髏頭標志,直接點擊要終止的程序窗口。)

    Example:

    %xkill[回車]

    在 background 執行 process 的方式

    執行格式:command & (于 command 后面加入一 “&” 符號即可。)

    Example:

    %cc file1.c & 將編譯 file1.c 文件之工作,置于 background 執行。

    執行格式:按下 “Control Z” 鍵,暫停正在執行的 process。鍵入 “bg” 命令,將所暫停的 process,置入 background 中繼續執行。

    Example:

    %cc file2.c ^Z Stopped %bg

    查看正在 background 中執行的 process

    執行格式:jobs

    結束或終止在 background 中的 process

    執行格式:kill %n

    (n 為利用 “jobs” 命令,所查看出的 background job 編號)

    Example:

    %kill % 終止在 background 中的第一個 job。

    %kill %2 終止在 background 中的第二個 job。

    shell variable

    查看 shell variable 之設定值

    執行格式:set 查看所有 shell variable 之設定值。

    %set

    執行格式:echo $variable-name 顯示指定的 shell variable 之設定值。

    %echo $PRINTER0000 sp1

    設定 shell variable

    執行格式:set var value

    Example:

    %set termvt100 設定 shell variable “term” 為 VT100 終端機之型式。

    刪除 shell variable

    執行格式:unset var

    Example:

    %unset PRINTER 刪除 shell variable “PRINTER” 之設定值。

    environment variable

    查看 environment variable 之設定值

    執行格式:setenv  查看所有 environment variable 之設定值。

    Example:

    %setenv

    執行格式:echo $NAME 顯示指定的 environment variable “NAME” 之設定值。

    Example:

    %echo $PRINTER

    顯示 environment variable “PRINTER” 打印機名稱之設定值。

    設定 environment variable

    執行格式:setenv NAME word

    Example:

    %setenv PRINTER sp1

    設定 environment variable “PRINTER” 打印機名稱為 sp1。

    刪除 environment variable

    執行格式:unsetenv NAME

    Example:

    %unsetenv PRINTER

    刪除 environment variable “PRINTER” 打印機名稱之設定值。

    alias

    查看所定義的命令之 alias

    執行格式: alias 查看自己目前定義之所有命令,及所對應之 alias 名稱。

    執行格式: alias name 查看指定之 alias 名稱所定義之命令。

    Example:

    %alias dir (查看別名 dir 所定義之命令) ls -atl

    定義命令之 alias

    執行格式: alias name \’command line\’

    Example:

    % alias dir= \’ls -l\’ 將命令 “ls - l” 定義別名為 dir。

    刪除所定義之 alias

    執行格式: unalias name

    Example:

    %unalias dir (刪除別名為 dir 之定義。)

    %unalias * (刪除所有別名之設定。)

    history

    設定命令記錄表之長度

    執行格式: set history n

    Example:

    %set history 40

    設定命令記錄表之長度為 40 (可記載執行過之前面 40 個命令)。

    查看命令記錄表之內容

    執行格式: history

    使用命令記錄表

    執行格式: !!

    Example: %!! (重復執行前一個命令)

    執行格式: !n ( n 為命令記錄表之命令編號。)

    Example: %!5 ( 執行命令記錄表中第五個命令。)

    執行格式: !string ( 重復前面執行過以 string 為起始字符之命令。)

    Example: %!cat ( 重復前面執行過,以 cat 為起始字符之命令。)

    顯示前一個命令之內容

    執行格式: !!:p

    更改前一命令之內容并執行之

    執行格式: ^oldstring ^newstring

    將前一命令中 oldstring 的部份,改成 newstring,并執行之。

    Example:

    %find . -name file1.c -print

    ^file1.c^core

    %find . -name core -print

    注:文件 core 為執行程序或命令發生錯誤時,系統所產生的文件。作為偵錯(debug)之,因其所占空間極大,通常將之刪除。

    [編輯]資料之壓縮

    為了避免不常用的文件或資料,占用太大的磁盤空間,請使用者將之壓縮。欲使用壓縮過的文件或資料前,將之反壓縮,即可還原成原來之資料型式。凡是經過壓縮處理之文件,會在文件名后面附加 ” .Z ” 之字符,表示此為一壓縮文件。

    壓縮資料

    執行格式:compress filename 壓縮文件 執行格式:compressdir directory-name 壓縮目錄 gzip gzip命令常用于壓縮文件,執行格式: gzip filename 建立檔案名稱是ye的壓縮檔案: gzip ye.tar 解壓縮命令: gzip -d filename.gz

    pipe-line 之使用

    執行格式:command1 | command2

    將 command1 執行結果,送到 command2 做為 command2 的輸入。

    Example:

    %ls -Rl | more 以分頁方式,列出目前目錄下所有文件,及子目錄之名稱。

    %cat file1 | more 以分頁方式,列出文件 file1 之內容。

    I/O control

    標準輸入之控制

    執行格式:command-line < file

    將 file 做為 command-line 之輸入。

    Example:

    %mail -s "mail test" user@iis.sinica.edu.tw < file1

    將文件 file1 當做信件之內容,Subject 名稱為 mail test,送給收信人。

    標準輸出之控制

    執行格式:command > filename 將 command 之執行結果,送至指定的 filename 中。

    Example: %ls -l > list 將執行 “ls -l” 命令之結果,寫入文件 list 中。

    執行格式:command >! filename 同上,若 filename 之文件已經存在,則強迫 overwrite。

    Example: %ls -lg >! list 將執行 “ls - lg” 命令之結果,強迫寫入文件 list 中。

    執行格式:command >& filename 將 command 執行時,屏幕上所產生的任何信息,寫入指定的 filename 中。

    Example: %cc file1.c >& error 將編譯 file1.c 文件時,所產生之任何信息,寫入文件 error 中。

    執行格式:command >> filename 將 command 執行結果,附加(append)到指定的 filename 中。

    Example: %ls - lag >> list 將執行 “ls - lag” 命令之結果,附加(append)到文件 list 中。

    執行格式:command >>& filename 將 command 執行時,屏幕上所產生的任何信息,附加于指定的 filename中。

    Example: %cc file2.c >>& error 將編譯 file2.c 文件時,屏幕所產生之任何信息,附加于文件 error 中。

    查看系統中的使用者

    執行格式: who 或 finger

    執行格式: w

    執行格式: finger username or finger username@domainname

    改變自己的 username 進入其他使用者的帳號,擁有其使用權利。

    執行格式: su username

    Example:

    %su user 進入使用者 user 之帳號

    passwrod: 輸入使用者 user 之密碼

    查看 username

    執行格式: whoami 查看 login 時,自己的 username。

    執行格式: whoami 查看目前的 username。若已執行過 “su”命令tch user),則顯示出此 user 之 username。

    查看目前本地所有工作站的使用者

    執行格式: rusers > 結束

    與某工作站上的使用者交談

    執行格式: talk username@hostname 或 talk username@ip_address

    Example:

    1. 可先利用 rusers 指令查看網路上的使用者

    2. 假設自己的帳號是 u84987 ,在工作站 indian 上使用,現在想要與 doc 上的u84123 交談。

    %talk u84123@doc > 此時屏幕上將會出現等待畫面

    在對方(u84123)屏幕上將會出現下列信息

    Message from Talk_Daemon@Local_host_name at xx:xx

    talk: connection requested by u84987@indian

    talk: respond with: talk u84987@indian

    此時對方(u84123) 必須執行 talk u84987@indian 即可互相交談。最后可按結束。

    檢查遠端電腦系統是否正常

    執行格式:ping hostname 或 ping IP-Address Example: %ping doc

    電子郵件(E-mail)的使用簡介

    將文件當做 E-mail 的內容送出

    執行格式:mail -s “Subject-string” username@address < filename

    Example

    %mail -s "program" user < file.c 將 file.c 當做 mail 的內容,送至 user, subject name 為 program。

    (實際上,在Ubuntu中并不能將郵件發送到郵箱,例如163郵箱,而是在/var/mail文件夾下面生成了一個 以當前用戶名為文件名的文件,并在其中指出了錯誤信息。)

    傳送 E-mail 給本地使用者

    執行格式:mail username %mail user

    傳送 E-mail 至 外地

    執行格式: mail username@receiver-address

    Example

    %mail paul@gate.sinica.edu.tw Subject : mail test

    鍵入信文內容

    按下 “Control D” 鍵或 ” . ” 鍵結束信文。 連按兩次 “Control C” 鍵,則中斷工作,不送此信件。 Cc: ( Carbon copy : 復制一份信文,給其他的收信人 )

    檢查所傳送之 E-mail 是否送出,或滯留于本所之郵件伺服站中

    執行格式:/usr/lib/sendmail -bp

    ( 若屏幕顯示為 “Mail queue is empty” 之信息,表示 mail 已送出。

    若為其它錯誤信息,表示 E-mail 因故尚未送出。)

    讀取信件

    執行格式: mail

    常用指令如下:

    cd [directory] chdir to directory or home if none given

    d [message list] delete messages

    h print out active message headers

    m [user list] mail to specific users

    n goto and type next message

    p [message list] print messages

    q quit, saving unresolved messages in mbox

    r [message list] reply to sender (only) of messages

    R [message list] reply to sender and all recipients of messages

    s [message list] file append messages to file

    t [message list] type messages (same as print)

    u [message list] undelete messages

    v [message list] edit messages with display editor

    w [message list] file append messages to file, without from line

    x quit, do not change system mailbox

    z [-] display next [previous] page of headers

    ! shell escape

    == 文件編輯器 vi 之使用方法簡介 ==(???) vi、celvis(cvi) 是在工作站上被廣大使用的中英文編輯軟體。對初學者而言,常因其特殊的使用方法,而不得其門而入;對已經在使用 vi 的使用者來說,也常見因對 vi 的不熟悉或不夠了解,而無法發揮出 vi 強大的編輯能力,以下將介紹 vi 之使用方法簡介。

    本文內容大綱

    進入 vi

    離開 vi

    輸入模式

    如何進入輸入模式

    如何離開輸入模式

    指令模式

    光標的移動

    視窗的移動

    刪除、復制及修改指令介紹(delete、change、yank)

    刪除與修改(delete、replace)

    移動與復制(delete/put、yank/put)

    指令重復

    取消前一動作(undo)

    字串搜尋

    資料的連接與分行

    環境的設定

    ex 指令

    其它方面

    中文編輯

    恢復編輯時被中斷的文件

    編輯多個文件

    vi 是 visual editor 的縮寫,是 UNIX 所提供的編輯器之一。它提供使用者一個視窗的編輯環境,在此視窗下,使用者可編輯所要的文件。

    進入vi

    直接執行 vi編輯程序即可:

    %vi test

    此刻屏幕上會出現 vi 的編輯視窗,同時 vi 會將文件復制一份至記憶體中的緩沖區 (buffer) 。 vi會保留在磁盤中的文件不變,而先對緩沖區的文件作編輯,編輯完成后,使用者可決定是否要取代原來舊有的文件。

    ——————————————————————————–

    – 作者:itvue – 發布時間:2005-5-11 10:17:42

    離開vi

    若在輸入模式下,則先利用《ESC》進入指令模式,而后即可選用下列指令

    離開vi。

    :q! 離開vi,并放棄剛在緩沖區內編輯的內容。

    :wq 將緩沖區內的資料寫入磁盤中,并離開vi。

    :ZZ 同wq。

    :x 同wq。

    :w 將緩沖區內的資料寫入磁盤中,但并不離開vi。

    :q 離開vi,若文件被修改過,則會被要求確認是否放棄修改的內容。

    此指令可與:w 配合使用。

    vi 的操作模式

    vi 提供兩種操作模式:輸入模式(insert mode)和指令模式(command mode)。當使用者進入 vi 后,即處在指令模式下,此刻鍵入之任何字符皆被視為指令。在此模式下可進行刪除、修改等動作。若要輸入資料,則需進入輸入模式。

    輸入模式

    如何進入輸入模式

    l a (append) 由光標之后加入資料。

    l A 由該行之末加入資料。

    l i (insert) 由光標之前加入資料。

    l I 由該行之首加入資料。

    l o (open) 新增一行于該行之下供輸入資料之用。

    l O 新增一行于該行之上供輸入資料之用。

    如何離開輸入模式

    l 《ESC》 結束輸入模式。

    指令模式

    光標之移動(以下命令區分大小寫)

    l h 向左移一個字符。

    l J 向上移一個字符。

    l K 向下移一個字符。

    l L 向右移一個字符。

    l ^移至該行之首

    l $ 移至該行之末。

    l H 移至視窗的第一列。

    l M 移至視窗的中間那列。

    l L 移至視窗的最后一列。

    l G 移至該文件的最后一列。

    l + 移至下一列的第一個字符處。

    l - 移至上一列的第一個字符處。

    l ( 移至該句之首。 (注一)

    l ) 移至該句之末。

    l { 移至該段落之首。 (注二)

    l } 移至該段落之末。

    l nG 移至該文件的第 n 列。

    l n+ 移至光標所在位置之后的第 n 列。

    l n-移至光標所在位置之前的第 n 列。

    l 會顯示該行之行號、文件名稱、文件中最末行之行號、光標所在行號占總行號之百分比。

    注一:句子(sentence)在vi中是指以『!』、『.』或『?』結束的一串字。

    注二:段落(paragraph)在vi中是指以空白行隔開的文字.

    視窗的移動

    l ^F 視窗往下卷一頁(front)

    l ^B 視窗往上卷一頁(back)

    l ^D 視窗往下卷半頁(down)

    l ^U 視窗往上卷半頁(up)

    l ^E 視窗往下卷一行

    l ^Y 視窗往上卷一行

    ^表示Ctrl

    刪除、復制及修改指令介紹 (此單元較少使用)

    d(delete)、c(change)和y(yank)這一類的指令在 vi 中的指令格式為:

    Operator + Scope command

    (運算子) (范圍)

    運算子:

    l d 刪除指令。刪除資料,但會將刪除資料復制到記憶體緩沖區。

    l y 將資料(字組、行列、句子或段落)復制到緩沖區。

    l p 放置(put)指令,與 d 和 y 配和使用。可將最后delete或yank的資料放置于光標所在位置之行列下。

    l c 修改(change)指令,類似delete與insert的組和。刪除一個字組、句子等之資料,并插入新鍵資料。

    范圍:

    l e 由光標所在位置至該字串的最后一個字符。

    l w 由光標所在位置至下一個字串的第一個字符。

    l b 由光標所在位置至前一個字串的第一個字符。

    l $ 由光標所在位置至該行的最后一個字符。

    l 由光標所在位置至該行的第一個字符。

    l ) 由光標所在位置至下一個句子的第一個字符。

    l ( 由光標所在位置至該句子的第一個字符。

    l { 由光標所在位置至該段落的最后一個字符。

    l } 由光標所在位置至該段落的第一個字符。

    整行動作:

    l dd 刪除整行。

    l D 以行為單位,刪除光標后之所有字符。

    l cc 修改整行的內容。

    l yy yank整行,使光標所在該行復制到記憶體緩沖區。

    刪除與修改

    l x 刪除光標所在該字符。

    l X 刪除光標所在之前一字符。

    l dd 刪除光標所在該行。

    l r 用接于此指令之后的字符取代(replace)光標所在字符。如: ra 將光標所在字符以 a 取代之。

    l R 進入取代狀態,直到《ESC》為止。

    l s 刪除光標所在之字符,并進入輸入模式直到《ESC》。

    l S 刪除光標所在之該行資料,并進入輸入模式直到《ESC》。

    移動與復制

    利用 delete 及 put 指令可完成資料移動之目的。

    利用 yank 及 put 指令可完成資料復制之目的。

    yank 和 delete 可將指定的資料復制到記憶體緩沖區,而藉由 put 指令可將緩沖區內的資料復制到屏幕上。

    例:

    移動一行 .在該行執行 dd

    .光標移至目的地

    .執行 p

    復制一行 .在該行執行 yy

    .光標移至目的地

    .執行 p

    指令重復

    在指令模式中,可在指令前面加入一數字 n,則此指令動作會重復執行 n次。

    例:

    刪除10行 .10dd

    復制10行 .10yy

    指標往下移10行 .10j

    取消前一動作(Undo)

    即復原執行上一指令前的內容。

    u 恢復最后一個指令之前的結果。

    U 恢復光標該行之所有改變。

    搜尋

    在vi中可搜尋某一字串,使光標移至該處。

    /字串 往光標之后尋找該字串。

    ?字串 往光標之前尋找該字串。

    n 往下繼續尋找下一個相同的字串。

    N 往上繼續尋找下一個相同的字串。

    資料的連接

    J 句子的連接。將光標所在之下一行連接至光標該行的后面。

    若某行資料太長亦可將其分成兩行,只要將光標移至分開點,進入輸入模式 (可利用 a、i等指令)再按《Enter》即可。

    環境的設定

    :set nu 設定資料的行號。

    :set nonu 取消行號設定。

    :set ai 自動內縮。

    :set noai 取消自動內縮。

    自動內縮(automatic indentation)

    在編輯文件或程序時,有時會遇到需要內縮的狀況,『:set ai』即提供自動內縮的功能,用下例解釋之:

    .vi test

    .(進入編輯視窗后)

    this is the test for auto indent

    《Tab》start indent ← :set ai (設自動內縮)

    《Tab》data

    《Tab》data

    《Tab》data ← :set noai (取消自動內縮)

    the end of auto indent.

    .注: 可刪除《Tab》字符。

    ex指令

    讀寫資料

    :w 將緩沖區的資料寫入磁盤中。

    :10,20w test 將第10行至第20行的資料寫入test文件。

    :10,20w>>test 將第10行至第20行的資料加在test文件之后。

    :r test 將test文件的資料讀入編輯緩沖區的最后。

    刪除、復制及移動

    :10,20d 刪除第10行至第20行的資料。

    :10d 刪除第10行的資料。

    :%d 刪除整個編輯緩沖區。

    :10,20co30 將第10行至第20行的資料復制至第30行之后。

    :10,20mo30 將第10行至第20行的資料移動至第30行之后。

    字串搜尋與取代

    s(substitute)指令可搜尋某行列范圍。g(global)指令則可搜尋整個編輯緩沖區的資料。

    s指令以第一個滿足該條件的字串為其取代的對象,若該行有數個滿足該條件的字串,也僅能取代第一個,若想取代所有的字串則需加上g參數。

    :1,$s/old/new/g 將文件中所有的『old』改成『new』。

    :10,20s/^/ / 將第10行至第20行資料的最前面插入5個空白。

    :%s/old/new/g 將編輯緩沖區中所有的『old』改成『new』。

    恢復編輯時被中斷的文件

    在編輯過程中,若系統當掉或連線中斷,而緩沖區的資料并還未被寫回磁盤時,當再度回到系統,執行下列指令即可回復中斷前的文件內容。

    %vi -r filename

    編輯多個文件

    vi亦提供同時編輯多個文件的功能,方法如下:

    %vi file1 file2 …

    當第一個文件編修完成后,可利用『:w』將該緩沖區存檔,而后再利用 『:n』載入下一個文件。

    gedit 編輯器可以打開多個文件,并直接編輯

    posted on 2014-02-25 10:17 管先飛 閱讀(493) 評論(0)  編輯  收藏 所屬分類: Java技術
    主站蜘蛛池模板: 精品无码人妻一区二区免费蜜桃| 久久久久久a亚洲欧洲aⅴ| 亚洲电影免费在线观看| 国产亚洲美女精品久久久久| 亚洲三级视频在线观看| 久久精品国产99精品国产亚洲性色| 国产99视频免费精品是看6| 国内免费高清在线观看| 99久久99热精品免费观看国产| 一级女人18片毛片免费视频| 亚洲欧洲专线一区| 亚洲香蕉久久一区二区三区四区| 亚洲国产成人一区二区三区| 亚洲精品无码永久在线观看| 日本人护士免费xxxx视频| 丁香花免费高清视频完整版| 91成人在线免费观看| 久久精品成人免费观看| 一个人免费视频观看在线www| 牛牛在线精品观看免费正 | 一级毛片a免费播放王色电影| 亚洲熟妇无码AV| 亚洲三级高清免费| 亚洲av无码久久忘忧草| 亚洲国产精品综合久久2007| 777亚洲精品乱码久久久久久| 久久亚洲国产精品| 亚洲AV无码一区二区三区系列 | 亚洲午夜一区二区三区| 亚洲成a人片在线观| 亚洲成年人电影在线观看| 亚洲国产精品综合一区在线| 亚洲国产精品张柏芝在线观看| 久久久亚洲裙底偷窥综合| 亚洲精品成人久久| 亚洲欧洲精品在线| 亚洲av永久无码精品天堂久久| 精品亚洲国产成人| 亚洲国产日韩a在线播放| 亚洲AV无码片一区二区三区| 成a人片亚洲日本久久|