鸟哥的linux 11.1

本文深入探讨了Linux中su、sudo命令的使用方法及环境变量的应用,同时介绍了如何通过ulimit设定系统限制,以及环境变量的显示与设置方法。此外,还详细解释了如何在多人共管主机时使用sudo命令,避免root密码泄露。
  • 以『 su - 』直接將身份變成 root 即可,但是這個指令卻需要 root 的密碼,也就是說,如果你要以 su 變成 root 的話,你的一般使用者就必須要有 root 的密碼才行;

  • 以『 sudo 指令 』執行 root 的指令串,由於 sudo 需要事先設定妥當,且 sudo 需要輸入使用者自己的密碼, 因此多人共管同一部主機時, sudo 要比 su 來的好喔!至少 root 密碼不會流出去!
  • env | export可以用来看环境变量
  • set除了以上两种命令显示的参数还包括bash中的参数

 


          $PS1  中的参数列表

  1. \d :可顯示出『星期 月 日』的日期格式,如:"Mon Feb 2"
  2. \H :完整的主機名稱。舉例來說,鳥哥的練習機為『www.vbird.tsai』
  3. \h :僅取主機名稱在第一個小數點之前的名字,如鳥哥主機則為『www』後面省略
  4. \t :顯示時間,為 24 小時格式的『HH:MM:SS』
  5. \T :顯示時間,為 12 小時格式的『HH:MM:SS』
  6. \A :顯示時間,為 24 小時格式的『HH:MM』
  7. \@ :顯示時間,為 12 小時格式的『am/pm』樣式
  8. \u :目前使用者的帳號名稱,如『root』;
  9. \v :BASH 的版本資訊,如鳥哥的測試主機版本為 3.2.25(1),僅取『3.2』顯示
  10. \w :完整的工作目錄名稱,由根目錄寫起的目錄名稱。但家目錄會以 ~ 取代;
  11. \W :利用 basename 函數取得工作目錄名稱,所以僅會列出最後一個目錄名。
  12. \# :下達的第幾個指令。

    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  <==加上『 : 』後若變數內容為空或者是未設定,都能夠以後面的內容替換!

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值