shell編程—第一天

來源:互聯網
上載者:User

Linux下有沒有和nbtstat一樣的命令! 通過ip查看其他資訊:主機名稱、mac等。

已搞定  用 nmblookup -A ip 可以

用 nbtscan  也可以

arp 命令:arp ipad.local  or  arp 192.168.1.108 or arp -a  or arp 

vi 尋找字串:切換到命令模式下,然後就那個打個/youstring

#!/bin/bash -e 指令碼發生第一個錯誤時就中止指令碼運行;-e的作用。

cat mirror_cache.conf | cut -f 3 -d,   以,為分隔字元截取滴3個東東。

 ls -R doc/ | wc -l 

sudo mount -t smbfs -o codepage=cp936,username=tom,password=123456, -l //192.168.1.118/BU bu_mnt/

撕得粉碎的

遞迴的統計檔案夾檔案的個數。

linux常識:
1。遵循posix開發標準規範,unix也部分遵循了該規範。
2。版本 A.B.C ,A表示核心大幅度的提升  B表示核心重大修改  C輕微的修改了核心2.2.2 2.2.4 2.2.6,
 奇數版本為測試版本,偶數版本為穩定版本,所以我們看到的都是偶數版本。目前是:2.6版本。

shell簡介:
1。可以驅動磁碟轉動的程式叫驅動程式,也叫核心。 對核心公開的介面調用稱為系統調用。ApI即函數罷了。
2。腳步:無需編譯,可以直接啟動並執行。
3。csh : 系統:/etc/.login   使用者:~/.login   ~/.cshrc
  bash: 系統:/etc/profile   使用者:~/.bash_profile   .bashrc   .bash_login .profile
  vi vim: .exrc  .vimrc
4。shell編程只適用於小工具小程式,不適合大程式。因為他所執行的每個命令都是一個新的進程。不像c語言,在一個進程裡面運行。

shell編程:
1。腳步第一行:#!/bin/bash  #! 表示該shell指令碼用bash來解釋執行。
2。 #表示注釋  exit 0 退出指令碼     $取變數名  &後台運行   shleep 3 history查看你所做的操作
3。執行指令碼:1. chomd +x xx.sh  2. bash xx.sh  3.exec xx.sh(會退出當前shell)  4. source xx.sh

4。比較雜的命令:
1。 cat << end ..........end 指定結束符為end進行輸出。
2。指令 2> 檔案:錯誤重新導向。  ----a.out >a.txt 2>&1  a.out >& a.txt a.out &> a.t
3。C語言:字串轉換為數值用spfintf(),數值轉換為字串用atoi() atof()
4。():在當前shell下啟動一個子shell來執行命令。(pwd)  \轉義 續行 [ ] ls [a-f].*
 ls a.{txt,out}
5。變數的定義:1. x=x 2. declare -r a=100 -i -x ...    ${var1}避免歧義
6。read var1  從鍵盤讀取一個資料                 man bash
7。環境變數(大寫):ostype pwd lang path home seconds shlvl lineno machtype ps1ps2

特殊變數:export a=123  ; b=133 export b;設為系統變數
$@ ,$* 顯示所有位置參數   $# 參數個數(除檔案名稱) $$ 顯示當前進程的pid號  $? 擷取前一個命令的返回狀態 0 成功 2 失敗。

8。引用:單引號可辨別變數  雙引號不可辨別   飄號:把字元當作命令來打====var=$(pwd)
*********
=號左右沒有空格  :賦值    =號左右有空格:比較
*******
9。數組定義:abc[1]=1 abc[100]=099.....   b=(1 2 3 4 5)
10。運算子號:
 ${#變數名}:探測變數值的長度。
 替換運算子: ${變數名:-值}    + = ?
11。字串處理:
 取子串:${str:3:5}
 刪除字串(不刪除本體):${str#匹配模式}   ${str#*cwj}  ##全部  % %%從後往前。
 替換:${str/abc/ABC}   一次 ${str//abc/ABC} 所有
 比較:str==str -n "$str"  -z "$str" 不為空白 ,為空白
12。其他運算子:同c++的運算子一致,多了個 ** 表示求冪。  let  declare -i (())
13。bc ==>1000000*1000000  dc  用於計算大的資料。
14。程式控制: test [] 與 if 配合使用 =左右必須要有空格(比較) 
*****************:注意:記住使用字串時,請務必要用 "  " 引起來,這樣可以避免很多問題的出現。

比較大小運算式:  運算式 1    -xx  運算式2
-eq -ne -gt -ge -lt -le                    if test "$x" -eq "$y" ; then ; echo "xx" ; fi

15。檔案測試:-f檔案是否存在     -r 使用者是否有讀許可權   -s 檔案大小是否為0     !   邏輯非       []左右兩邊必須要有空格,同test。
16。set -o  環境測試,系統中的一些配置。 比如,同名檔案是否採取覆蓋。  set -o  colobber no / off  開啟和關閉該選項。

case 語句:case語句注意的是雙分號。    ----qu!老是忘記寫esac作為結尾
case var in ; yes|YES) ....;; [nN]o)....;; *)....;; esac

17。 *一般情況下是表示:目前的目錄下的所有檔案。
cwj:shell指令碼中隨處可見“萬用字元的使用”。很好。呵呵
   shell中if case 都是有結束符號的。呵呵
18。for語句:for var in * ; do xxxx; done xxxx;
    for ((i=0;i<10;i++)) ; do xxxx ; done xxxx;         //echo 斷行符號   echo -n 不斷行符號,同一行顯示。

1.if [ ]/test  then  elif else fi //if語句
2.  # ##   % %% 刪除掉。 :3:4  從3下標開始截取4個數字。  /abc/ABC  //a/A   :${str#*lala} ${str/a/A} ${str:3:5}
3.for ((i=0;i<10;i++)) do  done          for var in * do done
4. case var in x) echo ;; y) ;; c) ;; *)
  echo "plese inter a Var!"
  read inputVar
  case "$inputVar" in
   "a"|"A") echo "case a" ;;
   "b"*) echo "case b" ;;
   "c") echo "case c" ;;
   *) echo "other" ;;//最後一個;;可以加可以不加
  esac
作練習的時候發現的:

1。用#號的時候,我們的萬用字元要靠前,%號的時候,我們的萬用字元要靠後。  #*4  ky! #4* bu ky!  %4* ky!  %*4 bu ky !
str=01234567
echo ${str:2:4}
echo ${str#4*}
echo ${str%4*}

2.  a=100 b=200 c=((a+b)):這是錯無的,應該這樣子:((c=a+b))   或者 c=$((a+b))

3***********************我們經常這樣子作:$((year%4==0&&year%100!=0||year%400==0))   : $((xxx))

-------------我的這些例子在我的資源裡面有。呵呵

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.