常見shell種類 1 Bourne Shell(/usr/bin/sh或/bin/sh) 2 Bourne Again Shell(/bin/bash) 3 C Shell(/usr/bin/csh) 4 K Shell(/usr/bin/ksh) 5 Shell for Root(/sbin/s ...
常見shell種類
1 Bourne Shell(/usr/bin/sh或/bin/sh) 2 Bourne Again Shell(/bin/bash) 3 C Shell(/usr/bin/csh) 4 K Shell(/usr/bin/ksh) 5 Shell for Root(/sbin/sh)
切換root管理員
註釋
#!解析器路徑 #單行註釋 <<BLOCK 多行註釋 BLOCK : ' 多行註釋 ' name變數命名後面可以為"和‘ echo "¥變數" 一定要雙引號
echo列印輸出
文件系統
第一列: 常規文件(-) 目錄(d) 鏈接(l) 特殊檔案(c) 套接(s) 命名管道(p) 塊設備(b) 第二列代表存儲塊的數量 第三列代表文件的所有者或具有管理許可權的超級用戶 第四列代表所有者/超級用戶組 第五列代表文件大小 第六列表示創建或最後修改文件的日期和時間 最後一列代表文件或目錄的名稱
r 讀 w 寫 x 執行
- 第一個插位(
-
)表示由test.sh命名的文件:文件(-)、目錄(d),鏈接(l) - 前三個插位(
rwx
)代表所有者(owner)的許可權:文件所有者的許可權是讀、寫和執行 - 中三個插位代表所屬組(group)的許可權,r-x代表有讀和執行許可權,沒有寫許可權
- 後三個插位代表其他者(others)的許可權,同樣是讀和執行許可權,沒有寫許可權
r=4,w=2,x=1 因此rwx=4+2+1=7
- 1 表示連接的文件數
root 表示用戶
-root表示用戶所在的組
25 表示文件大小(位元組)
表示最後修改日期
test.sh表示文件名
更改許可權
chmod [class][operator][permission] file_name
class
由-u
,g
,o
和a
表示,其中u
表示用戶,g
表示組,o
表示其他,以及a
對所有類。operator
(+
或-
)用於添加或刪除許可權。permission
由指示符r
,w
,x
表示,以分別允許訪問以讀取,修改或運行腳本。
路徑
- 單點(
.
)代表當前目錄。 - 雙點(
..
)代表當前工作目錄的父目錄。 - 波浪號(
~
)代表已登錄用戶的主目錄。
命令行參數或特殊變數
$0
- 指定要調用的腳本的名稱。$1
-$9
- 存儲前9個自變數的名稱,或可用作自變數的位置。$#
- 指定傳遞給腳本的參數總數(計數)。$*
- 通過將所有命令行參數連接在一起來存儲它們。$@
- 將參數列表存儲為數組。$?
- 指定當前腳本的進程ID。$$
- 指定最後一個命令或最近執行過程的退出狀態。$!
- 顯示最後一個後臺作業的ID。
用戶輸入
read方式,如果不用read變數預設REPLY
-p 可以在同一行上輸入,-sp例如輸入密碼輸入不是明文
read -p PROMPT <variable_name>
read -sp PROMPT <variable_name>
-a 數組
日期時間
date '+<format-option-codes><format-option-codes> <format-option-codes>'
符號是`不是'
運算
條件判斷
參數直間有空格
for語句
{START..END..INCREMENT}
字元串
if [ -n str1 ] 當串的長度大於0時為真(串非空) if [ -z str1 ] 當串的長度為0時為真(空串) if [ str1 ] 當串str1為非空時為真
截取
${variable:offset:length}
列印日誌
>>追加,>覆蓋
開機啟動腳本
可執行腳本放在
/etc/rc.d/init.d目錄下
添加到開機啟動里
chkconfig --add xx.h
參考https://www.yiibai.com/bash