1. 程式人生 > >Linux-shell基礎複習筆記

Linux-shell基礎複習筆記

檢視檔案型別:file  xxx.log 

 

增加檔案執行許可權:chmod +x  檔名稱

檢視編碼環境變數:env |grep LANG

shell定位:外層應用程式>shell命令解析器>核心>硬體

程序樹檢視:pstree

檢視VIM是否安裝:rps -qa | grep vim

如果不喜歡vi喜歡vim:alias  vi=vim

怎麼樣別名不消失(所有使用者有效):vi /etc/profile 在後面加上vi=vim即可

檢視登入使用者數:who | wc -l

獲取IP地址:ifconfig |grep "inet addr"|grep -v "127.0.0l.1"|awk '{print  ${2}}'|awk -F ':'  '{print $2}'

獲取IP地址簡寫:ip_addr  = `ifconfig |grep "inet addr"|grep -v "127.0.0l.1"|awk '{print  ${2}}'|awk -F ':'  '{print $2}'`

                      或者:ip_addr = $(ifconfig |grep "inet addr"|grep -v "127.0.0l.1"|awk '{print  ${2}}'|awk -F ':'  '{print $2}')

設定變數只讀:readonly xxx=xxx 環境變數:export xxx=yyyy 或者 xxx =yyy  export xxx    顯示所有環境變數:env 、env |grep pwd 清楚環境變數:upset xxx 獲取變數字串長度(包括空格):name=caoshicaho    ;    echo ${#name} 獲取陣列第一個元素長度:name=(a bb cc ddd) ; echo ${#name} 獲取陣列元素個數:name=(a bb cc ddd) ; echo ${#name[*]} 輸出陣列元素:echo ${name[*]} 輸出某個元素:echo  ${name[2]} 變數擴充套件: ${var:pos}:  變數var從第pos個位置輸出 ${var:a;b}:  變數var從第a個位置到b個位置輸出 ${var/a/b}:將變數var中的a替換成b輸出 ${var//a/b}:將變數var中的所有字元a替換成b輸出 定義變數型別: 定義整形變數:declare  -i  xxx 定義陣列變數:declare -a xxx 定義函式變數:declare -f xxx 變數間接引用: a=xx b=yy eval  a=\$$b echo a 產生隨機數: #!/bin/bash count=1 MAX=10 while ["${count} -lt "${MAX}" "]  : do     num=$RANDOM    echo ${num}   let  " count +=1" done 單引號會原樣輸出字串;雙引號不會;反引號引用的都是命令;反斜槓是轉義; echo ${name}跟echo "${name}"輸出效果是不一樣的; 取檔案路徑的最後的名稱:basename $0 #!/bin/bash echo "指令碼名稱是`basename $0`" ---- chmod +x   text.sh ./text.sh 判斷引數是否存在 :if [ -n "$1"] 是否存在第一個引數;如果引數大於9個必須用{}:if [-n "${10}"] 判斷檔案是否存在 :if[ -x "${path}" ];then  xxxxx  else  yyyyy   fi 兩個分號是在case語句中使用:case “${variable}” in   abc)   echo xxx ;; xyz)  yyyy  ;;  esac

一個分號是用來在一行中寫多個命令;date ;pwd;ls

獲取分割槽情況:df -H | grep -v "Filesystem "

輸出到檔案並在螢幕顯示:who | tee out.txt

死迴圈,每5秒執行一次:

while :

do

   echo "wellcome csdn"

  sheep 5

done

Shell完成一些簡單的操作;

檢視bash版本:bash --version

檢視bash的別名:alias

Shellz執行順序:別名、關鍵字、函式、內建命令、可執行檔案或指令碼

檢視命令型別:type  pwd

命令列用;分割:ls;date;pwd

命令組用()包起來:(ls;date;pwd)>output.txt

使用TAB補全命令或者檔案:TAB鍵 xxx

刪除別名:unalias   vi

暫時刪除別名用\處理:  /etc/inittab

清除/var/log下的log檔案

#!/bin/bash

#Cleanup

cat  /dev/null > /var/log/messages

echo "message is up"

 命令替換``:echo "當前工作目錄`pwd`"

區域性變數只能在它建立的SHELL中使用,環境變數可以在建立它的Shel或者派生出來的子程序Shell;

變數兩邊不能有空格,有空格用單引號或則雙引號包起來,變數名稱是區分大小寫的,變數不用宣告型別;

使用${xxx}防止命令誤解數字變數要用_8開始;使用unset xxx清除變數;

顯示本地變數:set

位置變數引數:$0是檔名稱 $1 $2 $3 $4 $5 向系統命令傳遞引數: grep $1 /etc/password |awk -F :'{print $3"\t"$6 }'