輸入root的密碼 然後輸入:# fsck /dev/sda2 yes確認修復
2、注釋、判斷語句、控制語句組成
3、指令碼是純檔案,通常是.sh字尾
第一行:指定用哪個程式來編譯和執行指令碼
#!/bin/bash #!/bin/sh
使用#來進行注釋
必修用字母和下劃線開頭,後面可以跟字母,變數不需要宣告
大小寫比較敏感
根據變數的作用域,變數可以分為本地變數和環境變數
本地變數只能在建立它們的shell程式中可用,環境變數可以在shell中的所有用程序中可用,通常稱為全域性變數
等號兩邊不能有空格
如果要給變數賦空值,可以在等號後面跟乙個換行符
echo $variable 或 echo $
unset variable
set又稱為全域性變數,按照慣例需要大寫:export lang
是一組特殊的內建變數,通常被shell用來從命令接受引數,或被函式用來儲存傳遞給它的引數
執行shell指令碼時,使用者可以通過命令列向指令碼傳遞資訊,跟在指令碼後面的用空格隔開的每個字串都稱為位置參量
$0:當前指令碼的檔名
$1-$9:第乙個到第九個的位置引數
$:第十個位置參量,類似的:$
$#:位置參量的個數
$*:以單字串顯示所有位置參量
$@:未加雙引號顯示所有的位置參量
$$:指令碼執行的當前程序號
$!:最後乙個後台執行的程序的程序號
$?:顯示前面最後乙個命令的退出狀態,0代表沒有錯誤,其他任何值表示有錯誤
如果位置引數有空格需要放在雙引號中
任何命令進行是都將返回乙個退出狀態
檢視命令:echo $?
應用中通常會在關鍵步驟後判定$?,已經確定關鍵步驟的執行是否正常。尤其排程系統裡需要監控sh返回碼
shell指令碼的返回碼取決於最後乙個命令的返回碼
程式控制返回碼: exit n 退出狀態為0,無錯誤;狀態大於0,失敗,某處有錯誤
陣列的位置、陣列賦值、陣列定義、陣列初始化、陣列引用
檢視具體的年月日:date+ %y/%m/%d/%h:%m:%s
建乙個變數:
#!/bin/bash
date1=$(bash)
echo $
檢視日曆:cal +年份
某個檔案是否存在:-e
檔案是否存且為某個檔案:-f
檔案是否存在且為目錄:-d
判斷檔案是存在且具有可讀許可權:-r
判斷檔案是否存在且具有可寫許可權:-w
判斷檔案是否存在且具有可執行的許可權:-x
兩數相等:-eq
不相等:-ne
n1大於n2:-gt
n1小於n2:-lt
n1大於等於n2:-ge
n1小於等於n2:-le
判定字串是否為0:test -z
判斷字串是否不為0:-n
字串是否相等:test str1 = str2
判斷字串是否不相等:test str1!=str2
1、單層、簡單條件判斷式:if
2、多重、複雜條件判斷:if...elif
for((i=0;i<$;i=i+1))
dos=($($+$))
done
echo $
while do done,until do done(不定迴圈)
從檔案或命令中追行讀取:
cat file|while read line
doecho $line
done
或cat ls./*.txt | while read line
doecho
$line
done
小白學python Linux的基本命令
在linux系統上,建立使用者的時候,預設情況下會建立乙個使用者組 名稱與使用者名稱相同 1 使用touch命令 2 使用vi vim 其中在vi檢視的位置快捷鍵 dd來刪除游標所在的內容 zz 表示的儲存檔案內容 x 表示游標所在的位置刪除 o表示在游標的下一行插入內容 mkdir 檔名 目錄名 ...
小白學爬蟲
最近剛開始學習爬蟲,準備將自己的學習情況寫下來。一是為了鞏固記憶,二是為了更好的與人交流,讓我的爬蟲之路不孤單。下面展示一下爬取資料的過程。1 首先需要匯入requests模組,requests模組需要安裝。2 通過url獲得響應物件,具體是通過get請求還是post請求這篇文章講的很好reques...
小白是學mysql好還是 小白學MySql
總所周知吧,這個資料庫有很多,最常用的免費資料庫那還要說到mysql,我本人呢也是對資料庫相關資料進行了一番查閱和學習,以下是我的一些片面的理解,主要分為四個部分 基礎 調優核心原理 架構與運維 1.基礎 基礎那就是基礎語法啊,以及表設計正規化 基礎語法 crud 在我看來基礎語法無非就是增刪改查,...