區分成這樣是為了讓 Kernel 方便管理 User Space 的 Application ,避免有些 Application 搶資源,這時候就可以由 Kernel Space 停止那些指令運行
Secure Shell Protocol
-
d
l
用戶:就用戶
群組:主群組和附加群組
密碼不會存在這,所以上面是寫 x
r :
表示具有讀取目錄結構清單的權限,可以查詢該目錄下的檔名資料。
w :
建立新的檔案與目錄;
刪除已經存在的檔案與目錄(不論該檔案的權限為何!)
將已存在的檔案或目錄進行更名;
搬移該目錄內的檔案、目錄位置。
x (access directory):
使用者能否進入該目錄成為工作目錄的用途(能否cd進入)\
SUID:執行時相當於擁有檔案owner的權限,僅對檔案生效
SGID:
對檔案設定:執行時相當於擁有檔案group的權限
對目錄設定:此目錄下的有效群組(effective group)將會變成該目錄的群組
SBIT:僅能對目錄設定,使用者在該目錄下建立檔案或目錄時,僅有自己與 root 才有權力刪除該檔案
SUID = 4 SGID = 2 SBIT = 1 _755
他的值會是 777 減去 umask 的值,所以如果 umask 是 022 的話,那就是 755
-S
: 顯示成比較好檢視的樣子
man xxx
xxx -h
/ xxx --help
cd
: change directory (可用絕對路徑或相對路徑)pwd
: print working directoryls
: list
-a
: 顯示隱藏檔-l
: 顯示詳細資訊 (ll
是 ls -l
的縮寫)exa
: 跟 ls
類似,但是有顏色rm
: remove
-r
: 遞迴刪除-f
: 強制刪除cp
: copymv
: movecat
: concatenatetac
: 反向顯示od
: octal dumpnl
: number lines(會把檔案的每一行編號)more
: 一次顯示一頁less
: 也是一次顯示一頁,但是可以往前翻 (vim 的操作方式)mkdir
: make directorytouch
: 建立檔案rmdir
: remove directorynano
: 編輯器vi
: 很棒的編輯器vim
: 更棒的編輯器chmod
: change mode
chmod 777 xxx
: 三個數字分別代表 user/group/others,每個數字代表 rwx,所以 777 就是全部都有 rwxchmod -x xxx
: 移除所有人對 xxx 的執行權限chmod +x xxx
: 給所有人對 xxx 的執行權限chmod u+x xxx
: 給 user 對 xxx 的執行權限 (u = user, g = group, o = others, a = all)chmod 4755 xxx
來設定 SUID ,然後+s
來設定 SUID/SGID,+t
來設定 SBITchown
: change owner
chown user xxx
: 把 xxx 的 owner 改成 userchown user:group xxx
: 把 xxx 的 owner 改成 user,group 改成 groupchgrop
: change group
chgrp group xxx
: 把 xxx 的 group 改成 groupchattr
: change attribute
chattr +i xxx
: 讓 xxx 變成不可刪除chattr +a xxx
: 讓 xxx 變成只能增加資料,不能刪除lsattr
: 顯示檔案屬性passwd
: 更改密碼which
/ whereis
: 找指令的位置tar
: 包裝 or 壓縮檔案
v
: 顯示詳細資訊f
: 檔案名稱c
: 建立壓縮檔j
: 用 bzip2 壓縮z
: 用 gzip 壓縮J
: 用 xz 壓縮x
: 解壓縮tar -cvf xxx.tar xxx
: 壓縮tar -xvf xxx.tar
: 解壓縮tar -zcvf xxx.tar.gz xxx
: 壓縮成 .tar.gztar -zxvf xxx.tar.gz
: 解壓縮 .tar.gz|
,把前面的結果傳給後面
ls | grep xxx
就是把 ls
的結果傳給 grep
來找 xxx
sleep
: 會暫停後面接的秒數Ctrl+C
: 中斷目前的指令Ctrl+Z
: 暫停目前的指令 (suspended)
jobs
: 查看暫停的指令fg
: 把暫停的指令恢復 (利用 %{number}
來指定要恢復 jobs 中指令的編號)bg
: 把暫停的指令變成背景執行Ctrl+D
: EOF>
,把前面的結果寫到後面的檔案,>>
是 append, <
是把檔案的內容傳給後面的指令
ls > xxx.txt
就是把 ls
的結果寫到 xxx.txt
ls >> xxx.txt
就是把 ls
的結果 append 到 xxx.txt
cat < xxx.txt
就是把 xxx.txt
的內容傳給 cat
2>
是把錯誤訊息寫到檔案.
: 任意字元*
: 0 到無限多次+
: 1 到無限多次[abc]
: a, b, c 任一個[^abc]
: 除了 a, b, c 之外[a-z]
: a 到 z 之間sed
: stream editor 有點複雜,會用到的時候再查就好grep
: global regular expression print
-i
: 不分大小寫-v
: 反向選取-n
: 顯示行數-r
: 遞迴-l
: 只顯示檔名-c
: 只顯示數量-e
: 多個條件-E
: 正規表達式-A
: 顯示後面幾行-B
: 顯示前面幾行-C
: 顯示前後幾行grep xxx *
: 在所有檔案中找 xxx
find
: 找檔案.sh
結尾的檔案,然後裡面寫一些指令chmod
加執行權限就可以執行了crontab
: 定時執行
crontab -e
: 編輯crontab -l
: 列出crontab -r
: 刪除* * * * * xxx
: 分鐘 小時 日 月 星期幾 指令apt update
: 更新套件apt upgrade
: 升級套件 (順序會是先更新再升級)apt install xxx
: 安裝套件apt remove xxx
: 移除套件apt search xxx
: 搜尋套件apt list
: 列出所有套件apt show xxx
: 顯示套件資訊apt autoremove
: 移除不需要的套件apt clean
: 清除快取apt autoclean
: 清除舊的快取$()
: 會優先執行 ()
指令的標準輸出,當成前面的指令的參數
echo $(ls)
就是把 ls
的結果傳給 echo
cut
: 切割
-d
: 分隔符號-f
: 第幾個cut -d " " -f 1 xxx
: 以空格切割,取第一個