用戶權限修改
chmod修改文件權限
文字設定法
- u:所有者
- g:所屬組
- o:其他人
- a:所有
- +:添加權限
- -:刪除權限
- =:賦予權限
數字設定法
- r:4
- w:2
- x:1
- 每一組權限:0~7
- 舉例:
添加新用戶和新用戶組
-
添加新用戶:
sudo adduser 新用戶名
-
查看用戶:
- /home目錄下,多出新用戶的宿主目錄。
- 在 /etc/passwd 文檔的末尾,新增新用戶相關信息。
- 在 /etc/group 文檔中,新增用戶組相關信息。
-
刪除用戶
sudo deluser 用戶名
-
在 /etc/passwd 文件中,會對應刪除相應用戶數據。
-
在 /etc/passwd 文件中,會對應刪除相應用戶組數據。
-
/home目錄下,新用戶的宿主目錄不會自動被刪除,可以使用
sudo rm -rf
-
-
擴展:
-
添加用戶組:
sudo addgroup 組名
-
刪除用戶組:
sudo delgroup 組名
-
修改文件所有者和所屬組
修改所有者:
語法:
sudo chown 用戶名 文件名
修改所屬組:
語法:
sudo chgrp 用戶組名 文件名
一次性修改所有者和所屬組
語法:
sudo chown 用戶名:組名 文件名
查找和過濾
find
語法:find 搜索路徑(絕對、相對)參數 條件
find參數:
- -name:按文件名搜索
- 通配符“*”:匹配0~N個任意字符。
- 通配符“?”:匹配1個任意字符。
-
-type:按Linux文件類型搜索
-
搜索普通文件,使用 f 。
find ./ -type f
-
搜索除普通文件之外的文件,按7中Linux文件類型。
find /tmp -type s #搜索套接字文件 find /dev -type c #搜索字符設備文件 find ./ -type p #搜索管道文件
-
-
-size:按文件大小搜索
-
注意事項:
-
取范圍時,要有兩個 -size參數。
-
k必須小寫,M,G大寫。
find ./ -size +3M -size -5M find ./ -size +3k -size -5k
-
-
混合多個參數搜索:
find ~/ -name "*2015.jpg" -size +1k -size -2M
-
-maxdepth:指定搜索層級深度
find ~/ -maxdepth 4 -name "*2015.jpg" -size +1k -size -2M
-
-exec:將find搜索的結果,指定給某一個其他命令執行。
-
語法:find 命令 -exec shell命令 {} ;
find ~/ -maxdepth 4 -name "*2015.jpg" -size +1k -size -2M -exec ls -lh {} \;
-
語法:find 命令 -ok shell命令 {} ; 會在執行命令時詢問
-
-
“|”結合 xargs 實現將find搜索的結果,指定給某一個其他命令執行。
find ~/ -maxdepth 4 -name "*2015.jpg" -size +1k -size -2M | xargs ls -lh
-
? 如果創建了帶有特殊字符的文件,再進行檢索需要修改 find 搜索結果集的分割條件。
-
創建帶有空格的文件:
-
使用 find | xargs 搜索,報錯。
-
解決:修改 find 搜索結果集的分割條件。 -print0
find ./ -type f -print0 | xargs -0 ls -l;
-
-
grep
按文件內容搜索
-
語法:grep -r “關鍵字” 搜索目錄位置
grep -r "love" ./
-
-n:顯示所在行行號。
-
-i:忽略大小寫。
grep -r "LOVE" ./ -n -i
-
壓縮和解壓縮
Linux 操作系統中,默認支持的壓縮格式:gzip、bzip2。默認這兩種壓縮格式只能壓縮單個文件,不支持打包。壓縮后源文件消失。
在 Linux/unix 中壓縮、解壓縮,借助 tar 命令完成。tar 的作用是“打包”。
壓縮
-
格式:
tar zcvf 壓縮包名.tar.gz 壓縮原材料 tar jcvf 壓縮包名.tar.bz2 壓縮原材料
- z:使用 gzip 壓縮格式。
- j:使用bzip2壓縮格式。
- c:創建壓縮包。
- v:顯示壓縮過程。
- f:用來指定壓縮包包名。f 必須是最后一個參數,后面緊跟壓縮包名稱。
解壓縮
-
格式:
tar zxvf 壓縮包名.tar.gz tar jcvf 壓縮包名.tar.bz2
-
x:解壓縮。
-
直接解壓縮到當前目錄
-
解壓縮到指定目錄,使用參數 -C:
-
tar zxvf 壓縮包名.tar.gz 壓縮原材料 -C 目錄
-
vim編輯器
vim的三種工作模式
- 命令模式:
- 進入 vim/vi 后自動處于的一種模式。
- 在此種模式下。用戶鍵入的所有內容都被當做命令看到。
- 編輯模式
- 編寫代碼。
- 末行模式
- 在此種模式下,鍵入的指令都被當做末行命令。
切換編輯模式
-
i:改變工作模式為編輯模式,向光標 前 插入數據。
-
a:改變工作模式為編輯模式,向光標 后 插入數據。
-
o:改變工作模式為編輯模式,向光標所在行的 下一行 插入數據。
-
I(大i):改變工作模式為編輯模式,向光標所在行的 行首 插入數據。
-
A:改變工作模式為編輯模式,向光標所在行的 行尾 插入數據。
-
O:改變工作模式為編輯模式,向光標所在行的 上一行 插入數據。
-
s:改變工作模式為編輯模式,刪除光標所選字符。
-
S:改變工作模式為編輯模式,刪除光標所在行。
保存和退出
- 命令模式:
- ZZ
- 末行模式:
- w:保存
- q:退出
- q!:強制退出
- x:保存、退出
光標移動
- hjkl:左下上右
- G:文件的末行
- gg:文件的首行
- gg=G:自動排版(縮進對齊)
- 0:不改變工作模式,將光標移動至本行行首。
- $:不改變工作模式,將光標移動至本行行尾。
- NG:不改變工作模式,跳轉至第N行。
- 末行模式,跳轉至指定行:
- :N回車,跳轉到第N行。
撤銷、反撤銷
- 撤銷:命令模式下 u
- 反撤銷:ctrl -r
復制、粘貼
- 單行復制:
- 光標移動至待復制行,放在任意字符上,按 yy 復制本行,移動光標至目標位置,p 向下粘,P 向上粘。
- 多行復制:
- 光標移動至待復制多行的首行任意字符上,按 Nyy 復制多行,移動光標至目標位置,p 向下粘,P 向上粘。
- 片段復制:
- 光標移動至待復制區域的首個字符上,先按 v ,再按 hjkl ,移動光標,選中待復制區域,按 y 復制,p 向后粘,P 向前粘。
- 復制一個單詞:
- 光標移動至待復制單詞首字符上,按 yw 復制一個單詞,移動光標至目標位置,p 向后粘,P 向前粘。
剪切、刪除
vim 中剪切不粘貼就是刪除。
- 單行剪切:
- 光標移動至待剪切行,放在任意字符上,按 dd 剪切本行,移動光標至目標位置,p 向下粘,P 向上粘。
- 多行剪切:
- 光標移動至待剪切多行的首行任意字符上,按 Ndd 剪切多行,移動光標至目標位置,p 向下粘,P 向上粘。
- 片段剪切:
- 光標移動至待剪切區域的首個字符上,先按 v ,再按 hjkl ,移動光標,選中待剪切區域,按 d 剪切,p 向后粘,P 向前粘。
- 剪切一個單詞:
- 光標移動至待剪切單詞首字符上,按 dw 剪切一個單詞,移動光標至目標位置,p 向后粘,P 向前粘。
查找、替換
查找
- 想象一個關鍵詞,在文件中查找。
- 命令模式下,輸入“/”,按 n 查找下一個。
- 看到一個關鍵詞,查找在文件后續出現的位置。
- 將光標放在任意字符上:
- 使用 * 向后查找。
- 使用 # 向前查找。
- 將光標放在任意字符上:
替換
-
單行替換
-
將光標置于待替換行的任意位置,進入末行模式
#:s/舊字符串/新字符 #只能替換首個 #想替換全部,使用 /g #:s/舊字符串/新字符/g #舉例: :s/append/add/g
-
-
通篇替換
#:%s/舊字符串/新字符/g #舉例: :%s/append/add/g
-
多行替換
#:起始行號,終止行號s/舊字符串/新字符/g #舉例: :173,180s/append/add/g
分屏
-
橫屏分:
- sp:直接將當前文件劃分為兩個屏幕。
- sp 新文件名:將新文件和現有文件,在同一個 vim 中打開。
-
豎屏分:
- vsp
- vsp 新文件名
-
切換:ctrl + ww
-
退出:
- 在哪個分屏窗口執行,q 或 wq,就退出哪個窗口。
- wqall,可以一次性退出所有窗口。
/add/g
-
通篇替換
#:%s/舊字符串/新字符/g #舉例: :%s/append/add/g
-
多行替換
#:起始行號,終止行號s/舊字符串/新字符/g #舉例: :173,180s/append/add/g
分屏
- 橫屏分:
- sp:直接將當前文件劃分為兩個屏幕。
- sp 新文件名:將新文件和現有文件,在同一個 vim 中打開。
- 豎屏分:
- vsp
- vsp 新文件名
- 切換:ctrl + ww
- 退出:
- 在哪個分屏窗口執行,q 或 wq,就退出哪個窗口。
- wqall,可以一次性退出所有窗口。