1. 程式人生 > >Linux基礎 : 目錄 檔案 許可權 基本命令

Linux基礎 : 目錄 檔案 許可權 基本命令

一、Linux目錄儲存 檔案型別 檔案許可權:

一:認識Linux,區別windows:

  1. Linux:是服務版本的作業系統;命令列操作;核心相對較小;開源。
  2. Windows:個人版作業系統;圖形化操作介面;內科程式碼冗雜;閉源。
  3. Linux:萬物皆檔案;Windows:萬物皆視窗。

二:目錄儲存結構:

  1. 倒狀樹結構:

三:根目錄下檔案:

/bin:儲存系統命令對應的可執行檔案

/home:普通使用者的家目錄

/root:root使用者的家目錄

/etc :系統的配置檔案

/dev :裝置介面

/mnt :臨時掛載點

/ proc:虛擬目錄(以程序為單儲存記憶體的對映)

/usr :第三方外掛檔案

/lib:庫檔案

/boot:系統啟動時所需要的核心映象檔案

四:基礎命令:

pwd :顯示當前工作目錄的絕對路徑。

//絕對路徑:以“/”開始的路徑,即從根目錄開始

//相對路徑:以任何開始都是相對路徑

cd path :cd (空格) 路徑 :切換當前工作目錄

ls :顯示當前目錄下檔案

五:檔案型別:(5類)

  1. - 普通檔案: .c  .txt  .h  .cpp  .java  .class  .doc  .pdf
  2. d 目錄檔案: 即Windows下的資料夾,Linux下叫目錄檔案
  3. p 管道檔案:程序
  4. l 連結檔案: 軟連結 硬連結
  1. )軟連結(符號symbol連結):相當於Windows的快捷方式

ln –s 原檔案 連結檔名

軟連結和原檔案使用不同的inode結點,二者不是同一個檔案。

通過原檔案或連結檔案可以修改檔案呃逆榮,但是原檔案刪除或者移動,則軟連結失效。

  1. )硬連結:相當於檔案的別名,不允許對目錄建立硬連結

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通訊的介面

 

  1. 基礎命令:ll或者ls – l (顯示檔案的詳細資訊)

 

例如:ls – l 顯示如下內容:

 

綠色字型分別表示:

檔案型別 檔案許可權 連結數量 所有者 所屬的使用者組

大小(位元組單位) 最後修改時間 檔名

 

  1. 使用者、使用者組的通俗解釋:

一個家庭中,爹,媽,兒子三個檔案。

每個檔案都是他這個檔案所有者。爹檔案的所有者是爹,媽檔案的所有者是媽,兒子檔案的所有者是兒子。

這個家庭(只有這3個人)組成這個使用者組。

爹是一家之主,是這個組的代表。所有可以說:媽和兒子都屬於爹這個使用者組。

  1. root使用者:超級使用者,“天神的存在”。
  2. 檔案許可權:r read; w:wirte ;  x: execute

二、檔案許可權:

 

一:圖中文字解釋:

屬主:即檔案所有者的許可權。

組使用者:檔案所屬使用者的許可權。

其他人許可權。

二:圖中影象解釋:

       一共有group1 group2 group3 這三個使用者組。

       對於group1(組)中的stu2(使用者)下的main.c(檔案)來說 :

  1. 屬主也就是檔案所有者為:stu2
  2. 組使用者為:stu1 和stu6
  3. 其他使用者為: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 原檔案的路徑/檔名 目的檔案/新檔名(剪下)

  1. mv 原檔案的路徑/檔名 原檔案路徑/新檔名(重名民)

  

5.拷貝:cp(copy)

  1. )拷貝檔案:

cp 原檔案路徑/檔案 目的路徑

例如:cp /home/zdw/test/mian.c ./   將根目錄下家目錄下zdw目錄下test目錄下的mian.c檔案拷貝到當前路徑下

       2.)拷貝目錄下的所有檔案:

cp –r 原目錄路徑 目的路徑 (同樣 –r為遞迴的意思)

 

6.檔案屬性修改命令:

有4種屬性修改:許可權mode,所有者user, 使用者組group, 檔名name

  1. 修改檔案所有者:chown newuser filename
  2. 修改檔案使用者組:chgrp newgroup filename
  3. 許可權修改:2種方式:字元 數字
  1. )字元方式: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

  1. 三種操作模式:

  1. )末行模式(底行模式):

: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