1. 程式人生 > >Liunx學習筆記之文件權限與I/O重定向

Liunx學習筆記之文件權限與I/O重定向

ima 所有 讀取 區別 命令執行 com ror 重定向 cd 命令

一、文件權限

1. 文件權限

在 Linux 中有四種訪問權限,列舉如下

  • 可讀取:r,Readable
  • 可寫入:w,Writable
  • 可執行:x,Execute
  • 無權限:-

我們可以使用 ls -l 文件名 命令查看一個文件的權限,其中顯示內容的第一個字段就是對文件權限的描述,一個例子如下:

技術分享圖片

2. 修改文件權限

(1)權限類型的表示方法

  • 數字表示法:將所有者、所屬組和其他人的訪問權限分別轉化為八進制數字,再根據八進制數字轉化為十進制數字。例如:rwxrwxr-x -> (111)(111)(101) -> (7)(7)(5) -> 775
  • 文字表示法:所有者使用 u 表示(User)、所屬組使用 g 表示(Group)、其他人使用 o 表示(Other);讀取權限使用 r 表示(Read)、寫入權限使用 w 表示(Write)、執行權限使用 x 表示(Execute)

(2)權限類型修改命令

在 Linux 中修改文件權限可以使用 chmod 權限,具體使用方法如下:

  • 數字表示法:chmod 權限的數字表示法 文件名,例如:chmod 664 file.txt
  • 文字表示法:直接以例子來說明

增加所有者的執行權限:chmod u+x file.txt

減少所屬組的寫入權限:chmod g-w file.txt

重新指定其他人的訪問權限:chmod o=rw file.txt

(3)目錄權限

修改目錄權限所使用的語法和上面是完全一致的,不同的是符號的含義有所不同

r:可以使用 ls 命令列出目錄中的內容

w:可在目錄中新建、刪除、修改文件

x:可以只用 cd 命令切換到目錄

-:無任何權限

註意:若修改目錄權限時發現該目錄含有子目錄並需要一同修改權限,則需要使用 -R 參數

3. 指定文件默認權限掩碼

權限掩碼由4個八進制數字組成,一般是用來指定文件的默認權限使用,一般而言,新建文件的默認權限為 664,新建目錄的默認權限為 775,我們可以使用 umask 命令檢查和修改文件權限
一個常用的公式如下:現有權限 - 權限掩碼 = 默認權限

三、I/O重定向

1. I/O類型

  • 標準輸入(Standard Input,stdin)
  • 標準輸出(Standard Output,stdout)
  • 標準錯誤輸出(Standard Error Output, Error stderr)

2. I/O重定向

(1)輸出定向 >

一般在 Linux 中執行命令或程序默認是將結果輸出到屏幕,但有時候會希望將結果保存到文件便於保存、分析和處理數據,這時候就需要用到輸出定向了

例如:ls -al /etc 默認是將 etc 目錄下的所有文件信息輸出到屏幕,而使用輸出定向後 ls -al /etc > ./file.txt ,則是將結果直接輸出到 file.txt 文件

技巧:可以使用命令 cat > ./file.txt 創建一個簡單的文本編輯器向文件寫入數據

(2)附加輸出定向 >>

附加輸出定向和輸出定向十分相似,區別僅僅在於輸出定向會將舊數據覆蓋,而附加輸出定向會將新數據添加到原數據後,相當於追加數據

(3)輸入定向 <

輸入定向用於將鍵盤或文件提供給命令執行,例如命令 wc < file.txt 可以統計 file.txt 文件中的行數、字數等

(4)附加輸入定向 <<

附加輸入定向可以讓你自定義一個字符串,系統在收到此字符串前,會持續將數據輸入到文件,此功能常用於電子郵件系統中

(5)錯誤輸出定向 &>

Liunx學習筆記之文件權限與I/O重定向