UNIX Basics
登入工作站 | 更改密碼 | 檔案目錄處理 | 改變檔案權限 | vi 的使用
登錄工作站
執行格式:
telnet hostname
telnet ip-address
Example:telnet sun1.fg.tp.edu.tw
telnet 203.64.52.1
目前可用的工作站如下:sun1, sun2
登入步驟
login : _______ => 輸入 username
password : _______ => 輸入密碼
登出步驟
% logout 或
% exit 或
更改帳號密碼
%passwd => 執行後將會出現下列訊息
Changing password for user on 'hostname'.
Old password: ______ => 輸入舊密碼
New password: ______ => 輸入新密碼(最好6-8字,英文字母與數字混合)
檔案或目錄處理
列出檔案或目錄下之檔案名稱執行格式: ls [-atFlgR] [name] ( name 可為檔名或目錄名稱。)
Example :
ls 列出目前目錄下之檔名。
ls -a 列出包含以.起始的隱藏檔所有檔名。
ls -t 依照檔案最後修改時間之順序,依序列出檔名。
ls -F 列出目前目錄下之檔名及其類型。"/" 結尾表示為目錄名稱, "*" 結尾表示為執行檔,"@" 結尾表示為 symblic link。
ls -l 列出目錄下所有檔案之許可權、擁有者、檔案大小、修改時間及名稱。
ls -lg 同上,並顯示出檔案之擁有者群組名稱。
ls -R 顯示出目錄下,以及其所有子目錄之檔名。( recursive listing )
目錄之縮寫
~ 使用者 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 ) 之目錄位置下。
pwd 檢視現用哪一個目錄
複製檔案
執行格式: 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-nameExmaple :
mkdir dir1 建立一新目錄 dir1。
刪除目錄
執行格式: rmdir directory-name 或 rm directory-name
Example :
rmdir dir1 刪除目錄 dir1,但 dir1 下必須沒有檔案存在,否則無法刪除。
rm -r dir1 刪除目錄 dir1,及其下所有檔案及子目錄。
刪除檔案
執行格式: rm filename (filename 可為檔名,或檔名縮寫符號。)
Example :
rm file1 刪除檔名為 file1 之檔案。
rm file? 刪除檔名中有五個字元,前四個字元為file 之所有檔案。
rm f* 刪除檔名中,以 f 為字首之所有檔案。
檔名的縮寫符號
? 代表檔案名稱中之單一字元。
* 代表檔案名稱中之一字串。
查看自己的 disk quota 使用狀況
disk quota : 工作站磁碟空間的使用限額。
執行格式: quota -vExample :
quota -v 將會顯示下列訊息
Filesystem usage quota limit timeleft files quota limit timeleft
/home/u1/d9352701 9344 8192 12288 1.9 days 160 0 0欄位解說:
usage : 目前的磁碟用量。
quota : 你的磁碟使用額度。當你的 usage 超過 quota 時,雖然可以繼續使用,但是 必須七天之內降到 quota 以下,否則即使用量沒有超 limit(最高限額),也無 法再寫入或複製任何檔案。
改變檔案或目錄之讀、寫、執行之允許權
執行格式: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 可為檔案或目錄名稱。)
vi 使用簡介
_ <--- 游標所在位置 "aaa" [New file] |
基本的 vi 命令
命 令 | 意 義 |
vi filename | 編輯或建立檔案 |
vi +18 filename | 開啟檔案到第 18 行 |
vi +/"mustard greens" filename | 開啟檔案到第一個出現 "mustard green" 處 |
vi -r filename | 編輯上次編輯中斷的檔案 |
view filename | 開啟檔案為僅讀 |
h | 向左移一個字元 |
j | 向下移一個字元 |
k | 向上移一個字元 |
l | 向右移一個字元 |
ESC | 進入命令狀態 |
w | 向右移一個字 |
W | 向右移一個字(通過標點符號) |
b | 向左移一個字 |
B | 向左移一個字(通過標點符號 ) |
Return | 向下移一行 |
Backspace(倒退鍵) | 向左移一個字元 |
Space Bar(空白鍵) | 向右移一個字元 |
H | 移至螢幕頂端 |
M | 移至螢幕中間 |
L | 移至螢幕底部 |
Ctrl-F | 向前捲動一個螢幕 |
Ctrl-D | 向前捲動半個螢幕 |
Ctrl-B | 向後捲動一個螢幕 |
Ctrl-U | 向後捲動半個螢幕 |
a | 在游標右方插入字元 |
A | 在行尾游標右方插入字元 |
i | 在游標左方插入字元 |
I | 在行首游標左方插入字元 |
o | 在游標下面插入一行 |
O | 在游標上面插入一行 |
cw | 改變字 (一個字當中游標的右方部份) |
cc | 改變行 |
C | 改變一行中游標右方的部份 |
s | 以字串代替游標所在的字元 |
r | 以另一字元代替游標所在的字元 |
r-Return | 將行切斷 |
J | 將目前行和下一行連結 |
xp | 將游標所在字元與右邊字元對調 |
∼ | 改變字母大小寫 |
u | 取消前一個命令 |
U | 取消對行所作的所有改變 |
:u | 取消前一個最後一行命令 |
x | 刪除字元 |
dw | 刪除字 (一個字當中游標的右方部份) |
dd | 刪除行 |
D | 刪除本行中游標右邊的部份 |
:5,10 d | 刪除第 5 行到第 10 行 |
yy | yank 或複製行 |
Y | yank 或複製行 |
:5,10y | 將第 5 行到第 10 行 yank 起來 |
P | 將 yanked 或要刪除的行放在目前行的上面 |
p | 將 yanked 或要刪除的行放在目前行的下面 |
:2,6 co 8 | 複製第 2 行到第 6 行並置於第 8 行後 |
:4,5 m 6 | 將第 4 行到第 5 行搬移至第 6 行後 |
:set nu (或 set number) | 設定行號 |
:set nonu (或 set nonumber) | 隱藏行號 |
G | 到檔案的最後一行 |
21G | 到第 21 行 |
/string/ | 搜尋字串 |
?string? | 往回搜尋字串 |
n | 找尋字串下一次出現的地方 |
N | 找尋字串上一次出現的地方 |
s/search-string/replace-string/g | 搜尋字串並替換字串 |
^ | 表示行的最前頭 |
. | 表示目前之行 |
$ | 表示檔案最後一行 |
% | 表示整個編輯緩衝區 |
Ctrl-L | 清除螢幕 |
:r filename | 讀取檔案於游標所在行以後 |
:34 r filename | 34 行以後讀入檔案 |
:w | 儲存檔案 |
:w filename | 儲存於所指定的檔案 |
:wq | 儲存內容並跳出 vi |
ZZ | 儲存內容並跳出 vi |
:q! | 跳出 vi 但不儲存內容 |
Last update : Tuesday, 2000-09-26