Liunx學習筆記之文件權限與I/O重定向
一、文件權限
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重定向