- 以『 su - 』直接將身份變成 root 即可,但是這個指令卻需要 root 的密碼,也就是說,如果你要以 su 變成 root 的話,你的一般使用者就必須要有 root 的密碼才行;
- 以『 sudo 指令 』執行 root 的指令串,由於 sudo 需要事先設定妥當,且 sudo 需要輸入使用者自己的密碼, 因此多人共管同一部主機時, sudo 要比 su 來的好喔!至少 root 密碼不會流出去!
- env | export可以用来看环境变量
- set除了以上两种命令显示的参数还包括bash中的参数
$PS1 中的参数列表
- \d :可顯示出『星期 月 日』的日期格式,如:"Mon Feb 2"
- \H :完整的主機名稱。舉例來說,鳥哥的練習機為『www.vbird.tsai』
- \h :僅取主機名稱在第一個小數點之前的名字,如鳥哥主機則為『www』後面省略
- \t :顯示時間,為 24 小時格式的『HH:MM:SS』
- \T :顯示時間,為 12 小時格式的『HH:MM:SS』
- \A :顯示時間,為 24 小時格式的『HH:MM』
- \@ :顯示時間,為 12 小時格式的『am/pm』樣式
- \u :目前使用者的帳號名稱,如『root』;
- \v :BASH 的版本資訊,如鳥哥的測試主機版本為 3.2.25(1),僅取『3.2』顯示
- \w :完整的工作目錄名稱,由根目錄寫起的目錄名稱。但家目錄會以 ~ 取代;
- \W :利用 basename 函數取得工作目錄名稱,所以僅會列出最後一個目錄名。
- \# :下達的第幾個指令。
locale -a 显示当前的系统支持多少种语言
read [-pt] variable
選項與參數: -p :後面可以接提示字元!
-t :後面可以接等待的『秒數!』這個比較有趣~不會一直等待使用者啦!
declare 这个定义方式把变量默认的定义为字符型
-a :將後面名為 variable 的變數定義成為陣列 (array) 類型
-i :將後面名為 variable 的變數定義成為整數數字 (integer) 類型
-x :用法與 export 一樣,就是將後面的 variable 變成環境變數;
-r :將變數設定成為 readonly 類型,該變數不可被更改內容,也不能 unset
ulimit [-SHacdfltu] [配額]
選項與參數:
-H :hard limit ,嚴格的設定,必定不能超過這個設定的數值;
-S :soft limit ,警告的設定,可以超過這個設定值,但是若超過則有警告訊息。
在設定上,通常 soft 會比 hard 小,舉例來說,soft 可設定為 80 而 hard
設定為 100,那麼你可以使用到 90 (因為沒有超過 100),但介於 80~100 之間時,
系統會有警告訊息通知你!
-a :後面不接任何選項與參數,可列出所有的限制額度;
-c :當某些程式發生錯誤時,系統可能會將該程式在記憶體中的資訊寫成檔案(除錯用),
這種檔案就被稱為核心檔案(core file)。此為限制每個核心檔案的最大容量。
-f :此 shell 可以建立的最大檔案容量(一般可能設定為 2GB)單位為 Kbytes
-d :程序可使用的最大斷裂記憶體(segment)容量;
-l :可用於鎖定 (lock) 的記憶體量
-t :可使用的最大 CPU 時間 (單位為秒)
-u :單一使用者可以使用的最大程序(process)數量。
範例一:測試一下是否存在 username 這個變數,若不存在則給予 username 內容為 root
[root@www ~]# echo $username
<==由於出現空白,所以 username 可能不存在,也可能是空字串
[root@www ~]# username=${username-root}
[root@www ~]# echo $username
root <==因為 username 沒有設定,所以主動給予名為 root 的內容。
[root@www ~]# username="vbird tsai" <==主動設定 username 的內容
[root@www ~]# username=${username-root}
[root@www ~]# echo $username
範例二:若 username 未設定或為空字串,則將 username 內容設定為 root [root@www ~]# username="" [root@www ~]# username=${username-root} [root@www ~]# echo $username <==因為 username 被設定為空字串了!所以當然還是保留為空字串! [root@www ~]# username=${username:-root} [root@www ~]# echo $username root <==加上『 : 』後若變數內容為空或者是未設定,都能夠以後面的內容替換!
範例二:若 username 未設定或為空字串,則將 username 內容設定為 root [root@www ~]# username="" [root@www ~]# username=${username-root} [root@www ~]# echo $username <==因為 username 被設定為空字串了!所以當然還是保留為空字串! [root@www ~]# username=${username:-root} [root@www ~]# echo $username root <==加上『 : 』後若變數內容為空或者是未設定,都能夠以後面的內容替換!