常見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

判斷埠是否打開
netstat -an | grep 80
#!/bin/sh STRING= if [ -z "$STRING" ]; then echo "STRING is empty" fi if [ -n "$STRING" ]; then echo "STRING is not empty" fi
參考https://www.yiibai.com/bash
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/71462.html
標籤:Linux
