1,vi 讀文件(類似于讀記事本)
寫文件時先摁i啟動編輯
編輯完成后摁esc
shift+;? wq 表示保存退出(或者shift + zz)? ? q!表示不保存退出? ? ?set nu 顯示行號
vi + 22 讀取文件第22行? ? vi? +? 直接到最后一行? 或者vi 用shift+g
vi +/after profile? ?在profile文件中搜索after 光標(biāo)會停留在第一個匹配到的位置
光標(biāo)所在位置按i光標(biāo)前輸入,I,行首,按a光標(biāo)后輸入,O行尾
按小寫o,下方新建一行輸入,按大小O,上方新建一行
h? 左移,l右移,j上,k下? ?w 下個單詞跳躍? ?0 直接去第一個字符,shift+6行首,shift+4行尾
G文章最后一行? ctrl+f 向下翻屏? ctrl+b向上翻屏? ? x刪除光標(biāo)所在字符,r替換
dd刪一行,dw 刪除一個單詞? ,2dd刪2行,p粘貼
yy復(fù)制一行,2yy復(fù)制2行,yw復(fù)制單詞,U撤銷,ctrl+r重做撤銷操作,.重復(fù)上述命令
末行模式? ? ? /after 查找after,$代表最后一行? ,? ? 1,$s/after/before? ?第一行到最后一行將after替換成before? 加g一行內(nèi)全部替換,.獲取當(dāng)前光標(biāo)行? ? ?! 加命令可執(zhí)行? 按空格返回,? ? ? ? ? ? .,$-1d除了最后一行,刪除到光標(biāo)位置
2,pwd 顯示當(dāng)前路徑
3,ls -l? = ll 顯示當(dāng)前路徑下的文件,并且長格式
ls-l 顯示出的第一個字符為-說明為普通的文件,d為目錄,c字符流(對編碼方式有規(guī)則),b字節(jié)流為特殊文件,l鏈接
4,ifconfig 看網(wǎng)絡(luò)配置
5,service network restart 網(wǎng)絡(luò)重啟
6,ping www.baidu.com
7,ctrl c 停止
8,clear清屏
9,cat 看文件內(nèi)容? ?文件太長則不能顯示完全? ? ?
more 可以先看一屏,空格先看一屏,回車一點點看
head 只看頭部十行? ? ?tail? 只看后十行? ? 或者head -4 前4行?
tail -f? ?tail 命令可用于查看文件的內(nèi)容,有一個常用的參數(shù)?-f?常用于查閱正在改變的日志文件。
tail -f filename?會把 filename 文件里的最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新,只要 filename 更新就可以看到最新的文件內(nèi)容。
10,rm -f 強制刪除? ?rm -rf 強制刪除文件夾
11,poweroff關(guān)機
12,type 接命令 表示返回該命令在系統(tǒng)的所在位置
13,file 加文件 輸出字符串中如果有elf 表示為可執(zhí)行二進制文件,類似exe
14,echo 打印輸出
15,yum install 安裝
16, man 學(xué)習(xí)外部命令, help學(xué)習(xí)內(nèi)部命令?
17,linux優(yōu)點,代碼移植性非常好
18,bin,sbin可執(zhí)行程序,etc 通用配置,控制面板,lib,擴展庫,boot引導(dǎo)目錄,dev設(shè)備抽象到目錄下,home,普通用戶的交互文件,var,程序運行生成的數(shù)據(jù),usr,rtm安裝包安裝的位置,opt,自己安裝的文件
19,mkdir -p 創(chuàng)建多級目錄, mkdir? ? ? ? ./abc/{x,y,z}dir? ? 在abc目錄下創(chuàng)建xdir文件夾,ydir文件夾,zdir文件夾
20,df -h 類似于打開我的電腦
21,du -sh ./* 統(tǒng)計當(dāng)前目錄下各文件大小,du -a? 顯示所有文件大小,不光只有文件夾
23,linux 擴展名毫無意義
24,cd 什么都不加直接返回根目錄,cd- 返回剛才所在目錄
25,cp 拷貝 cp -r a /tmp? 拷貝文件夾? ? 不加-r為拷貝文件?
scp 遠程拷貝? ?scp? ?-r? ? ./hadoop.2.6.5/? ? ?xutianyu2:`pwd`? ?文件夾? ? ? ?`pwd`? ?為xutianyu1的當(dāng)前路徑
scp id_dsa.pub xutianyu2:`pwd`/xutianyu1.pub? ?文件? ? xutianyu1.pub為重命名
26,mv 移動? mv a /tmp? 也可以重命名? ?mv a o? ? a文件命名為o
27,ln a? ?b? ?a與b建立硬鏈接,a修改b同樣修改,a刪除,b繼續(xù)存在,物理地址一樣
ln -s 軟鏈接,刪除源文件,鏈接一樣不會被刪除,但是會爆紅,物理地址不一樣
28,stat? 看文件元數(shù)據(jù)? ? access? 訪問時間? modify 內(nèi)容修改,change 發(fā)生改變
29,touch 已有文件可更改stat的三個時間,touch不存在的文件可創(chuàng)建一個空大小的文件
20 管道概念? ? 連接兩個簡單命令? ? 例如head -4? ?profile? ?|? ?tail? ?-1 讀取profile 文件的低4行
echo '/'? |? ?xargs ls-l? ? ?顯示根目錄下的內(nèi)容? ? ? ll | more? ?分屏顯示? ? 文件目錄?
21 grep 匹配行 grep? "after"? ?profile
顯示profile文件中包含after的所有行? 加-v反顯,展示出沒匹配到的
22,模式匹配? ?ls -l ./a*? ?顯示當(dāng)前目錄下,任意數(shù)目,包括0的字符名文件,以a開頭
a?表示只能為2個字符
23,正則表達式


匹配ooxx這個單詞? ? ? grep? ? "\<ooxx\>"? ?grep.txt? ? 匹配ooxx在行首的單詞? ?"^ooxx\>"
"oo[0-9]/+xx"匹配oo后出現(xiàn)任意次數(shù)的數(shù)字? ? \(oo\)\(xx\).*\1\2? ? 1,2表示oo和xx出現(xiàn)的順序
24,cut? 剪切,? cut -d? ' ' -s -f1-3? grep.txt
-d? 表示按列,-s 表示只顯示切分過的,-f1-3 表示顯示切分后的第一列到第三列
25,sort? 排序? ?sort -t ' ' -k2 -nr sort.txt
-t 自定義分隔符? ? -k 選擇排序列? ?-n? 按數(shù)值排序? ?-r? 倒序? ?默認為字典序
26,wc? 統(tǒng)計? -l按行,? ?cat? profile | wc -l? ? 輸出為行數(shù)? 例如 3
27,set? ? 行編輯器

address 為指定行或字符串

sed -i "1a\hello world"? sort.txt? 在第一行后添加hello world
sed "2d" sort.txt? 刪除文件第二行? ? sed "/apple/d" sort.txt? 刪除apple那一行
sed "s@hello@nihao@" sort.txt? ?將hello 替換成nihao
sed "s/\(id:\)[0-6]\(:initdefault:\)/\15\2/"? inttab
sed "s/is handle/is shangxuetang handle/" sort.txt
28,awk

awk -F ':'? ' {print $1}' passwd? ? ?-F為自定義分隔符,$1表示第一列? ?表示以:分割,輸出第一列
awk -F? ?':'? ? ? ' BEGIN{print? ?"name\tshell"}? ? ? {print $1 "\t" $7}? ?END{print? "end"}? ?' passwd
awk -F ':'? ? '/root/{print? ?$0}'? ?passwd? ? ?$0為第0行,為匹配到root就顯示第該行
NR行號,NF列號? ?split($3,data,"-")切割,切割第三列,按-切,結(jié)果放入data
29,useradd sxt01 增加用戶,passwd sxt01 改密碼? ?passwd --stdin? 接收標(biāo)準(zhǔn)輸入作為密碼? ?例如:echo? $1? |? ?passwd? --stdin? $1
30,id 看元數(shù)據(jù),看屬于哪個組
31 usermod -a -G sharesxt sxt01? ?將sxt01 加到sharesxt這個組里? ?groupadd sharesxt? ?增加這個組
32 chown root:sharetxt? ? sxtshare? ? 改變sxtshare文件的持有組權(quán)限?
33,chmod g+w sxtshare? ? 給sxtshare 的組權(quán)限增加寫? ? ?chmod o-rx? ?sxtshare? ?把sxtshare文件的其他人權(quán)限的讀和執(zhí)行減去 (r讀,w寫,x執(zhí)行)? ?
34,su? 切換用戶
35,tar -zxvf? -C 解壓縮,? ? ? -C可指定路徑
36,$$打當(dāng)前進程的id(BASHPID效果相同),? source file1.txt? ?將文件里的語句都執(zhí)行(.效果相同)
37,bash 啟動進程? ? bsah? ? file1.txt? 與source 相同? ?或者在文件頭輸入#!/bin/bash? ?當(dāng)執(zhí)行文件執(zhí)行(腳本本質(zhì))? ?bash? sh03.sh? &? ?后臺執(zhí)行
nohup后臺啟動
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
38,定義方法? ? sxt(){
}中間用分號隔開
39,IO重定向,0標(biāo)準(zhǔn)輸入,1標(biāo)準(zhǔn)輸出,2錯誤輸出
ls -l? / 1>ls.txt? 將ls 的顯示輸出到ls.txt中? ?兩個大于號為追加
ls -l /? ?/god? ? ?1>ls07.txt? ? 2>&? 1? ?將錯誤的輸出傳給1,再將正確的輸出和錯誤的輸出再傳給ls07.txt
id? ?$1 &>? /dev/null? ?將讀取$1的信息重定向發(fā)到? /dev/null
read? ? sxt? ? 0<<<"hello"? ? 將hello? ?賦給sxt? ? ?
40,一個程序覆蓋當(dāng)前進程? ? exec? ?
41,local? ?只有在函數(shù)內(nèi)生效,local? sxt = 100
42,? ? ?$#位置參數(shù)個數(shù),$*參數(shù)列表,$@參數(shù)列表? ?${11}引用第幾個參數(shù)? ? $?? 去除上一個命令的運行狀態(tài),0是成功,非0是失敗
43,export導(dǎo)出變量,子進程可以使用父進程的變量
44,雙引號弱引用,單引號強引用
45,$?取上一個命令的退出狀態(tài)碼,? &&全真為真,?
||有真為真,全假為假? ?(或)
46,a =1? ?((a++))? ?c = $((a++))? ? echo$c? ? 為2
47,test? ?3 -gt? 8? ?-gt 大于, echo? ?$?? ? ?輸出為1? 1為假? ?與? [ ]效果一樣
[ $#? ?-eq? ? 1 ]? ?||? ? exit? ? ? 輸入?yún)?shù)大于等于1向下執(zhí)行,否則退出? ?,-f檢查是否為文件
48,./ 執(zhí)行當(dāng)前目錄下的文件
49,if? ? ls-l /god? ;? then? echo "hello"? ?;? ?else? ?"no ok"? ?fi
50,for? ((i=0;i<10;i++));do echo $i;? ? done
for i? in sdfkl? ssd sdsdfd? ?sdsdsd ;? do echo? $i;? ?done
51 , seq? 10,? ??輸出1到10,10個數(shù),? ?
for i? in? 'seq 10';? do echo $i;? done
52,while command? ;? do? command;? done??
53,``命令替換,將命令輸出的結(jié)果變?yōu)樽兞?/p>
54,建立負載均衡模塊
監(jiān)控包
ipvsadm -A -t 192.168.9.100:80 -s rr? ? ? -A表添加,-tTCP協(xié)議,-s選擇模式,rr循壞模式,只有端口為192.168.9.100:80可以訪問
負載包?
-a -t|u|f service-address -r? service-address [-g|i|m] [-w weight]
-a 添加? ?-t|u|f service-address 事先定義好的某集群服務(wù) ,-r? service-address 負載的服務(wù)地址??[-g|i|m]? 表示為lvs模型? ?-g DR? -i TUN? ?-m NAT??[-w weight]? 權(quán)重
?-L|l? 查看? ? ?-lnc? ?lvs負載的記錄? ?-C清空? ?-S 重定向保存? ? ?-R讀取
55,ssh 遠程訪問? ? ? ssh root@192.168.9.32? ?'ll'
56? ?ssh -nal? ? 顯示端口號
netstat -atunlp