Linux 小常識

1.檔名或資料夾分辨

檔名屬性示意:

-rwxrwxrwx    2 root   users 293 Oct 1921:24 test

 

符號

性質

備忘

-rwxrwxrwx

檔名屬性

具十個屬性:

1.檔名類型:

[ d ] 目錄。

[ - ] 檔案。

[ l ] 連結檔(link file)

[ b ] 裝置中可供儲存之週邊商品。。

[ c ]裝置中之序列埠設備。Ex: 鍵盤、滑鼠。

2.以下三個為一組

第一組(2-4): 檔名擁有者

第二組(5-7): 與檔名擁有相同組群的人

第三組(8-10):其他非本組群的使用者

3.代號名稱:

   r:可讀

    w:可寫

     x:可執行

若沒有某項權限,則以[ - ]取代之。

 

2

連結數

表連結占用的節點 (I-node)

root

檔名擁有者

-

users

檔名所屬群組

-

293

檔名容量

-

Oct 1921:24

最後修改時間

-

test

檔名

-

 

 

 

 

 

2.檔名或資料夾操作

linux常用指令

指令

操作結果

語法

chgrp

改變群組名稱

chgrp [群組名稱] [檔名]

chown

改變擁有者

1. chown [-R] [帳號名稱、檔名或目錄][檔名或目錄]

2. chown [-R] [ID:群組名稱] [檔名或目錄]: 可同時改變擁有者和組群名稱

3. -R:改變同目錄下所有檔名的擁有者

chmod

改變權限

1. 屬性數質

r=4  w=2  x=1

2. chmod [xyz] [檔名]

xyz: 屬性數質相加  

2.      文字類型

chmod [ugoa] [+ - =] [rwx] [檔名]

u (user)    

g (group)

   o (others)

    a (all)

+ (加入)    - (減去)     = (設定)

※不同設定的組別需用逗號分開

 

3. 預設定拿掉所有人的X屬性則

chmod a- x

 

cd

變換目錄

cd [相對或絕對路徑]

cd ../home:相對路徑寫法

cd /var/www/html:絕對路徑寫法

cd ..:回到上層目錄

cd :回到使用者家目錄

cd ~:回到使用者家目錄

cd ~[檔名]:回到[檔名]這個使用者之家目錄

pwd

顯示目前所在目錄

pwd

mkdir

建立目錄

mkdir [目錄名稱]

※目錄需一層一層建立

rmdir

刪除裡面室空的目錄

rmdir [目錄名稱]

※把所有的目錄下的東都殺掉為 rm-rf

ls

顯示檔名名稱屬性

ls [-ailS]

-a:列出全部檔名(連同隱藏檔)

-i:列出inode

-l:詳細列出檔名大小、屬性資料等

-S:以檔名大小排序

cp

複製檔名或目錄

cp [-drsu] [來源檔名] [目的檔名]

-d:完全拷貝link這個結徑到目的(落未加-d 則會將link到的原始檔名考被到目的)

-r:目錄拷貝

-s:做成連結檔(ln指令功能相同)

-u:當來源檔較新,才會執行拷貝動作

rm

刪除

rm [-fir][檔名]

-i:提供使用者確認(預設)

-r:循環刪除,刪到沒東西為止

-f:強力刪除

mv

移動

1.mv [-u] [來源檔] [目的檔]

-u;來源檔比目的檔還新才會執行移動動作

2. mv[舊檔名][新檔名]

可用來改名

※若有兩個檔名要移動,則最後一個才是最終的目標,其他的都是來源

 

 

 

 

cat

由第一行開始
顯示檔案

cat [-n] [檔名]

-n:顯示時,連行號一同輸出

tac

由最後一行開始
顯示

tac [檔名]

more

一頁一頁
顯示檔名

more [檔名]

less

類似more
可前後翻頁

less [檔名]

可使用[pageup][pagedown]

head

顯示檔名頭幾行

head [-n 想顯示的行數] [檔名]

-n:顯示行(未加-n 預設情況下,顯示頭十行)

tail

顯示檔名尾幾行

tail [-n想顯示的行數] [檔名]

-n:顯示行

nl

顯示的時候順道輸出行號

nl[擋名]

ln

link

ln[-s] [來源檔] [目的檔]

[-s] : 提供symbolic 的連結,無此參數就屬於 hard link

hardlink: 來源檔被刪,可正常顯示

Symboliclink: 來源檔被刪,無法正常顯示。

umask

使用者在建立檔案或目錄的時候的屬性預設值

1. umask

查看預設值

2. umask [數值]

※該預設值需要減到的權限

chattr

改變檔案特殊屬性

chattr [+ - =] [ASacdijsu] [檔名]

+:增加  - :減少   =:設定

A:檔案存取時間 (access) 不可被修改

S:資料同步寫入磁碟中

a:資料只能增加,不能刪除。(root限定)

c:存取時自動壓縮,讀取時自動解壓縮

d:備份(dump)程序被執行時,會備份

i:不被刪除、更名、連連結也無法寫入或新增資料

j:寫入時先記錄在journal

s:完全移出硬碟空間

u:與s相反,資料還在硬體空間

 

lsattr

查看檔名特殊屬性

lsattr [-aR] [檔名]

-a:將顯示隱藏檔屬性

-R:連同子目錄屬性的資料列出

which

查看可執行檔名
之位置

which [檔名]

whereis

查看檔名位置

whereis [-bmsu] [檔名]

-b:只找binary檔名

-m:只找說明檔manual路徑下的檔名

-s:只找source來源檔案

-u:找尋沒有說明的檔名

3.Vi編寫
(1)
Vi說明圖

ˋ

系統模式

進入模式系統

可使用操作

一般模式

進入vi檔案即為一般模式

可以利用按鍵來移動游標、複製、貼上、刪除、搜尋

編輯模式

需按下[i , l, o, O, a , A , r , R ],等字母及可進入編輯膜式。回到一般模式需按下[Esc]

畫面左下方出現[INSERT REPLACE]可以輸入任意字元

指令模式

一般模式中輸入[ : / ]

搜尋資料、讀取、存檔、大量取代字元、離開vi、顯示行號

(2)建立vi

語法: vi [檔名]

※此時左下角會若為新檔案顯示[New File];存在的檔案則會顯示目前檔名、行數與自元數.

vi 文書處理指令

Vi指令

使用vi進入一般模式

一般模式

 

ctrl + f

向前一頁

ctrl + b

向後一頁

ctrl + d

向前半頁

ctrl + u

向後半頁

0

移動到本行第一個字元

$

移動到本行最後一個字元

Shift+G

移動到檔案最後一行

nG

移動到檔案第n

n<enter>

往下移動n

/word

游標後尋找”word”字串

?word

游標前尋找”word”字串

 

 

進入編輯模式

 

i I

插入編輯

a A

增加編輯

o O

插入新的一行

r R

取代編輯

Esc

退出編輯模式

指令列命令模式

 

:w

資料寫入硬碟

:w!

資料強制寫入硬碟

:q

離開

:q!

強制離開(修過檔案不想存)

:wq

儲存後離開

:w [filename]

儲存成另一個檔名

:r [filename]

讀入  檔案

:set nu

顯示行號

:set nonu

取消行號

n1,n2 w [filename]

n1~n2儲存成name

yy

複製游標所在的那一行(常用)

nyy

n 為數字。複製游標所在的向下 n 列,例如 20yy 則是複製 20 (常用)

u

復原前一個動作。(常用)

[Ctrl]+r

重做上一個動作。(常用)

:n1,n2s/word1/word2/g

n1 n2 為數字。在第 n1 n2 行之間尋找 word1 這個字串,並將該字串取代為 word2 !舉例來說,在 100 200 行之間搜尋 vbird 並取代為 VBIRD 則:
:100,200s/vbird/VBIRD/g』。(常用)

:1,$s/word1/word2/g

從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 (常用)

:1,$s/word1/word2/gc

從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 !且在取代前顯示提示字元給使用者確認 (confirm) 是否需要取代!(常用)