1. unix vi 命令
vi編輯器有3種模式:命令模式、輸入模式、末行模式。掌握這三種模式十分重要:
命令模式:vi啟動後默認進入的是命令模式,從這個模式使用命令可以切換到另外兩種模式,同時無論在
任何模式下只要按一下[Esc]鍵都可以返回命令模式。在命令模式中輸入字幕「i」就可以進入vi的輸入模式編
輯文件。
輸入模式:在這個模式中我們可以編輯、修改、輸入等編輯工作,在編輯器最後一行顯示一個「--INSERT
--」標志著vi進入了輸入模式。當我們完成修改輸入等操作的時候我們需要保存文件,這時我們需要先返回命
令模式,在進入末行模式保存。
末行模式:在命令模式輸入「:」即可進入該模式,在末行模式中有好多好用的命令。
1.進入vi的命令
vi filename :打開或新建文件,並將游標置於第一行首
vi +n filename :打開文件,並將游標置於第n行首
vi + filename :打開文件,並將游標置於最後一行首
vi +/pattern filename:打開文件,並將游標置於第一個與pattern匹配的串處
vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename
vi filename....filename :打開多個文件,依次進行編輯
2.移動游標類命令
h或Backspace:游標左移一個字元
l或space :游標右移一個字元
k或Ctrl+p:游標上移一行
j或Ctrl+n或Enter :游標下移一行
w或W :游標右移一個字至字首
b或B :游標左移一個字至字首
e或E :游標右移一個字至字尾
) :游標移至句尾
( :游標移至句首
}:游標移至段落開頭
{:游標移至段落結尾
nG:游標移至第n行首
n+:游標下移n行
n-:游標上移n行
n$:游標移至第n行尾
H :游標移至屏幕頂行
M :游標移至屏幕中間行
L :游標移至屏幕最後行
0:(注意是數字零)游標移至當前行首
$:游標移至當前行尾
3.屏幕翻滾類命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。
4.插入文本類命令(文本輸入模式)
i :在游標前
I :在當前行首
a:游標後
A:在當前行尾
o:在當前行之下新開一行
O:在當前行之上新開一行
r:替換當前字元
R:替換當前字元及其後的字元,直至按ESC鍵
s:從當前游標位置處開始,以輸入的文本替代指定數目的字元
S:刪除指定數目的行,並以所輸入文本代替之
ncw或nCW:修改指定數目的字
nCC:修改指定數目的行
5.刪除命令
ndw或ndW:刪除游標處開始及其後的n-1個字
do:刪至行首
d$:刪至行尾
ndd:刪除當前行及其後n-1行
dd: 刪除一行
x或X:刪除一個字元,x刪除游標後的,而X刪除游標前的
Ctrl+u:刪除輸入方式下所輸入的文本
6.復制操作
yy命令復制當前整行的內容到vi緩沖區
yw復制當前游標所在位置到單詞尾字元的內容到vi緩存區,相當於復制一個單詞
y$復制游標所在位置到行尾內容到緩存區
y^復制游標所在位置到行首內容到緩存區
#yy例如:5yy就是復制5行
#yw例如:2yw就是復制兩個單詞
如果要復制第m行到第n行之間的內容,可以在末行模式中輸入m,ny例如:3,5y復制第三行到第五行內容到緩存區。
粘貼緩沖區中的內容,用p
7.撤銷操作
u命令取消最近一次的操作,可以使用多次來恢復原有的操作
U取消所有操作
Ctrl+R可以恢復對使用u命令的操作
8.搜索及替換命令
vi的查找和替換功能主要在末行模式完成:
至上而下的查找
/ 要查找的字元竄,其中/代表從游標所在位置起開始查找,例如:/ work
至下而上的查找
?要查找的字元竄 例如:/ work
替換
:s/old/new用new替換行中首次出現的old
: s/old/new/g 用new替換行中所有出現的old
:#,# s/old/new/g用new替換從第#行到第#行中出現的old
:% s/old/new/g用new替換整篇中出現的old
9.選項設置
:set nu 顯示行號
:set nonu 隱藏行號
:set showmode 顯示當前操作模式(如用vedit將自動打開)
:set noshowmode 關閉模式顯示
:set 顯示所有vi變數
:set all 顯示所有可能的vi變數和它們的當前的值
all:列出所有選項設置情況
term:設置終端類型
ignorance:在搜索中忽略大小寫
list:顯示製表位(Ctrl+I)和行尾標志($)
number:顯示行號
report:顯示由面向行的命令修改過的數目
terse:顯示簡短的警告信息
warn:在轉到別的文件時若沒保存當前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶「\」的特殊字元
nowrapscan:禁止vi在搜索到達文件兩端時,又從另一端開始
mesg:允許vi顯示其他用戶用write寫到自己終端上的信息
10.最後行方式命令(末行模式)
:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內容刪除
:w :保存當前文件
:e filename:打開文件filename進行編輯
:x:保存當前文件並退出
:q:退出vi
:q!:不保存文件並退出vi
:!command:執行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內容作為command的輸入並執行之,若不指定n1,n2,則表示將整
個文件內容作為command的輸入
:r!command:將命令command的輸出結果放到當前行
11.恢復文件
vi在編輯某一個文件時,會生成一個臨時文件,這個文件以 . 開頭並以 .swp結尾。正常退出該文件自動
刪除,如果意外退出例如忽然斷電,該文件不會刪除,我們在下次編輯時可以選擇一下命令處理:
O只讀打開,不改變文件內容
E繼續編輯文件,不恢復.swp文件保存的內容
R將恢復上次編輯以後未保存文件內容
Q退出vi
D刪除.swp文件
或者使用vi -r 文件名來恢復未保存的內容
12.寄存器操作
"?nyy:將當前行及其下n行的內容保存到寄存器?中,其中?為一個字母,n為一個數字
"?nyw:將當前行及其下n個字保存到寄存器?中,其中?為一個字母,n為一個數字
"?nyl:將當前行及其下n個字元保存到寄存器?中,其中?為一個字母,n為一個數字
"?p:取出寄存器?中的內容並將其放到游標位置處。這里?可以是一個字母,也可以是一個數字
ndd:將當前行及其下共n行文本刪除,並將所刪內容放到1號刪除寄存器中。
2. Vi命令的介紹
Vi 是Unix世界裡極為普遍的全屏幕文本編輯器,VIM是它的改進版本Vi IMproved的簡稱。幾乎可以說任何一台Unix機器都會提供這套軟體。Unix 提供一系列的 ex 編輯器,包括 ex, edit 和 vi 。相對於全屏幕編輯器,現在可能很難想像如何使用 ex, edit 這種行列編輯器。 Vi 的原意是 Visual,它是一個立即反應的編輯程序,也就是說可以立刻看到操作結果。也由於 vi 是全屏幕編輯器,所以它必須控制整個終端屏幕哪裡該顯示些什麼。而終端機的種類有許多種,特性又不盡相同,所以 vi 有必要知道現在所使用的是哪一種終端機。這是由 TERM 這個環境變數來設定,設定環境變數方面請查看所使用shell的說明。只要簡單的在Shell下執行vi就可以進入 vi 的編輯環境。在實際操作之前先對它有個了解會比較好。Vi 有兩種模式,輸入模式以及指令模式。輸入模式即是用來輸入文字資料,而指令模式則是用來下達一些編排文件、存檔、以及離開 vi 等等的操作指令。當執行 vi 後,會先進入指令模式,此時輸入的任何字元都視為指令。對於vi的詳細操作,可參考相關的Unix教程。
3. vi的用法
vi 命令 是UNIX操作系統和類UNIX操作系統中最通用的全屏幕純文本編輯器。
vi編輯器支持編輯模式和命令模式,編輯模式下可以完成文本的編輯功能,命令模式下可以完成對文件的操作命令,要正確使用vi編輯器就必須熟練掌握著兩種模式的切換。默認情況下,打開vi編輯器後自動進入命令模式。從編輯模式切換到命令模式使用「esc」鍵,從命令模式切換到編輯模式使用"A"、"a"、"O"、"o"、"I"、"i"鍵。
vi編輯器的三種工作方式之間的轉換如圖所示。
vi編輯器提供了豐富的內置命令,有些內置命令使用鍵盤組合鍵即可完成,有些內置命令則需要以冒號「:」開頭輸入。常用內置命令如下:
vi(選項)(參數)
知識擴展
vi編輯器有三種工作方式:命令方式、輸入方式和ex轉義方式。通過相應的命令或操作,在這三種工作方式之間可以進行轉換。
命令方式
在Shell提示符後輸入命令vi,進入vi編輯器,並處於vi的命令方式。此時,從鍵盤上輸入的任何字元都被作為編輯命令來解釋,例如,a(append)表示附加命令,i(insert)表示插入命令,x表示刪除字元命令等。如果輸入的字元不是vi的合法命令,則機器發出「報警聲」,游標不移動。另外,在命令方式下輸入的字元(即vi命令)並不在屏幕上顯示出來,例如,輸入i,屏幕上並無變化,但通過執行i命令,編輯器的工作方式卻發生變化:由命令方式變為輸入方式。
輸入方式
通過輸入vi的插入命令(i)、附加命令(a)、打開命令(o)、替換命令(s)、修改命令(c)或取代命令(r)可以從命令方式進入輸入方式。在輸入方式下,從鍵盤上輸入的所有字元都被插入到正在編輯的緩沖區中,被當做該文件的正文。進入輸入方式後,輸入的可見字元都在屏幕上顯示出來,而編輯命令不再起作用,僅作為普通字母出現。例如,在命令方式下輸入字母i,進到輸入方式,然後再輸入i,就在屏幕上相應游標處添加一個字母i。
由輸入方式回到命令方式的辦法是按下Esc鍵。如果已在命令方式下,那麼按下Esc鍵就會發出「嘟嘟」聲。為了確保用戶想執行的vi命令是在命令方式下輸入的,不妨多按幾下Esc鍵,聽到嘟聲後再輸入命令。
ex 轉義方式
vi和ex編輯器的功能是相同的,二者的主要區別是用戶界面。在vi中,命令通常是單個字母,如a,x,r等。而在ex中,命令是以Enter;鍵結束的命令行。vi有一個專門的「轉義」命令,可訪問很多面向行的ex命令。為使用ex轉義方式,可輸入一個冒號(:)。作為ex命令提示符,冒號出現在狀態行(通常在屏幕最下一行)。按下中斷鍵(通常是Del鍵),可終止正在執行的命令。多數文件管理命令都是在ex轉義方式下執行的(例如,讀取文件,把編輯緩沖區的內容寫到文件中等)。轉義命令執行後,自動回到命令方式。例如:
則從文件第一行至文件末尾($)將大寫I全部替換成小寫i
4. Vi命令的命令大全
本編輯器是所有計算機系統中最常用的一種工具。UNIX下的編輯器有ex,sed和vi等,其中,使用最為廣泛的是vi,而vi命令繁多,論壇里好像這方面的總結不多,以下稍做總結,以資共享!渴望更正和補充!
進入vi的命令
vi filename :打開或新建文件,並將游標置於第一行首
vi +n filename :打開文件,並將游標置於第n行首
vi + filename :打開文件,並將游標置於最後一行首
vi +/pattern filename:打開文件,並將游標置於第一個與pattern匹配的串處
vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename
vi filename....filename :打開多個文件,依次進行編輯
移動游標類命令
h :游標左移一個字元
l :游標右移一個字元
space:游標右移一個字元
Backspace:游標左移一個字元
k或Ctrl+p:游標上移一行
j或Ctrl+n :游標下移一行
Enter :游標下移一行
w或W :游標右移一個字至字首
b或B :游標左移一個字至字首
e或E :游標右移一個字至字尾
) :游標移至句尾
( :游標移至句首
}:游標移至段落最後一個字母
{:游標移至段落第一個字母
nG:游標移至第n行首
n+:游標下移n行
n-:游標上移n行
n$:游標移至第n行尾
H :游標移至屏幕頂行
M :游標移至屏幕中間行
L :游標移至屏幕最後行
0:(注意是數字零)游標移至當前行首
$:游標移至當前行尾
屏幕翻滾類命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。
插入文本類命令
i :在游標前
I :在當前行首
a:游標後
A:在當前行尾
o:在當前行之下新開一行
O:在當前行之上新開一行
r:替換當前字元
R:替換當前字元及其後的字元,直至按ESC鍵
s:從當前游標位置處開始,以輸入的文本替代指定數目的字元
S:刪除指定數目的行,並以所輸入文本代替之
ncw或nCW:修改指定數目的字
nCC:修改指定數目的行
刪除命令
ndw或ndW:刪除游標處開始及其後的n-1個字
d0:刪至行首
d$:刪至行尾
ndd:刪除當前行及其後n-1行
x或X:刪除一個字元,x刪除游標後的,而X刪除游標前的
Ctrl+u:刪除輸入方式下所輸入的文本
搜索及替換命令
/pattern:從游標開始處向文件尾搜索pattern
?pattern:從游標開始處向文件首搜索pattern
n:在同一方向重復上一次搜索命令
N:在反方向上重復上一次搜索命令
:s/p1/p2/g:將當前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:將文件中所有p1均用p2替換
選項設置
all:列出所有選項設置情況
term:設置終端類型
ignorance:在搜索中忽略大小寫
list:顯示製表位(Ctrl+I)和行尾標志($)
number:顯示行號
report:顯示由面向行的命令修改過的數目
terse:顯示簡短的警告信息
warn:在轉到別的文件時若沒保存當前文件則顯示NO write信息
nomagic:允許在搜索模式中,使用前面不帶「」的特殊字元
nowrapscan:禁止vi在搜索到達文件兩端時,又從另一端開始
mesg:允許vi顯示其他用戶用write寫到自己終端上的信息
最後行方式命令
:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下
:n1,n2 d :將n1行到n2行之間的內容刪除
:w :保存當前文件
:e filename:打開文件filename進行編輯
:x:保存當前文件並退出
:q:退出vi
:q!:不保存文件並退出vi
:!command:執行shell命令command
:n1,n2 w!command:將文件中n1行至n2行的內容作為command的輸入並執行之,若不指定n1,n2,則表示將整個文件內容作為command的輸入
:r!command:將命令command的輸出結果放到當前行
寄存器操作
?nyy:將當前行及其下n行的內容保存到寄存器?中,其中?為一個字母,n為一個數字
?nyw:將當前行及其下n個字保存到寄存器?中,其中?為一個字母,n為一個數字
?nyl:將當前行及其下n個字元保存到寄存器?中,其中?為一個字母,n為一個數字
?p:取出寄存器?中的內容並將其放到游標位置處。這里?可以是一個字母,也可以是一個數字
ndd:將當前行及其下共n行文本刪除,並將所刪內容放到1號刪除寄存器中。
tags 用法
在函數中移動游標
[{ 轉到上一個位於第一列的{
}] 轉到下一個位於第一列的{
{ 轉到上一個空行
} 轉到下一個空行 ([ and ] 也分別是兩個指令)
ctrl+t 跳回
gd 轉到當前游標所指的局部變數的定義
* 轉到當前游標所指的單詞下一次出現的地方
# 轉到當前游標所指的單詞上一次出現的地方
Vim 的創造者是一名計算機程序員,因此這就不奇怪 Vim 中有許多幫助編寫程序的功能:
跳轉到標識符被定義和使用的地方;在另一個窗口中預覽有關的聲明等等。
5. 說說常用的UNIX命令
下文列出了常用的unix命令。
more less:
less的作用與more十分相似,都可以用來瀏覽文字檔案的內容,不同的是less允許使用者往回卷動以瀏覽已經看過的部份,同時因
為less並未在一開始就讀入整個檔案,因此在遇上大型檔案的開啟時,會比一般的文書編輯器(如 vi)來的快速。
unix種類[圖]
>> linux ‖ BSD ‖ Solaris ‖ SCO ‖ HP-UX ‖ AIX ‖ AS400 ‖ Tru64 ‖ IRIX ‖ MacOsX
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 mandate
查看日期 date date
顯示日歷 cal cal1998
顯示大寫大字 bannerbanner 「ABCD」
計算器 bc bc
修改口令 passwdpasswd
查看誰在使用系統 whowho
查看我是誰 who am iwho am i
顯示用戶信息 fingerfinger 用戶名
清除屏幕 clearclear
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
按回車顯示結果,以後等待輸入其它算式。按<Ctrl>;+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的所在終端上(<CR>;表示回車):
$ write alex <CR>;
Hi Alex, are you there? o<CR>;
Message from Alex (tty11)[Sat Jan 5 15]….
Yes Jenny, I』m here. o<CR>;
……
Thank you ,Alex, bye! oo<CR>;
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 把你的輸入一行一行的顯示在你和對方的屏幕上。用<Delete>;退出talk 。
(三)使用mesg 拒絕和允許接收報文
mesg 命令允許或拒絕接收由其它終端發來的write 和talk通訊信息。mesg命令在本地終端運行,其使用格式如下:
mesg [y] [n]〈CR〉
其中,y 表示允許接收,n 表示拒絕接收。如既不給出y 也不給出n ,則報告現在的許可狀態。例:
[例1] 顯示狀態:
$mesg <CR>;
則命令的執行結果為:
is y
或 is n
[例2] 拒絕接收由其它終端發來的write和talk通訊信息:
$mesg n
$mesg
is n
(四)wall 廣播式消息傳遞
所有登錄用戶都可收到該消息。僅超級用戶使用該命令。wall命令有以下幾種格式:
# wall
# wall filename
# wall 「send a messageto all the people。」
2.4 注銷(退出UNIX系統)
在每次使用完後,一定要進行注銷,以防他人通過你的帳號進入系統,並保證系統的完整性。注銷過程如下:在UNIX提示符下,運行:
$ exit
或
$ logout
或直接按鍵:
Ctrl+d。
由於UNIX操作系統的不同,注銷的命令也可能不同。
--------------------------------------------------------------------------------
3.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 1709: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 pwdcd
改變目錄 cd cd/usr cd c:\usr
進入家目錄 cd cd
創建目錄 mkdirmkdir abc md abc
刪除空目錄 rmdirrmdir abc rd abc
刪除目錄及其內容 rm -rrm -r abc deltree abc
顯示目錄內容 ls lsabcls -l abc(文件長列表)ls -aabc(所有類型文件)ls -d *(不進子目錄) dir abc
顯示文本文件內容 catcat file1.c type file1.c
一次一屏顯示文本文件內容more more file1.c
拷貝文件 cp cpfile1 file2 file1 file2
移動(重命名)文件 mv mv call.test call.listmove call.tst call.lstren call.test bbb
刪除文件 rm rmcall.list delcall.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
mv move或ren
本文來自CSDN博客:http://blog.csdn.net/chinayuan/archive/2008/10/14/3072562.aspx
6. unix linux 下的刪除 命令和 撤銷命令
1、刪除命令:rm
-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
rm刪除的東西不能還原。文件一旦通過rm命令刪除,則無法恢復,所以必須格外小心地使用該命令。
2、撤銷命令:
u撤銷上一步的操作。
Ctrl+r 恢復上一步被撤銷的操作。
(6)unix命令vi擴展閱讀:
1、撤銷命令的使用場景:vi編輯器:
基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。 這三種模式的作用分別是:
命令模式:
用戶剛剛啟動 vi/vim,便進入了命令模式。
此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字元。比如我們此時按下i,並不會輸入一個字元,i被當作了一個命令。
以下是常用的幾個命令:
i切換到輸入模式,以輸入字元。
x刪除當前游標所在處的字元。
:切換到底線命令模式,以在最底一行輸入命令。
輸入模式:
在命令模式下按下i就進入了輸入模式。
在輸入模式中,可以使用以下按鍵:
字元按鍵以及Shift組合,輸入字元
ENTER,回車鍵,換行
BACK SPACE,退格鍵,刪除游標前一個字元
DEL,刪除鍵,刪除游標後一個字元
方向鍵,在文本中移動游標
HOME/END,移動游標到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式
底線命令模式:
在命令模式下按下:(英文冒號)就進入了底線命令模式。
底線命令模式可以輸入單個或多個字元的命令,可用的命令非常多。
在底線命令模式中,基本的命令有(已經省略了冒號):
q 退出程序
w 保存文件
按ESC鍵可隨時退出底線命令模式。
7. Unix 常用命令
Unix 命令
ls :顯示文件夾下多有文件夾、文件夾名稱
命令格式:ls [option] file
option:
-l :顯示詳細列表
1:文件類型和文件許可權
2:文件連接數
3:文件所有者名字
4:文件用戶組名字
5:文件長度
6-8:最近修改日期
9:文件名
-a:顯示所有文件,包含隱藏文件(.起頭的文件名)
-R:顯示文件及所有子目錄
-F:顯示文件和目錄
-d與l:顯示目錄名而非內容
cd 目錄轉換
格式:cd dirname
pwd 顯示當前路徑
cat 顯示文件內容
格式:cat filename
more 以分頁方式查看內容
格式:more filename
rm 刪除文件
格式:rm [-r] filename
rm file1 刪除檔名為file1之文檔
rm file? 刪除檔名中有五個字元,前四個字為file的所有文檔
rm f* 刪除檔名中,以f首字母的所有文檔
rm -r dir1 刪除目錄dir1,及以下所有文檔及子目錄
mkdir 創建目錄
格式:mkdir [-p] directory-name
eg:
mkdir dir1: 新建新目錄dir1
mkdir -p dir/subdir 直接創建多級目錄
rmdir 刪除目錄,目錄首先為空
格式:rmdir dirname
cp 文檔復制
格式:cp [-r] source destination
cp file1 file2 :將file1復製成file2
cp file1 dir1: 將file1復制到目錄dir1下,文件名仍為file1
cp /tmp/file1 file2 :將目錄/tmp下的文檔file1復制到當前目錄下,文件名為file2
cp -r dir1 dir2:復制整個目錄
若dir2存在,則將dir1及子目錄復制到dir2下,dir2不存在,復制命名fir2
mv 文件移動
格式:mv source destination
mv file1 file2 :將file1改名為file2
mv file1 dir1 :將file1 移動到dir1
mv dir1 dir2 : dir2存在,將dir1移到dir2,dir2不存在,dir1改名為dir2
:查看目錄所佔磁碟容量
格式: [-sk] directory
:羅列當前目錄下所有文件,文件名
dir1 :顯示 dir的總容量及此目錄容量
-sk dir1 : 顯示目錄dir1的總容量,以k byte為計量
find 文件查找
格式:find dir -name filename command
find . -name file -print : 尋找目前目錄及所有子目錄內叫file的文檔
find . -ctime+7 -print 找出七天內未被更改的文檔
find . -size+2000m -print 找出大小找過2000 btyes 的文檔
find /tmp -user b1234567 -print 在/tmp下屬於b1234567的文檔
find . -name 『*.c』 -exec rm {} :刪除所有的.c文檔
find . -name test* -print顯示當前目錄及子目錄文件名前4位為test的文件名
vi 編輯器
命令狀態:
j,k,h,l :上下左右
0:行首
:刪除游標後半行
ctrl+f:後翻頁
ctrl+b:前翻頁
G:文件尾
/string:查找字元串
n:繼續查找
N:反向繼續查找
%:查找對應括弧
u:取消上次操作
ex命令狀態:
ex:set number 顯示行號
:set smd 顯示顯示狀態
:0 文件首
:1,5 7 :塊拷貝
:1,5 del :塊刪除
:1,5 move 7 :塊移動
:1, $s/string1/string2/g 全文查找string1並替換string2
:wq!存檔退出