一. 命令基礎(chǔ)
/
:根目錄
~
:用戶目錄
ls -alF
: 可連續(xù)輸入幾個(gè)參數(shù)
touch
: 創(chuàng)建文件
cat
: 查看文件
vim
: 命令行編輯器
i
:插入
esc
:退出編寫
:
接受命令
wq
:保存并退出
二. 第一個(gè)Shell腳本
實(shí)例:
#是一個(gè)約定的標(biāo)記,它告訴系統(tǒng)這個(gè)腳本需要什么解釋器來執(zhí)行萌狂,即使用哪一種Shell
#!/bin/bash
echo "Hello World !"
運(yùn)行shell腳本兩種方法
1. 作為可執(zhí)行程序
#使腳本具有執(zhí)行權(quán)限
$chmod +x ./test.sh
#執(zhí)行腳本
$./test.sh
2. 直接運(yùn)行解釋器
$
/bin/sh test.sh
$/bin/php test.php
三. Shell變量
定義變量
#定義變量時(shí)不加美元$符號(hào); 變量名與符號(hào)之間不能有空格
your_name="chenchaozhong"
使用變量
your_name="chenchaozhong"
echo $your_name
#花括號(hào)是可選的鹃栽,加花括號(hào)是為了幫助解釋器識(shí)別變量的邊界
echo ${your_name}
只讀變量
readonly your_name
刪除變量
unset your_name
Shell 字符串
# 單引號(hào)里的任何字符都會(huì)原樣輸出躏率,單引號(hào)字符串中的變量是無效的;單引號(hào)字串中不能出現(xiàn)單引號(hào)
your_name='chenchaozhong'
#雙引號(hào)里可以有變量, 雙引號(hào)里可以出現(xiàn)轉(zhuǎn)義字符
str="Hello, I know your are "$your_name"! \n"
# 獲取字符串長(zhǎng)度
echo ${#your_name}
#提取字符串
echo ${your_name:1:4}
#查找子字符串, 注意反引號(hào)
echoexpr index "$your_name" on
Shell 數(shù)組
#定義數(shù)組,空格分開,
數(shù)組名=(值1 值2 ... 值n)
#獲取所有數(shù)組
echo ${array_name[@]}
# 取得數(shù)組元素的個(gè)數(shù)
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
最通俗的用法
zip -q -r -e -m -o [yourName].zip someThing
-q 表示不顯示壓縮進(jìn)度狀態(tài)
-r 表示子目錄子文件全部壓縮為zip //這部比較重要民鼓,不然的話只有something這個(gè)文件夾被壓縮薇芝,里面的沒有被壓縮進(jìn)去
-e 表示你的壓縮文件需要加密,終端會(huì)提示你輸入密碼的
// 還有種加密方法摹察,這種是直接在命令行里做的恩掷,比如zip -r -P Password01! modudu.zip SomeDir, 就直接用Password01!來加密modudu.zip了。
-m 表示壓縮完刪除原文件
-o 表示設(shè)置所有被壓縮文件的最后修改時(shí)間為當(dāng)前壓縮時(shí)間
當(dāng)跨目錄的時(shí)候是這么操作的
zip -q -r -e -m -o '\user\someone\someDir\someFile.zip' '\users\someDir'
zip -r -e SuperMovieiPhone.zip SuperMovieiPhone