開心生活站

位置:首頁 > 綜合知識 > 

linux,mpls

linux mpls

MPLS Linux是一套爲Linux內核實現基於MPLS信令協議和MPLS的轉發功能的項目。

小編還爲您整理了以下內容,可能對您也有幫助:

linux命令%符號是什麼意思

如果一個名稱用%括起來,那麼就是用的它的賦值,而不是本身的字母

比如

echo time echo %time%

以上兩個前者顯示time這個字母,後者顯示系統時間 19:42:12:02

還有%diskdiver%=系統盤等。

可以用set自己設定,有一些是系統默認的比容上面說的time;diskdiver

----------------------------------------------------------------------

FOR這條命令基本上都被用來處理文字,我們這次除了要說他處理文字的作用外還要講他的其他一些好用的功能!

看看他的基本格式(這裏我引用的是批處理中的格式,直接在命令行只需要一個%號)

FOR 參數 %%變量名 IN (相關檔案或命令) DO 執行的命令

參數:FOR有4個參數 /d /l /r /f 他們的作用我在下面用例子解釋

%%變量名 :這個變量名可以是小寫a-z或者大寫A-Z,他們區分大小寫哦~

FOR會把每個讀取到的值給他!

IN:命令的格式,照寫就是了!

(相關檔案或命令) :FOR要把什麼東西讀取然後賦值給變量,不懂的話看下面的例子

do:命令的格式,照寫就是了!

執行的命令:對每個變量的值要執行什麼操作就寫在這.

看不懂我的這些說明,可以在CMD輸入for /?看系統提供的幫助!我這裏也給出來吧,大家對照

FOR %%variable IN (set) DO command [command-parameters]

%%variable 指定一個單一字母可替換的參數。

(set) 指定一個或一組檔案。可以使用通配符。

command 指定對每個檔案執行的命令。

command-parameters

爲特定命令指定參數或命令行開關。

現在開始講每個參數的意思

/d

僅爲目錄

如果 Set (也就是我上面寫的 "相關檔案或命令") 包含通配符(* 和 ?),將對與 Set 相匹配的每個目錄(而不是指定目錄中的檔案組)執行指定的 Command。

這個參數其實我也沒弄太懂...有錯誤希望各位糾正!

系統幫助的格式:FOR /D %%variable IN (set) DO command

他主要用於目錄搜尋,不會搜尋檔案,看這樣的例子

@echo off

for /d %%i in (*) do @echo %%i

pause

把他儲存放在C盤根目錄執行,就會把C盤目錄下的全部目錄名字打印出來,而檔案名字一個也不顯示!

在來一個,比如我們要把當前路徑下檔案夾的名字只有1-3個字母的打出來

@echo off

for /d %%i in (???) do @echo %%i

pause

這樣的話如果你當前目錄下有目錄名字只有1-3個字母的,就會顯示出來,沒有就不顯示了

這裏解釋下*號和?號的作用,*號表示任意N個字元,而?號只表示任意一個字元

知道作用了,給大家個思考題目!

@echo off

for /d %%i in (window?) do @echo %%i

pause

儲存到C盤下執行,會顯示什麼呢?自己看吧!

/D參數只能顯示當前目錄下的目錄名字,這個大家要注意!

/R

遞歸

進入根目錄樹 [Drive:]Path,在樹的每個目錄中執行 for 語句。如果在 /R 後沒有指定目錄,則認爲是當前目錄。如果 Set 只是一個句點 (.),則只枚舉目錄樹。

系統幫助的格式:FOR /R [[drive:]path] %%variable IN (set) DO command

上面我們知道,/D只能顯示當前路徑下的目錄名字,那麼現在這個/R也是和目錄有關,他能幹嘛呢?放心他比/D強大多了!

他可以把當前或者你指定路徑下的檔案名字全部讀取,注意是檔案名字,有什麼用看例子!

@echo off

for /r c:\ %%i in (*.exe) do @echo %%i

pause

咋們把這個BAT儲存到D盤隨便哪裏然後執行,我會就會看到,他把C盤根目錄,和每個目錄的子目錄下面全部的EXE檔案都列出來了!!!!

再來一個

@echo off

for /r %%i in (*.exe) do @echo %%i

pause

參數不一樣了吧!這個命令前面沒加那個C:\也就是搜尋路徑,這樣他就會以當前目錄爲搜尋路徑,比如你這個BAT你把他防災d:\test目錄下執行,那麼他就會把D:\test目錄和他下面的子目錄的全部EXE檔案列出來!!!

這個參數大家因該理解了吧!還是滿好玩的命令!

/L

迭代數值範圍

使用迭代變量設定起始值 (Start#),然後逐步執行一組範圍的值,直到該值超過所設定的終止值 (End#)。/L 將透過對 Start# 與 End# 進行比較來執行迭代變量。如果 Start# 小於 End#,就會執行該命令。如果迭代變量超過 End#,則命令解釋程序退出此循環。還可以使用負的 Step# 以遞減數值的方式逐步執行此範圍內的值。例如,(1,1,5) 生成序列 1 2 3 4 5,而 (5,-1,1) 則生成序列 (5 4 3 2 1)。語法是:

系統幫助的格式:for /L %% Variable in (Start#,Step#,End#) do Command

看着這說明有點暈吧!咋們看例子就不暈了!

@echo off

for /l %%i in (1,1,5) do @echo %%i

pause

儲存執行看效果,他會打印從1 2 3 4 5 這樣5個數字

(1,1,5)這個參數也就是表示從1開始每次加1直到5終止!

大會暈,就打印個數字有P用...好的滿足大家,看這個例子

@echo off

for /l %%i in (1,1,5) do start cmd

pause

執行後是不是嚇了一跳,怎麼多了5個CMD視窗,呵呵!如果把那個 (1,1,5)改成 (1,1,65535)會有什麼結果,我先告訴大家,會開啟65535個CMD視窗....這麼多你不死機算你強!

當然我們也可以把那個start cmd改成md %%i 這樣就會建立指定個目錄了!!!名字爲1-65535

看完這個被我賦予破壞性質的參數後,我們來看最後一個參數

/f

\迭代及檔案解析

使用檔案解析來處理命令輸出、字元串及檔案內容。使用迭代變量定義要檢查的內容或字元串,並使用各種 ParsingKeywords 選項進一步修改解析方式。使用 ParsingKeywords 令牌選項指定哪些令牌應該作爲迭代變量傳遞。請注意:在沒有使用令牌選項時,/F 將只檢查第一個令牌。

檔案解析過程包括讀取輸出、字元串或檔案內容,將其分成的文字行以及再將每行解析成零個或更多個令牌。然後透過設定爲令牌的迭代變量值,調用 for 循環。默認情況下,/F 傳遞每個檔案每一行的第一個空白分隔符號。跳過空行。

系統幫助的格式:

for /F "ParsingKeywords" %% Variable in (FileNameSet) do Command

有沒有發現這個參數說明比上面幾個都多...沒辦法,人們用FOR命令主要也就是用/f參數,FOR的主場啊!大家得好好看!

先來解釋下那個多出來的"ParsingKeywords"

他表示4個參數

eol=c - 指一個行註釋字元的結尾(就一個)

skip=n - 指在檔案開始時忽略的行數。

delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的

默認分隔符集。

tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代

的 for 本身。這會導致額外變量名稱的分配。m-n

格式爲一個範圍。透過 nth 符號指定 mth。如果

符號字元串中的最後一個字元星號,

那麼額外的變量將在最後一個符號解析之後

分配並接受行的保留文字。

usebackq - 指定新語法已在下類情況中使用:

在作爲命令執行一個後引號的字元串並且一個單

引號字元爲文字字元串命令並允許在 filenameset

中使用雙引號擴起檔案名稱。

先別暈了!我這就舉個例子幫助大家來理解這些參數!

usebackq這個參數不用理解了,系統默認會給我們加上!

爲了能使用這個例子,我們先新建一個文字檔案,在裏面打上這些內容儲存爲test.txt:

;鬱悶啊!

您好! 歡迎來到, 非常批處理

我們的網站 bbs.verybat.org

完畢!

@echo off

FOR /F "eol=; tokens=1 delims= " %%i in (test.txt) do @echo %%i

pause

我們把這個BAT儲存到和你的test.txt相同的目錄下面然後執行

我們會看到屏幕上會顯示

您好!

我們的網站

完畢!

爲什麼會這樣?我來解釋

這個命令會讀取在當前目錄下名爲test.txt檔案中的內容,將每一行的內容賦值給變量%%i,忽略掉以;號開頭的行,並且以空格做爲分隔符號,打印每行以空格做分隔符號的第一列

結果就是這樣了!!

如果改成

當然我們想要把全部檔案內容直接打印出來就可以這樣

@echo off

FOR /F "delims=" %%i in (test.txt) do @echo %%i

pause

另外/F參數還可以以輸出命令的結果看這個例子

@echo off

FOR /F "delims=" %%i in ('net user') do @echo %%i

pause

這樣你本機全部帳號名字就出來了把擴號內的內容用兩個單引號引起來就表示那個當命令執行,FOR會返回命令的每行結果,加那個"delims=" 是爲了讓我空格的行能整行顯示出來,不加就只顯示空格左邊一列!

基本上講完了FOR的基本用法了...如果你看過FOR的系統幫助,你會發現他下面還有一些特定義的變量,這些我先不講.大家因該都累了吧!你不累我累啊....

MPLS基本原理

MPLS的工作原理:

MPLS是基於標記的IP路由選擇方法。這些標記可以被用來代表逐跳式或者顯式路由,並指明服務質量(QoS)、虛擬專網以及影響一種特定類型的流量(或一個特殊用戶的流量)在網絡上的傳輸方式等各類資訊。MPLS採用簡化了的技術,來完成第三層和第二層的轉換。它可以提供每個IP數據包一個標記,將之與IP數據包封裝於新的MPLS數據包,由此決定IP數據包的傳輸路徑以及優先順序,而與MPLS相容的路由器會在將IP數據包按相應路徑轉發之前僅讀取該MPLS數據包的包頭標記,無須再去讀取每個IP數據包中的IP位址位等資訊,因此數據包的交換轉發速度大大加快。

目前的路由協議都是在一個指定源和目的地之間選擇最短路徑,而不論該路徑的帶寬、載荷等鏈路狀態,對於缺乏安全保障的鏈路也沒有一種顯式方法來繞過它。利用顯式路由選擇,就可以靈活選擇一條低延遲、安全的路徑來傳輸數據。

MPLS協議實現了第三層的路由到第二層的交換的轉換。MPLS可以使用各種第二層協議。MPLS工作組到目前爲止已經把在幀中繼、ATM和PPP鏈路以及IEEE802.3局域網上使用的標記實現了標準化。MPLS在幀中繼和ATM上執行的一個好處是它爲這些面向連接的技術

用於檢視和配置網絡ifconfig命令已被淘汰,你知道下一代的命令嗎

前言

本文主要介紹net-tools套件與iproute2套件的區別。

net-tools套件與iproute2套件的區別

ifconfig、route、arp和netstat等命令行工具都是net-toos套件的工具集,用於解決網絡故障。net-tools起源於BSD的TCP/IP工具箱,後來成爲老版本Linux內核中配置網絡功能的工具。但自2001年起,Linux社區已經對其停止維護。同時,一些Linux發行版比如Arch Linux和CentOS/RHEL 7則已經完全拋棄了net-tools,只支援iproute2。

iproute2的出現旨在從功能上取代net-tools。net-tools透過procfs(/proc)和ioctl系統調用去訪問和改變內核網絡配置,而iproute2則透過netlink套接字接口與內核通訊。拋開性能而言,iproute2的用戶接口比net-tools顯得更加直觀。比如,各種網絡資源(如link、IP位址、路由和隧道等)均使用合適的對象抽象去定義,使得用戶可使用一致的語法去管理不同的對象。到目前爲止,iproute2仍處在持續開發中。

筆者強烈建議用戶應該使用iproute2取代傳統的net-tools套件,因爲iproute2可以做很多net-tools無法做到的事情。

兩者常見命令對比

net-toolsiproute2命令作用 arp -naip neigh檢視MAC地址表ifconfigip link檢視網卡基本資訊ifconfig -aip addr show檢視網站詳細資訊ifconfig --helpip help檢視幫助資訊ifconfig -sip -s link檢視網卡流量傳輸資訊ifconfig eth0 upip link set eth0 up啓用網卡ipmaddrip maddr檢視網卡相關的MAC地址表iptunnelip tunnel檢視隧道資訊netstatss檢視端口使用情況netstat -iip -s link檢視每張網卡的資訊及傳輸資訊netstat -gip maddr檢視張網卡的二層及三層鄰居資訊netstat -lss -l檢視本機的監聽端口netstat -rip route檢視本機路由表route addip route add添加靜態路由route delip route del刪除靜態路由route -nip route show檢視本機路由表vconfigip link檢視本地連接情況

Linux檢視MAC地址表

? (172.16.87.174) 位於 00:0c:29:2a:8e:23 [ether] 在 vmnet8

? (172.16.87.170) 位於 在 vmnet8

? (172.16.87.179) 位於 00:0c:29:2a:8e:23 [ether] 在 vmnet8

? (192.168.42.129) 位於 da:1a:b5:a1:93:bc [ether] 在 enp0s20u1

檢視網卡基本資訊

檢視網卡基本資訊

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: enp0s25: mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000

link/ether 3c:97:0e:43:e8:bd brd ff:ff:ff:ff:ff:ff

3: wlp3s0: mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000

link/ether 60:67:20:c7:be:00 brd ff:ff:ff:ff:ff:ff

4: vmnet1: mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000

link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff

5: vmnet8: mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000

link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff

12: enp0s20u1: mtu 1500 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 1000

link/ether c6:34:99:3e:12:f9 brd ff:ff:ff:ff:ff:ff

Linux 檢視ip 命令幫助資訊

Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }

ip [ -force ] -batch filename

where OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |

tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |

netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila |

vrf | sr }

OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |

-h[uman-readable] | -iec |

-f[amily] { inet | inet6 | ipx | dnet | mpls | bridge | link } |

-4 | -6 | -I | -D | -B | -0 |

-l[oops] { maximum-addr-flush-attempts } | -br[ief] |

-o[neline] | -t[imestamp] | -ts[hort] | -b[atch][filename] |

-rc[vbuf][size] | -n[etns] name | -a[ll] | -c[olor]}

Linux檢視網卡流量傳輸資訊

Linux檢視網卡流量傳輸資訊

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

RX: bytes packets errors dropped overrun mcast

300977974 305919 0 0 0 0

TX: bytes packets errors dropped carrier collsns

300977974 305919 0 0 0 0

2: eth0: mtu 1400 qdisc mq state UP mode DEFAULT group default qlen 1000

link/ether fa:16:3e:48:b5:08 brd ff:ff:ff:ff:ff:ff

RX: bytes packets errors dropped overrun mcast

107994934 965313 0 0 0 0

TX: bytes packets errors dropped carrier collsns

714725526 808580 0 0 0 0

https://www.linuxrumen.com/rmxx/804.html

標籤:mpls linux