linux 檔案操作及chmod許可權
阿新 • • 發佈:2019-01-29
檔案操作
檔案及目錄
- 相關命令
命令 | 說明 |
---|---|
touch | 建立檔案,可以一次性建立多個檔案 |
rm | 刪除檔案或目錄(需要加-r選項) |
cp | 拷貝檔案或目錄(需要加-r選項) |
mv | 移動檔案或目錄 |
mkdir | 建立目錄 |
rmdir | 刪除目錄,只能是空目錄 |
- 選項說明
- -f:表示強制,預設刪除操作是給予提示,新增此選項就不再提示
- *:表示模糊匹配任意
- -r:刪除或拷貝目錄時的遞迴操作
- -p:建立目錄時,需要建立中間目錄,例:mkdir -p 1/2/3
檔案流操作(sed)
格式
sed [選項/引數] 指令 檔案 -n:結合p一起使用 -i:修改原檔案,預設只會將內容顯示到緩衝區
指令
a:新增 d:刪除 p:結合-n一起使用,用來顯示一行 c:取代 s:替換指定的內容
例項
sed '1a xxxxxx' 1.txt #在第1行的下面新增內容‘xxxxx’,不會改變原檔案 sed -i '1a xxxxx' 1.txt #在第1行的下面新增內容‘xxxxx’,直接改變原檔案 sed '1,3a xxxxx' 1.txt #在第1行到第3行的下面新增內容‘xxxxx’,不會改變原檔案 sed -i '2d'
檢視檔案
- 相關命令
命令 | 說明 |
---|---|
cat | 從上到下,順序顯示全部內容 |
tac | 從下到上,逆序顯示全部內容 |
head | 顯示開頭的幾行,預設10行,使用‘-n’,n表示要顯示的行數,例:head -3 1.txt |
tail | 顯示末尾的幾行,用法同head |
nl | 功能同cat,額外顯示行號 |
wc | 統計顯示,行數 | 單詞數 | 位元組數 | 檔名 |
more | 一點一點顯示內容 |
less | 一點一點顯示內容 |
- more和less使用說明
- 顯示一屏就會停止
- q退出檢視
- 空格下翻一頁
- 回車下翻一行
- more檢視完畢時會自動退出,而less不會
- less比more多了上下按鍵單行的檢視
- 通常更多的情況是結合管道,如:ls -l /etc | more,將輸出的結果作為more的引數
使用者和使用者組
- 相關命令
命令 | 說明 |
---|---|
whoami | 檢視當前登入使用者 |
useradd | 新增使用者,會在/home目錄建立一個與使用者名稱相同的資料夾 |
userdel | 刪除使用者 |
su [-] | 切換到指定使用者,預設root。帶’-‘會將shell環境也進行切換 |
sudo | 以指定使用者(預設root)執行命令,但是並不會切換使用者,如:sudo 命令 |
passwd | 設定指定使用者密碼,預設設定root使用者,只有root使用者才有許可權 |
groupadd | 新增使用者組 |
groupdel | 刪除使用者組 |
gpasswd | 向群組新增/刪除指定使用者,如:gpasswd -a/-d test hello |
chown | 修改檔案擁有者[及所屬組],如:chown test[:test] 1.txt |
chgrp | 修改檔案所屬組,如:chgrp root 1.txt |
chsh | 修改使用者的shell,chsh test -s /sbin/nologin |
- 特殊檔案
/etc/passwd,改檔案存放了系統中所有的使用者資訊,一行表示一個使用者,具體解釋:
使用者名稱:密碼:使用者ID:使用者組ID:描述:家目錄:shell
/etc/group,改檔案存放了系統中所有的使用者組資訊,一行表示一個使用者組,具體解釋:
群組名:口令:組ID:組員 #口令處的x或空白都表示沒有密碼
/ect/shadow,使用者密碼檔案,依附於/etc/passwd,但是並不是由該檔案生成。
- 使用說明
使用者以及使用者組ID通常要大於500,小於500的系統已佔用
- 建立使用者時
- 禁止登陸:useradd test -s /sbin/nologin
- 指定UID:useradd test -u 600
- 指定家目錄:useradd test -d /xxx/yyy
- 修改使用者shell,chsh test -s /sbin/nologin
- 使用者身份標識:普通使用者$,超級使用者#
- 修改所有者時加’-R’,會進行遞迴操作
- 在使用使用者名稱和使用者組的地方通常可以使用UID和GID替代
檔案許可權
說明:linux的許可權有所有者、所屬組、其它的概念
許可權:所有檔案都涉及,可讀(r)、可寫(w)、可執行(x),-表示沒有對應許可權
原理:在ls -l檢視的結果集中,第一項表示許可權,分為3組,分別對應所有者、所屬組、其它
修改檔案許可權,使用命令chmod,格式:
chmod [身份] [修改] [許可權]
選項 | 說明 |
---|---|
身份 | |
u | 用有者 |
g | 所屬組 |
o | 其它 |
a | 所有 |
修改 | |
+ | 新增 |
- | 去掉 |
= | 設定 |
許可權 | |
r | 可讀 |
w | 可寫 |
x | 可執行 |
- chmod使用說明:-R表示遞迴操作
本質:使用一組(3位)八進位制的數來表示許可權(421),如:0755,詳解如下:
轉換為二進位制:0755 => 111 101 101 對應三個身份: 擁有者 所屬組 其它 每一組都有許可權: 可讀、可寫、可執行 許可權描述:擁有者可讀可寫可執行,所屬組可讀可執行,其它可讀可執行
簡寫:
chmod 0755 1.txt
掩碼(umask)
作用:限定了新建檔案的預設許可權,實際的許可權與掩碼相反(普通檔案減去可執行許可權)
命令:umask [value],檢視或設定掩碼,不加value表示檢視
例項分析
掩碼為:0022 => 000 010 010 新建目錄許可權: 111 101 101 新建檔案許可權: 110 100 100,因為檔案沒有必要預設就有可執行的許可權
命令的修改是臨時的,修改配置檔案才能永久生效
全域性配置:/etc/profile 單個使用者:~/.profile 或者 ~/.bash_profile,優先順序高於全域性配置
特殊屬性
有時候root都無法修改一個檔案,多半是添加了特殊許可權,可以使用lsattr檢視,使用chattr修改,其中最重要的一個許可權是保護許可權,就是不能更改(immutable),方式誤刪除
使用例項
lsattr:檢視特殊屬性 chattr:修改特殊屬性,+表示新增,-表示去掉,i表示不可更改 chattr -i file chattr +i file
連結檔案
命令:ln
作用:建立一個檔案或目錄的連結
格式:
ln [-s] 原檔案 新名稱
說明:使用ls -l檢視時,檔案型別為’l’的就是軟連結
硬連結:建立連結時不加-s引數,相當於一個檔案有幾個名字,極少用到 1.連結檔案的使用者級組資訊不變 2.不能給目錄新增 3.不能跨檔案系統 軟連結:建立連結時新增-s引數,一個檔案儲存了另一個檔案的路徑,類似於windows的快捷方式 1.軟連結檔案的使用者及組資訊為當前使用者及組 2.可以給目錄新增 3.可以跨檔案系統