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))
-------------我的這些例子在我的資源裡面有。呵呵