Linux C/C++編程之(四)常用命令之鏈接命令和權限命令

一、鏈接文件命令:ln

  • 英文原意:link
  • 命令所在路徑:/bin/link
    在這裏插入圖片描述
  • 執行權限:所有用戶
  • 功能描述:生成鏈接文件
  • 語法:
    • ln 源文件 目標文件
    • -s 創建軟鏈接
    • 不加 -s 創建硬鏈接

例子:

  • 創建文件hello的軟鏈接hello.soft:ln -s hello hello.soft
  • 創建文件hello的硬鏈接hello.hard:ln hello hello.hard
    在這裏插入圖片描述
  • 軟鏈接 前面是 l 開頭的(link),而硬鏈接是 - 開頭,表示文件
    在這裏插入圖片描述
  • 軟鏈接所有者和所屬組具有全部操作的權限,rwxrwxrwx;而硬鏈接不是。在這裏插入圖片描述
  • 軟鏈接類似與 Windows 的快捷方式,有一個明顯的箭頭指向,而指向的是源文件;硬鏈接文件除了文件名與源文件不一樣,其餘所有信息都是一樣的。類似於 cp 複製操作。但是又和複製不一樣,硬鏈接可以同步更新。
    在這裏插入圖片描述
  • 查看硬鏈接計數,可以看到硬鏈接和源文件一樣,都是2,軟鏈接則是1
    在這裏插入圖片描述
  • 通過 ls -i 操作,來查看 文件的 i 節點。發現硬鏈接和源文件的 i 節點是相同的,而軟鏈接與源文件的 i 節點是不同的
    在這裏插入圖片描述

二、更改文件或目錄權限命令:chmod

  • 英文原意:change the permissions mode of a file
  • 命令所在路徑:/bin/chmod
    在這裏插入圖片描述
  • 執行權限:所有用戶
  • 功能描述:改變文件或目錄權限
  • 語法:
    • chmod {ugoa}{±=}{rwx} 文件或目錄
    • mode=421 文件或目錄
    • -R 遞歸修改

注意:不是每一個Linux用戶都有權限更改某個文件或目錄權限,能更改文件或目錄權限的只有兩種用戶:
①、文件的所有者。
②、root用戶(root用戶是linux系統權限最大的用戶)。

  • u:表示所有者,g:表示所屬組,o:表示其他人,a:表示所有人;
  • r:讀權限,w:寫權限,x:執行權限;權限可以用數字表示,其中 r 表示4,w表示2,x表示1,分別是2的0次方,1次方,2次方(二進制數)。

rwx 權限的數字就是 7,具有 rw- 權限的數字是 6,具有 r-- 權限的數字是 4

例子:

  • txt目錄下的hello,賦予所屬用戶/所屬組/其他人 x 權限。
chmod u+x,g+x,o+x hello

在這裏插入圖片描述

  • 用數字操作的話,也就是說775
chmod 775 hello

在這裏插入圖片描述

三、改變文件或目錄所有者/所屬組的命令:chown/chgrp

  • 英文原意:change file ownership
  • 命令所在路徑:/bin/chown
    在這裏插入圖片描述
  • 執行權限:所有用戶
  • 功能描述:改變文件或目錄的所有者
  • 語法:
    • chmod 用戶 文件或目錄

注意:能更改文件或目錄的所有者用戶是 root


  • 英文原意:change file group ownership
  • 命令所在路徑:/bin/chown
    在這裏插入圖片描述
  • 執行權限:所有用戶
  • 功能描述:改變文件或目錄的所屬組
  • 語法:
    • chgrp 用戶組 文件或目錄

注意:能更改文件或目錄的所有者用戶是 root

四、缺省權限命令:umask

  • 英文原意:the user file-creation mask

  • 命令所在路徑:shell 內置命令

  • 執行權限:所有用戶

  • 功能描述:顯示、設置文件的缺省權限

  • 語法: umask -S

    • -S 以rwx形式顯示新建文件的缺省權限
      在這裏插入圖片描述

注意:以目錄txt爲例,其中umask執行顯示結果是 0002,第一個0表示特殊權限,後面的 022 表示權限的掩碼值,
計算方式是用 777 減去 002 得到 775(是每一位相減),即 rwxrwxr-x,這個值的數字表示就是755。
在這裏插入圖片描述

也就是說創建一個新文件默認權限爲 rwxrwxr-x,下面創建一個文件來驗證一下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章