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 }'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
發佈了97 篇原創文章 · 獲贊 6 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章