shell命令總結

來源:互聯網
上載者:User

2016/7/3平時要用的一些命令記錄在此,未完待續。。。。。

2016/7/4 更~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

查看ip地址: Windows:ipconfig /all
Linux:ifconfig

ifdown禁用網卡;
ifup啟用網卡;

netstat:查詢網路狀態;
-t列出TCP協議連接埠;
-u列出UDP協議連接埠;
-n不使用網域名稱與服務名。而使用ip地址和連接埠號碼
-l僅列出在監聽狀態的網路服務
-a列出所有的網路連接

-tuln開了哪些連接埠,開了哪些服務
-an哪些連到我 all ,還可以查看相關的socket程式

netstat -an | grep ESTLABISH |wc -l

netstat -rn顯示路由列表,可以看到網關
route -n 查看網關

臨時設定網關
route add default gw 192.168.1.1
route del default gw
在一台伺服器裡,內網網卡不能設網關


nslookup翻譯網域名稱對應的ip
重啟服務 service network restat

nslookup >server
查看dns

ping 發送icmp的資料包,
windows ping4次終止;
Linux一直ping.
有的網站禁止ping,防止暴露資訊。

ping x.x.x.x -c 次數
telnet 遠端管理與連接埠探測命令
ssh是加密的,更加安全
telnet不用來遠端管理,可以連接埠探測
telnet x.x.x.x不加連接埠的話就是遠端管理,要求遠

程管理的機器開了Telnet服務。
加連接埠之後斷行符號如果有資訊提示的話表示對方電腦

要不沒有開Telnet服務,要不是開了防火牆把連接埠屏蔽了,如果沒有提示資訊,表示可以串連。
退出Ctrl+]退出
在win和Linux一致。

traceroute路由追蹤命令
-n使用ip不使用網域名稱更快
 icmp協議,如果禁ping不能看到經過的節點。

下載命令wget 包
ftp協議和Telnet都是明文傳遞,檔案傳輸通訊協定,連接埠21,及其不安全。
tcpdump -i eth0 -nnX port 21
-i 指定的網卡介面;
-nn資料包中的網域名稱與服務轉為ip和連接埠
-X以十六進位和ascii碼顯示資料包的內容
port指定監聽的連接埠
抓包命令

http協議也不加密,在Linux下是明文
https協議才是加密

ssh協議
Xshell工具(遠端管理工具)
WinScp工具(檔案傳輸工具)
對稱式加密演算法(單密鑰):加密解密一個秘密;
壓縮公用程式壓縮的同時可以加密

非對稱式加密演算法
密碼產生公開金鑰和私密金鑰。
想讓誰看就讓誰的公開金鑰加密,使用自己的公開金鑰和想讓看的人的公開金鑰一起加密,保護髮送端的密碼安全使用密碼和私密金鑰一起解密


ssh安全殼層協議
保證資料轉送過程的安全,但是如果在傳遞之前就已經被竊取就沒辦法了


遠端管理指定Linux伺服器
ssh 使用者名稱@ip
使用者名稱不寫是以當前登入的使用者登入;
是否下載公開金鑰yes
exit退回本地

ls -a
顯示隱藏檔案
.開頭的是隱藏檔案

下載檔案
scp [-r] 使用者名稱@ip:檔案路徑 本地路徑
上傳檔案
scp [-r]  本地檔案 使用者名稱@ip:上傳路徑
上傳檔案不需要加-r,上傳目錄要加-r



SecureCRT(收費)
XShell遠端管理Linux的工具
WinSCP是Windows向Linux電腦傳遞資料的工具;後台協議是ssh加密協議。
SFTP協議


應用運行狀態監控指令碼
利用用戶端指令碼
mysqp,ab,mongo,php,jstack
nginxstatus,nagio-libexec
服務端介面支援


shell編程之Regex

正則是匹配檔案中合格字串;萬用字元用來匹配合格檔案名稱。

正則是包含匹配,輸出包含相應字元的整行;萬用字元是完全符合,輸出相應字元。 搜尋字串的命令grep、awk、sed等命令支援Regex;搜尋檔案的命令ls、find、cp不支援Regex,支援萬用字元。

基礎正則
*前面一個字元重複0次到多次,*前面加1個字元不起作用,必須在前面再加一個
e.g.
grep a* test.txt
匹配0個或者任意多個a的字元。
grep aa* test.txt
匹配至少一個a的字元

.匹配除了分行符號以外的任意一個字元
s..d匹配在s和d之間一定有兩個任一字元
.*匹配所有內容

^匹配行首,$匹配行尾
grep ^s test.txt
匹配以s作為行首的行
grep a$ test.txt
匹配以a作為行尾的行

^$匹配空白行

[]匹配中括弧中指定的任意一個字元,只匹配一個字元
e.g.
s[ao]id
匹配s和i中,要不是a,要不是o的字元
[0-9]
匹配任意一個數字

^[]代表以中括弧裡面字元作為行首的行
中括弧內的^代表取反
[^a-z]匹配不用小寫字母開頭的行
^[^a-zA-Z]
匹配不用字母開頭的行
Linux中不能直接A-z,應該a-zA-Z

\轉義符,讓特殊的符號喪失作用
\.$匹配以.結尾的行
.$匹配所有行

\{n\}表示其前面的字元恰好出現n次
但是正則是包含匹配,所以實際的匹配是至少出現n次
e.g.
a\{3\}匹配a連續出現3次的字串
[0-9]\{3\}
匹配包含連續的三個數位字串


\{n,\}表示其前面的字元出現不小於n次
e.g.
^[0-9]\{3,\}[a-z]
匹配最少用連續三個數字開頭的行

需要加定界符來更加精確的匹配
e.g.
grep "xc\{3\}u" test.txt

多練多實踐


\{n,m\}表示前面的字元至少出現n次,至多出現m次
e.g.
sa\{1,3\}i
匹配前一個字元a出現一次到3次,要加兩側的定界符才有效

vim清空,從游標所在行清空到行尾
d j

匹配ip地址
以下是從文檔中匹配ip,不能寫入正確的ip地址,因為ip是0-255
grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1-3\}\" test.txt

字元截取命令
cut [選項] 檔案名稱
-f列號:提取第幾列,
-d分隔字元:按照指定分隔字元分割列。預設的分割符是tab,當需要設定的時候加-d
cut -f 2,4 student.txt 提取2和4列
cut的局限
df -h | cut -f 1,3
df -h 的分隔字元是空格,不是cut預設的tab。當找不到分隔字元的時候,就認為分隔字元是在最後。
截取比較規律的檔案比較好,當採用不一致的數量的,空格作為分割符時,cut暈圈。
較為簡單

printf '輸出格式' 輸出內容
''不能省略
格式化輸出%ns輸出字串,n是數字代表輸出幾個字元; %ni輸出整數,n是數字指代輸出幾個數字;
%m.nf輸出浮點數,8.2f表示共輸出8位元,其中2位是小數,6位是整數。
\a輸出警告音
\b輸出退格鍵,就是backspace鍵
\f清除螢幕
\n換行
\r斷行符號,就是enter鍵
\t水平輸出退格鍵,就是Tab鍵
\v垂直輸出退格鍵,就是Tab鍵

只識別最原始的命令,需要把格式都寫出來
不支援資料流,grep.


awk
在awk輸出中支援print和printf命令。
print在每個輸出之後自動加入一個分行符號,Linux預設沒有print命令。
printf是標準格式輸出命令,並不會自動加入分行符號,需要換行,手工加入分行符號。不認識echo。
檔案中擷取需要的資料
awk '條件1{動作1}條件2{動作2}...' 檔案名稱
沒有條件代表無條件執行
關聯運算式作為條件;動作一般是格式化輸出和流程式控制制語句。
printf轉義符必須用雙引號括起來。
e.g.
awk  '{printf $2 "\t" $4 "\n"}'student.txt
awk  '{print $2 "\t" $4 }'student.txt
printf與print的區別,print會自動在行尾加分行符號    

BEGIN END

FS=":"
內建變數,表示分隔字元是誰
手工指定分割符時一定要加begin
awk 'BEGIN{FS=":"}{print $1 "\t"$3}' student.txt


sed
字元替換命令
格式
sed [選項]‘[動作]’檔案名稱
選項
-n:一般sed命令會把資料都輸出到螢幕,加-n只會把經過sed命令處理的行輸出到螢幕
-e:允許對輸入資料應用多條sed命令編輯,多個命令之間用;分割
-i:用sed的修改結果直接修改讀取的檔案,而不是由螢幕輸出

動作
-a:追加,在當前行後添加一行或多行
-c:行替換,用c後面是字串替換原資料行
-i:插入,在當前行前插入一行或多行。
-d:刪除,刪除指定的行
-p:列印,輸出指定的行
-s:字元替換,用一個字串替換另外一個字串。格式為“行範圍s/舊字串/新字串/g”和vim中的替換格式類似
/g表示指定範圍內的多個都替換,不加只替換一個。
sed '2,4d' student.txt
表示刪除2到4行


字元處理命令
sort排序命令
選項
-f:忽略大小寫
-n:以數值型進行排序,預設使用字串排序
-r:反向排序
-t:指定分割符,預設是定位字元作為分隔字元
-k n[,m]:指定欄位範圍排序,從第n欄位開始,到m欄位截止。

wc統計命令
wc[選項] 檔案名稱
選項
-l:只統計行數
-w:只統計單詞數
-m:只統計字元數



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.