Linux基礎 : 目錄 檔案 許可權 基本命令
一、Linux目錄儲存 檔案型別 檔案許可權:
一:認識Linux,區別windows:
- Linux:是服務版本的作業系統;命令列操作;核心相對較小;開源。
- Windows:個人版作業系統;圖形化操作介面;內科程式碼冗雜;閉源。
- Linux:萬物皆檔案;Windows:萬物皆視窗。
二:目錄儲存結構:
- 倒狀樹結構:
三:根目錄下檔案:
/bin:儲存系統命令對應的可執行檔案
/home:普通使用者的家目錄
/root:root使用者的家目錄
/etc :系統的配置檔案
/dev :裝置介面
/mnt :臨時掛載點
/ proc:虛擬目錄(以程序為單儲存記憶體的對映)
/usr :第三方外掛檔案
/lib:庫檔案
/boot:系統啟動時所需要的核心映象檔案
四:基礎命令:
pwd :顯示當前工作目錄的絕對路徑。
//絕對路徑:以“/”開始的路徑,即從根目錄開始
//相對路徑:以任何開始都是相對路徑
cd path :cd (空格) 路徑 :切換當前工作目錄
ls :顯示當前目錄下檔案
五:檔案型別:(5類)
- - 普通檔案: .c .txt .h .cpp .java .class .doc .pdf
- d 目錄檔案: 即Windows下的資料夾,Linux下叫目錄檔案
- p 管道檔案:程序
- l 連結檔案: 軟連結 硬連結
- )軟連結(符號symbol連結):相當於Windows的快捷方式
ln –s 原檔案 連結檔名
軟連結和原檔案使用不同的inode結點,二者不是同一個檔案。
通過原檔案或連結檔案可以修改檔案呃逆榮,但是原檔案刪除或者移動,則軟連結失效。
- )硬連結:相當於檔案的別名,不允許對目錄建立硬連結
ln 原檔案 連結檔名
硬連結和原檔案使用相同的inode結點,說明兩個檔案是同一個檔案,刪除原檔案對硬連結無影響。
inode: 1.每個檔案都會佔有一個inode,檔案內容由inide的記錄來指向。
2.要讀取該檔案,要經過目錄記錄的檔名來指引到正確的inode號碼3.才能讀取
檔名只與目錄有關,檔案內容由inode有關。
Linux檔案系統:EXT4
檔案系統中含有inode/block/super block
Inode:記錄檔案的許可權和相關屬性。
Block :記錄檔案的實際內容 4k的大小
Superblock:檔案系統的整體資訊,包括inode和block的總量,使用量,剩餘量。
/*啊寫不下去了,太tmd多了,詳情請參考《鳥哥的Linux私房菜》201頁*/
5.裝置檔案:
b 塊裝置:可供儲存的裝置介面 例如:磁碟硬碟u盤
c字元裝置:串列埠裝置 例如:鍵盤滑鼠
s套接字:支援tcp/ip網路通訊的基本操作單元,進行tcp/IP通訊的介面
- 基礎命令:ll或者ls – l (顯示檔案的詳細資訊)
例如:ls – l 顯示如下內容:
綠色字型分別表示:
檔案型別 檔案許可權 連結數量 所有者 所屬的使用者組
大小(位元組單位) 最後修改時間 檔名
- 使用者、使用者組的通俗解釋:
一個家庭中,爹,媽,兒子三個檔案。
每個檔案都是他這個檔案所有者。爹檔案的所有者是爹,媽檔案的所有者是媽,兒子檔案的所有者是兒子。
這個家庭(只有這3個人)組成這個使用者組。
爹是一家之主,是這個組的代表。所有可以說:媽和兒子都屬於爹這個使用者組。
- root使用者:超級使用者,“天神的存在”。
- 檔案許可權:r read; w:wirte ; x: execute
二、檔案許可權:
一:圖中文字解釋:
屬主:即檔案所有者的許可權。
組使用者:檔案所屬使用者的許可權。
其他人許可權。
二:圖中影象解釋:
一共有group1 group2 group3 這三個使用者組。
對於group1(組)中的stu2(使用者)下的main.c(檔案)來說 :
- 屬主也就是檔案所有者為:stu2
- 組使用者為:stu1 和stu6
- 其他使用者為:stu3,stu4,stu6.
三:3個許可權:r讀許可權 w寫許可權 x執行/可操作許可權(普通/目錄檔案)
注意:Linux作業系統下每一個檔案針對不同的使用者提供不同的許可權。
三、基本檔案操作命令:
普通檔案 目錄檔案
1..建立:touch filename.name mkdir dirname
2.刪除:rm filename.name 空目錄:rm dirname 非空:rm –r dirname(-r遞迴)
3.檢視:cat more less head tail ls
(1)cat filename.name 將檔案中的內容顯示到終端上(
(2)more filename.name 分佈顯示
(3)less filename.name 以文字檢視器的方式顯示
(4)head –n filename.name檢視檔案的前n行
(5)tail –n filename.name 檢視檔案的後n行
4.剪下/重新命名:mv(move)
(1)mv 原檔案的路徑/檔名 目的檔案/新檔名(剪下)
- mv 原檔案的路徑/檔名 原檔案路徑/新檔名(重名民)
5.拷貝:cp(copy)
- )拷貝檔案:
cp 原檔案路徑/檔案 目的路徑
例如:cp /home/zdw/test/mian.c ./ 將根目錄下家目錄下zdw目錄下test目錄下的mian.c檔案拷貝到當前路徑下
2.)拷貝目錄下的所有檔案:
cp –r 原目錄路徑 目的路徑 (同樣 –r為遞迴的意思)
6.檔案屬性修改命令:
有4種屬性修改:許可權mode,所有者user, 使用者組group, 檔名name
- 修改檔案所有者:chown newuser filename
- 修改檔案使用者組:chgrp newgroup filename
- 許可權修改:2種方式:字元 數字
- )字元方式:chmod a/u/g/o+/-/= rwx(及其子集均可) filename
a :所有使用者
u :檔案所有者(也稱屬主)
g :使用者組
o :其他使用者
+ :新增許可權
- :去掉許可權
= :設定許可權
例如:chmod a+rw main.c (給main.c檔案的所有使用者新增rw許可權)
2.)數字方式:
rwx rwx rwx (每一個rwx對應一個0~7)
rwx
1 0 0 :4只讀
0 1 0 :2只寫
0 0 1 :1只執行
例如:chmod 740 main.c
(main.c檔案的所有者許可權:rwx ;使用者組許可權:r;其他使用者:---無許可權)
7.普通檔案內容的編輯:vi / vim
vim filename.name
- 三種操作模式:
- )末行模式(底行模式):
:q 退出
:w 儲存
:wq 儲存並且退出
:q!強制退出
:w newfile 另存為
:set nu 顯示行號
:set nonu 不顯示行號
:linenum(數字) 游標直接到linenum行
:num, $/oidstring/newstring 只替換每一行遇到的第一個
:num, $/oidstring/newstring/g 全文替換
/string 向下搜尋
?string 向上搜尋
2.)命令列模式:(詳情《鳥哥的Linux私房菜》279頁)
A:文字操作:
dd 刪除游標所在整行
n dd 刪除n行
yy 拷貝一行
n yy 拷貝n行
p 貼上
u撤銷上一次操作
shift+c 刪除當前游標到行尾並進去編輯模式
cc 刪除當前行並進去編輯模式
r 替換一個字元
shift + r 進入替換模式
cw 刪除一個單詞並進入編輯模式
B:游標操作:
Shift+4 將游標移動到當前行的最後
Shift+6 將游標移動到當前行的行頭
Shift+g 將游標移動到檔案的最後一行
gg 將游標移動到檔案的第一行
Shift+h 當前螢幕第一行
Shift+l 最後一行
Shift+m 中間
Ctrl+f 向下翻1頁
Ctrl+b 向上翻1頁
d shift + g 刪除當前行到檔案尾的內容
d gg 刪除當前行到檔案頭的內容
8.系統配置檔案:
(1)/etc 對所有使用者有效
(2)/home/user/ 對user使用者有效、
9.檔案壓縮:tar gzip
tar :
c 建立
f 指定目標為檔案而不是裝置
x 釋放
t 僅檢視包中的內容,而不釋放
v 顯示詳細過程
(1)打包:tar cf xxxxxx.tar filelist ----> xxxxxxx.tar
(2)壓縮:gzip xxxxxx.tar -----> xxxxxx.tar.gz
(3)解壓:gzip - d xxxxxxx.tar.gz
(4)解包:tar xf xxxxx。Tar
GUN版本:
tar z 直接壓縮
tar zcf xxxxx.tgz filelist
tar zxf xxxxxx.tgz