Linux基礎命令-大全

命令

1.

// An highlighted block
var foo = 'bar';

1.A

1.

// An highlighted block
var foo = 'bar';

2.B

3.C

1.cat命令

1.cat命令
cat [OPTION]... [FILE]... 
	-E:顯示行結束符$ -n:對顯示出的每一行進行編號
	-A:顯示所有控制符
	-b:非空行編號
	-s:壓縮連續的空行成一行

2.chage命令

// An highlighted block
var foo = 'bar';

4.D

1.dd命令

1.dd命令
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=# count=#
dd 命令:convert and copy a file
	if=file 從所命名文件讀取而不是從標準輸入
	of=file 寫到所命名的文件而不是到標準輸出
	ibs=size 一次讀size個byte
	obs=size 一次寫size個byte
	bs=size block size, 指定塊大小(既是是ibs也是obs)
	cbs=size 一次轉化size個byte
	skip=blocks 從開頭忽略blocks個ibs大小的塊
	seek=blocks 從開頭忽略blocks個obs大小的塊
	count=n 複製n個bs
	conv=conversion[,conversion...] 用指定的參數轉換文件
		轉換參數:
	ascii 轉換 EBCDICASCII
	ebcdic 轉換 ASCIIEBCDIC
	lcase 把大寫字符轉換爲小寫字符
	ucase 把小寫字符轉換爲大寫字符
	nocreat 不創建輸出文件
	noerror 出錯時不停止
	notrunc 不截短輸出文件
	sync 把每個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊
	fdatasync 寫完成前,物理寫入輸出文件
例子:
1)備份MBR
	dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
2)破壞MBR中的bootloader
	dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
3)有一個大與2K的二進制文件fileA。現在想從第64個字節位置開始讀取,需要讀取的大小是128Byts。又有fileB, 想把上面讀取到的128Bytes寫到第32個字節開始的位置,替換128Bytes,實現如下
	dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc
4)備份:
	4.1)將本地的/dev/sdx整盤備份到/dev/sdy
	dd if=/dev/sdx of=/dev/sdy
	4.2)/dev/sdx全盤數據備份到指定路徑的image文件
	dd if=/dev/sdx of=/path/to/image
	4.3)備份/dev/sdx全盤數據,並利用gzip壓縮,保存到指定路徑
	dd if=/dev/sdx | gzip >/path/to/image.gz	
5)恢復:
	5.1)將備份文件恢復到指定盤
	dd if=/path/to/image of=/dev/sdx
	5.2)將壓縮的備份文件恢復到指定盤
	gzip -dc /path/to/image.gz | dd of=/dev/sdx
6)拷貝內存資料到硬盤
	將內存裏的數據拷貝到root目錄下的mem.bin文件
	dd if=/dev/mem of=/root/mem.bin bs=1024
7)從光盤拷貝iso鏡像
	拷貝光盤數據到root文件夾下,並保存爲cd.iso文件
	dd if=/dev/cdrom of=/root/cd.iso
8)銷燬磁盤數據
	利用隨機的數據填充硬盤,在某些必要的場合可以用來銷燬數據,執行此操作以後,/dev/sda1將無法掛載,創建和拷貝操作無法執行
	dd if=/dev/urandom of=/dev/sda1

2.df命令

2.df命令
df [OPTION]... [FILE]...
文件系統空間佔用等信息的查看工具
	-H10爲單位
	-T 文件系統類型
	-h human-readable
	-i inodes instead of blocks
	-P 以Posix兼容的格式輸出

3.du命令

3.du命令
du [OPTION]... DIR
查看某目錄總體空間佔用狀態
	-h human-readable
	-s summary
	--max-depth=# 指定最大目錄層級

4.dmesg命令

4.dmesg命令
dmesg [OPTION...]
1)列出加載到內核中的所有驅動
我們可以使用如‘more’。 ‘tail’, ‘less ’或者‘grep’文字處理工具來處理‘dmesg’命令的輸出。由於dmesg日誌的輸出不適合在一頁中完全顯示,因此我們使用管道(pipe)將其輸出送到more或者less命令單頁顯示。
	dmesg | more
	dmesg | less
2)列出所有被檢測到的硬件
要顯示所有被內核檢測到的硬盤設備,你可以使用‘grep’命令搜索‘sda’關鍵詞
	dmesg | grep sda

3)只輸出dmesg命令的前20行日誌
在‘dmesg’命令後跟隨‘head’命令來顯示開始幾行,‘dmesg | head -20′命令將顯示開始的前20行。
	dmesg | head  -20
4)只輸出dmesg命令最後20行日誌
在‘dmesg’命令後跟隨‘tail’命令(‘ dmesg | tail -20’)來輸出‘dmesg’命令的最後20行日誌,當你插入可移動設備時它是非常有用的。
	dmesg | tail -20
5)搜索包含特定字符串的被檢測到的硬件
由於‘dmesg’命令的輸出實在太長了,在其中搜索某個特定的字符串是非常困難的。因此,有必要過濾出一些包含‘usb’ ‘dma’ ‘tty’ ‘memory’等字符串的日誌行。grep 命令 的‘-i’選項表示忽略大小寫。
	dmesg |grep -i eth
	dmesg | grep -i usb
	dmesg | grep -i dma
	dmesg | grep -i tty
	dmesg | grep -i memory
6)清空dmesg緩衝區日誌
我們可以使用如下命令來清空dmesg的日誌。該命令會清空dmesg環形緩衝區中的日誌。但是你依然可以查看存儲在‘/var/log/dmesg’文件中的日誌。你連接任何的設備都會產生dmesg日誌輸出。
	dmesg -c
7)實時監控dmesg日誌輸出
在某些發行版中可以使用命令‘tail -f /var/log/dmesg’來實時監控dmesg的日誌輸出
	watch "dmesg | tail -20"
結論:dmesg命令在系統dmesg記錄實時更改或產生的情況下是非常有用的。你可以使用man dmesg來獲取更多關於dmesg的信息。

5.dig命令

5.dig命令

5.declare命令

6.declare命令
1.Shell變量一般是無類型的,但是bash Shell提供了declare和typeset兩個命令
  用於指定變量的類型,兩個命令是等價的
2.declare [選項] 變量名
	-r 聲明或顯示只讀變量
	-i 將變量定義爲整型數
	-a 將變量定義爲數組
	-A 將變量定義爲關聯數組
	-f 顯示已定義的所有函數名及其內容
	-F 僅顯示已定義的所有函數名
	-x 聲明或顯示環境變量和函數
	-l 聲明變量爲小寫字母 declare –l var=UPPER
	-u 聲明變量爲大寫字母 declare –u var=lower

5.E

1.ethtool命令

1.ethtool命令
df [OPTION]... [DEVICE]
ethtool 是用於查詢及設置網卡參數的命令。
	ethtool ethx       //查詢ethx網口基本設置,其中 x 是對應網卡的編號,如eth0、eth1等等
	ethtool –h        //顯示ethtool的命令幫助(help)
	ethtool –i ethX    //查詢ethX網口的相關信息 
	ethtool –d ethX    //查詢ethX網口註冊性信息
	ethtool –r ethX    //重置ethX網口到自適應模式
	ethtool –S ethX    //查詢ethX網口收發包統計
	ethtool –s ethX [speed 10|100|1000] [duplex half|full]  [autoneg on|off]        //設置網口速率10/100/1000M、設置網口半/全雙工、設置網口是否自協商
	相關參考:
		1)which ethtool        //查詢 ethtool 存放的路徑
		2)rpm -qf /sbin/ethtool        //查詢 ethtool 的版本信息
		3)將 ethtool 設置永久保存在網絡設備的方法
		解決方法一:
        ethtool 設置可通過 /etc/sysconfig/network-scripts/ifcfg-ethX 文件保存,從而在設備下次啓動時激活選項。 
			例如:ethtool -s eth0 speed 100 duplex full autoneg off
			此指令將eth0設備設置爲全雙工自適應,速度爲100Mbs。若要eth0啓動時設置這些參數, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加如下一行: 
			ETHTOOL_OPTS="speed 100 duplex full autoneg off"
        解決方法二:
        	 將ethtool設置寫入/etc/rc.d/rc.local之中。

2.eval命令

2.eval命令

1.eval命令將會首先掃描命令行進行所有的置換,然後再執行該命令。該命令
  適用於那些一次掃描無法實現其功能的變量.該命令對變量進行兩次掃描
2.示例:
	[root@server ~]# CMD=whoami
	[root@server ~]# echo $CMD
	whoami
	[root@server ~]# eval $CMD
	root
	[root@server ~]# n=10
	[root@server ~]# echo {0..$n}
	{0..10}
	[root@server ~]# eval echo {0..$n}
	0 1 2 3 4 5 6 7 8 9 10

3.expect命令

3.expect命令

1.expect 語法:
	expect [選項] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args ]
2.選項
	-c:從命令行執行expect腳本,默認expect是交互地執行的
		 示例:expect -c 'expect "\n" {send "pressed enter\n"}
	-d:可以輸出輸出調試信息
		 示例:expect -d ssh.exp
3.expect中相關命令
	spawn 啓動新的進程
	send 用於向進程發送字符串
	expect 從進程接收字符串
	interact 允許用戶交互
	exp_continue 匹配多個字符串在執行動作後加此命令
4.expect最常用的語法(tcl語言:模式-動作)
5.單一分支模式語法:
	expect “hi” {send “You said hi\n"}
	匹配到hi後,會輸出“you said hi”,並換行
6.多分支模式語法:
	expect "hi" { send "You said hi\n" } \
	"hehe" { send "Hehe yourself\n" } \
	"bye" { send "Good bye\n" }

	匹配hi,hello,bye任意字符串時,執行相應輸出。等同如下:
	expect {
	"hi" { send "You said hi\n"}
	"hehe" { send "Hehe yourself\n"}
	"bye" { send " Good bye\n"}
	}

6.F

7.G

1.groupadd命令

// An highlighted block
var foo = 'bar';

2.groupdel命令

// An highlighted block
var foo = 'bar';

3.gpasswd命令

// An highlighted block
var foo = 'bar';

8.H

1.hostname命令

1.hostname
顯示主機名
	hostname master 臨時修改主機名

2.hostnamectl命令

2.hostnamectl
顯示主機名
	hostnamectl set-hostname master 永久修改主機名
擴展:永久修改主機名
	(1)修改/etc/sysconfig/network文件,添加或修改:
            NETWORKING=yes
            HOSTNAME=主機名
    (2)修改/etc/hosts文件
            將"127.0.0.1"所在行中的"localhost.localdomain"修改爲"新主機名""::1"所在行中的"localhost.localdomain"修改爲"新主機名"3)修改/etc/hostname文件
            刪除文件中的所有內容,然後輸入新的主機名
    (4)重啓計算機

3.host命令

3.host命令

9.I

1.ifconfig命令

1.ifconfig命令
ifconfig 網絡接口 [選項] 地址/參數
Linux 系統配置網卡的命令工具,可用於查看和更改網絡接口的地址和參數,包括IP 地址、廣播地址、子網掩碼和物理地址,也可激活和關閉網卡。

ifconfig [網絡設備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<網絡設備類型><硬件地址>]
[io_addr<I/O地址>][irq<IRQ地址>][media<網絡媒介類型>][mem_start<內存地址>][metric<數目>][mtu<字節>]
[netmask<子網掩碼>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

	add<地址> 設置網絡設備IPv6的IP地址。
	del<地址> 刪除網絡設備IPv6的IP地址。
	down 關閉指定的網絡設備。
	<hw<網絡設備類型><硬件地址> 設置網絡設備的類型與硬件地址。
	io_addr<I/O地址> 設置網絡設備的I/O地址。
	irq<IRQ地址> 設置網絡設備的IRQ。
	media<網絡媒介類型> 設置網絡設備的媒介類型。
	mem_start<內存地址> 設置網絡設備在主內存所佔用的起始地址。
	metric<數目> 指定在計算數據包的轉送次數時,所要加上的數目。
	mtu<字節> 設置網絡設備的MTU。
	netmask<子網掩碼> 設置網絡設備的子網掩碼。
	tunnel<地址> 建立IPv4與IPv6之間的隧道通信地址。
	up 啓動指定的網絡設備。
	-broadcast<地址> 將要送往指定地址的數據包當成廣播數據包來處理。
	-pointopoint<地址> 與指定地址的網絡設備建立直接連線,此模式具有保密功能。
	-promisc 關閉或啓動指定網絡設備的promiscuous模式。
	[IP地址] 指定網絡設備的IP地址。
	[網絡設備] 指定網絡設備的名稱。
例子:
1)啓動關閉指定網卡
	ifconfig eth0 down
	ifconfig eth0 up
2)爲網卡配置和刪除IPv6地址
	ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //爲網卡誒之IPv6地址
	ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //爲網卡刪除IPv6地址
3)用ifconfig修改MAC地址
	ifconfig eth0 down //關閉網卡
	ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
	ifconfig eth0 up //啓動網卡
	ifconfig eth1 hw ether 00:1D:1C:1D:1E //關閉網卡並修改MAC地址 
	ifconfig eth1 up //啓動網卡
4)配置IP地址
	ifconfig eth0 192.168.1.56 //給eth0網卡配置IP地址
	ifconfig eth0 192.168.1.56 netmask 255.255.255.0 // 給eth0網卡配置IP地址,並加上子掩碼
	ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255// 給eth0網卡配置IP地址,加上子掩碼,加上個廣播地址
5)啓用和關閉ARP協議
	ifconfig eth0 arp  //開啓
	ifconfig eth0 -arp  //關閉
6)設置最大傳輸單元
	ifconfig eth0 mtu 1500 //設置能通過的最大數據包大小爲 1500 bytes

2.ip命令

2.ip命令
配置Linux網絡屬性:ip 命令
(1)ip - show / manipulate routing, devices, policy routing and tunnels
	ip [ OPTIONS ] OBJECT { COMMAND | help }
	OBJECT := { link | addr | route }
	ip link - network device configuration
		set dev IFACE
		可設置屬性:
			up and down:激活或禁用指定接口
				ifup/ifdown
		show [dev IFACE]:指定接口
			[up]:僅顯示處於激活狀態的接口
	例1:ip link set eth1 down
	例2:ip link show up

(2)ip addr { add | del } IFADDR dev STRING
	[label LABEL]:添加地址時指明網卡別名
	[scope {global|link|host}]:指明作用域
		global: 全局可用
		link: 僅鏈接可用
		host: 本機可用
	[broadcast ADDRESS]:指明廣播地址
	例1: ip addr add 1.1.1.1/24  scope global dev eth1 label eth1:02: ip addr del 1.1.1.1/24 dev eth1 label eth1:0
	
(3)ip address show - look at protocol addresses
	[dev DEVICE]
	[label PATTERN]
	[primary and secondary]1: ip addr show dev eth1 
	
(4)ip addr flush 使用格式同show
	ip addr add 172.16.100.100/16 dev eth0 label eth0:0
	ip addr del 172.16.100.100/16 dev eth0 label eth0:0
	ip addr flush dev eth0 label eth0:0

(5)ip route - routing table management
	添加路由:ip route add
	ip route add TARGET via GW dev IFACE src SOURCE_IP
		TARGET:
			主機路由:IP
			網絡路由:NETWORK/MASK
		ip route add 192.168.0.0/24 via 172.16.0.1
		ip route add 192.168.1.13 via 172.16.0.1
		
	添加網關:ip route add default via GW dev IFACE
			ip route add default via 172.16.0.1
	刪除路由:ip route del TARGET1: ip route del default via 10.0.7.254
	顯示路由:ip route show|list
	清空路由表:ip route flush [dev IFACE] [via PREFIX]
			ip route flush dev eth0

3.install命令

3.install命令

1.install命令:
	 install [OPTION]... [-T] SOURCE DEST 單文件
	 install [OPTION]... SOURCE... DIRECTORY
	 install [OPTION]... -t DIRECTORY SOURCE...
	 install [OPTION]... -d DIRECTORY...創建空目錄
2.選項:
	-m MODE,默認755
	-o OWNER
	-g GROUP
3.示例:
	install -m 700 -o wang -g admins srcfile desfile
	install –m 770 –d /testdir/installdir

10.J

11.K

12.L

13.M

1.modprobe命令

1.modprobe命令
modprobe [-acdlrtvV][--help][模塊文件][符號名稱 = 符號值]
Linux modprobe命令用於自動處理可載入模塊。
modprobe可載入指定的個別模塊,或是載入一組相依的模塊。modprobe會根據depmod所產生的相依關係,決定要載入哪些模塊。若在載入過程中發生錯誤,在modprobe會卸載整組的模塊。
	-a或--all  載入全部的模塊。
	-c或--show-conf  顯示所有模塊的設置信息。
	-d或--debug  使用排錯模式。
	-l或--list  顯示可用的模塊。
	-r或--remove  模塊閒置不用時,即自動卸載模塊。
	-t或--type  指定模塊類型。
	-v或--verbose  執行時顯示詳細的信息。
	-V--version  顯示版本信息。
	-help  顯示幫助
例子:
1)卸載網卡驅動
	modprobe -r e1000
	rmmod e1000
2)裝載網卡驅動
	modprobe e1000

2.mtr命令

2.mtr命令
mtr [參數] [地址/IP]
檢查在目的地址有丟包的情況下,查出具體在哪一跳丟包,然後反饋給機房,機房再反饋給運營商
	-h	提供幫助命令
	-v 	顯示mtr的版本信息
	-r 	已報告模式顯示
	-n 	不用主機解釋
	-c 	發送多少個數據包
	--report  結果顯示,並不動態顯示。
	-s 用來指定ping數據包的大小
	-a 來設置發送數據包的IP地址 這個對一個主機由多個IP地址是有用的
	-i 使用這個參數來設置ICMP返回之間的要求默認是1-4 IPv4
	-6 IPv6
輸出參數解釋:
	第一列是IP地址
	丟包率:Loss
	已發送的包數:Snt
	最後一個包的延時:Last
	平均延時:Avg
	最低延時:Best
	最差延時:Wrst
	方差(穩定性):StDev

mtr作用
1.linux網絡連通性判斷工具,檢測網絡
一般,windows用ping和tracert來判斷網絡連通性
linux中用mtr命令,結合ping nslookup tracert來判斷網絡的相關特性。
檢測步驟:
1)檢查目的地址有丟包的情況下,查出具體在哪一跳丟包。
2)看最後的目的地址是否有丟包,若沒有一跳沒有丟包,說明線路ok;
3)若有丟包,看路由情況,查找第一次丟包發生在哪一跳。

ping檢測網絡的步驟:
1)ifconfig觀察本地網絡設置是否正確;
2)ping 本機/本機ip-→若不通,表明網卡安裝或配置有問題;
3)ping 網關-→ 若ping通,表明局域網中的網關路由器正常運行;
4)ping本地DNS地址,檢查dns是否能夠正確解析IP/etc/resolv.conf文件中的nameserver
5)ping 遠程ip-→ 檢查本機是否能正常訪問Internet

2.通過mtr進行鏈路測試
鏈路測試的前提條件
當網站訪問很慢或無法訪問時,若排除其它顯著問題,而檢測到 ping 有明顯丟包時,建議進行鏈路測試。
Linux 環境下,您可以通過 mtr 命令行工具(優先使用) 或 traceroute 命令行工具進行鏈路測試來判斷問題來源
處理步驟:
1)利用鏈路測試工具探測網絡狀況和服務器狀態。
2)根據鏈路測試結果分析處理。

判斷各區域是否存在異常,並根據各區域的情況分別處理。
區域 A:客戶端本地網絡,即本地局域網和本地網絡提供商網絡。針對該區域異常,客戶端本地網絡相關節點問題,請對本地網絡進行排查分析;本地網絡提供商網絡相關節點問題,請向當地運營商反饋。
區域 B:運營商骨幹網絡。針對該區域異常,可根據異常節點 IP 查詢歸屬運營商,然後直接或通過阿里雲售後技術支持,向相應運營商反饋問題。
區域 C:目標服務器本地網絡,即目標主機歸屬網絡提供商網絡。針對該區域異常,需要向目標主機歸屬網絡提供商反饋問題

在這裏插入圖片描述

2.mktemp命令

2.mktemp命令

1.mktemp命令:創建並顯示臨時文件,可避免衝突
2.mktemp [OPTION]... [TEMPLATE]
	TEMPLATE: filenameXXX
	X至少要出現三個
3.OPTION-d: 創建臨時目錄
	-p DIR--tmpdir=DIR:指明臨時文件所存放目錄位置
4.示例:
	mktemp /tmp/testXXX
	tmpdir=`mktemp –d /tmp/testdirXXX`
	mktemp --tmpdir=/testdir testXXXXXX

14.N

1.netstat命令

1.netstat命令
netstat [-acCeFghilMnNoprstuvVwx][-A<網絡類型>][--ip]
Linux netstat命令用於顯示網絡狀態,利用netstat指令可讓你得知整個Linux系統的網絡情況.
	-t: tcp協議相關
	-u: udp協議相關
	-w: raw socket相關
	-l: 處於監聽狀態
	-a: 所有狀態
	-n: 以數字顯示IP和端口
	-e:擴展格式
	-p: 顯示相關進程及PID
常用組合:
	-tan, -uan, -tnl, -unl
顯示路由表:
	netstat {--route|-r} [--numeric|-n]
	-r: 顯示內核路由表
	-n: 數字格式
顯示接口統計數據:
	netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p][--numeric|-n]
		netstat -i
		netstat –I=IFACE
		ifconfig -s eth0

2.nslookup命令

2.nslookup命令

3.newgrp命令

// An highlighted block
var foo = 'bar';

15.O

16.P

1.passwd

// An highlighted block
var foo = 'bar';

17.Q

18.R

1.route命令

1.route命令
路由管理命令
route [-CFvnee]
route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] 
      [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
route [-V] [--version] [-h] [--help
(1) 選項
	-C		//顯示路由緩存。
	-F		//顯示發送信息
	-v		//顯示詳細的處理信息。
	-n		//不解析名字。
	-ee		//使用更詳細的資訊來顯示
	-V		//顯示版本信息。
	-net	//到一個網絡的路由表。
	-host	//到一個主機的路由表。
(2) 參數
	add			//增加路由記錄。
	del			//刪除路由記錄。
	target		//目的網絡或目的主機。
	gw			//設置默認網關。gateway 的簡寫,後續接的是 IP 的數值。
	mss			//設置TCP的最大區塊長度(MSS),單位MB。
	window		//指定通過路由表的TCP連接的TCP窗口大小。
	dev			//如果只是要指定由那一塊網路卡連線出去,則使用這個設定,後面接 eth0 等。
	reject		//設置到指定網絡爲不可達,避免在連接到這個網絡的地址時程序過長時間的等待,直接就知道該網絡不可達。
例子:
1)添加和刪除路由
route {add | del } [-net|-host] [網域或主機] netmask [mask] [gw|dev]  
	增加 (add) 與刪除 (del) 路由的相關參數:
	(a) -net :表示後面接的路由爲一個網域。
	(b) -host :表示後面接的爲連接到單部主機的路由。
	(c) netmask :與網域有關,可以設定 netmask 決定網域的大小。
	(d) gw :gateway 的簡寫,後續接的是 IP 的數值,與 dev 不同。
	(e) dev :如果只是要指定由那一塊網路卡連線出去,則使用這個設定,後面接 eth0 等。 
	例1:route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
	例2:route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
	例3:route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
	
2)查詢路由信息
route -nee 
	(a) -n:不要使用通訊協定或主機名稱,直接使用 IP 或 port number。
	(b) -ee:使用更詳細的資訊來顯示。

3)添加/刪除默認網關路由
route {add | del } default gw {IP-ADDRESS} {INTERFACE-NAME} 
	(a) IP-ADDRESS:用於指定路由器(網關)的IP地址。
	(b) INTERFACE-NAME:用於指定接口名稱,如eth0。 
	例1:route add default gw 192.168.1.1 eth0
	例2:route del default gw 192.168.1.1 eth0
	例3: route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.14: route add default gw 192.168.233.2 dev eth1 metric 99

4)添加/刪除到指定網絡的路由規則
route {add | del } -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME} 
	(a) NETWORK-ADDRESS:用於指定網絡地址。
	(b) NETMASK:用於指定子網掩碼。
	(c) INTERFACE-NAME:用於指定接口名稱,如eth0。 
	例1:route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
	例2:route del -net 192.168.1.0 netmask 255.255.255.0 dev eth0

5)添加/刪除路由到指定網絡爲不可達
設置到指定網絡爲不可達,避免在連接到這個網絡的地址時程序過長時間的等待,直接就知道該網絡不可達。 
route {add | del } -net {NETWORK-ADDRESS} netmask {NETMASK} reject 
	(a) NETWORK-ADDRESS:用於指定網絡地址。
	(b) NETMASK:用於指定子網掩碼。 
	例1:route add -net 10.0.0.0 netmask 255.0.0.0 reject
	例2:route del -net 10.0.0.0 netmask 255.0.0.0 reject

更多擴展看-->>Linux基礎命令-網絡配置和相關命令中的route命令

19.S

1.ss命令

1.ss命令
格式:ss [OPTION]... [FILTER]
netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信息
選項:
	-t: tcp協議相關
	-u: udp協議相關
	-w: 裸套接字相關
	-x:unix sock相關
	-l: listen狀態的連接
	-a: 所有
	-n: 數字格式
	-p: 相關的程序及PID
	-e: 擴展的信息
	-m:內存用量
	-o:計時器信息

FILTER : [ state TCP-STATE ] [ EXPRESSION ]
TCP的常見狀態:
	tcp finite state machine:
		LISTEN: 監聽
		ESTABLISHED:已建立的連接
		FIN_WAIT_1: 等待第一階段
		FIN_WAIT_2: 等待第二階段
		SYN_SENT
		SYN_RECV
		CLOSED
EXPRESSION:
	dport =
	sport =
	示例:’( dport = :ssh or sport = :ssh )’
常用組合:
	-tan, -tanl, -tanlp, -uan
	ss -l 顯示本地打開的所有端口
	ss -pl 顯示每個進程具體打開的socket
	ss -t -a 顯示所有tcp socket
	ss -u -a 顯示所有的UDP Socekt
	ss -o state established '( dport = :ssh or sport = :ssh )' 顯示所有已建立的ssh連接
	ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接
	ss -s 列出當前socket詳細信息

2.su命令

// An highlighted block
var foo = 'bar';

20.T

1.traceroute命令

1.traceroute命令
traceroute[參數][主機]
	traceroute指令讓你追蹤網絡數據包的路由途徑,預設數據包大小是40Bytes,用戶可另行設置。
	具體參數格式:traceroute [-dFlnrvx][-f<存活數值>][-g<網關>...][-i<網絡界面>][-m<存活數值>][-p<通信端口>][-s<來源地址>][-t<服務類型>][-w<超時秒數>][主機名稱或IP地址][數據包大小]

	-d 使用Socket層級的排錯功能。
	-f 設置第一個檢測數據包的存活數值TTL的大小。
	-F 設置勿離斷位。
	-g 設置來源路由網關,最多可設置8個。
	-i 使用指定的網絡界面送出數據包。
	-I 使用ICMP迴應取代UDP資料信息。
	-m 設置檢測數據包的最大存活數值TTL的大小。
	-n 直接使用IP地址而非主機名稱。
	-p 設置UDP傳輸協議的通信端口。
	-r 忽略普通的Routing Table,直接將數據包送到遠端主機上。
	-s 設置本地主機送出數據包的IP地址。
	-t 設置檢測數據包的TOS數值。
	-v 詳細顯示指令的執行過程。
	-w 設置等待遠端主機回報的時間。
	-x 開啓或關閉數據包的正確性檢驗。
 
 例1: traceroute www.baidu.com 
 例2: 跳數設置
 	traceroute -m 10 www.baidu.com
 例3: 顯示IP地址,不查主機名
 	traceroute -n www.baidu.com
 例4: 探測包使用的基本UDP端口設置6888
 	traceroute -p 6888 www.baidu.com
 例5: 把探測包的個數設置爲值4
 	traceroute -q 4 www.baidu.com
 例6: 繞過正常的路由表,直接發送到網絡相連的主機
 	traceroute -r www.baidu.com
 例7: 把對外發探測包的等待響應時間設置爲3秒
 	traceroute -w 3 www.baidu.com

2.tracepath命令

2.tracepath命令
	-n	 不查看主機名字
	例1: 跟蹤路由
		 tracepath -n   www.qq.com   

21.U

1.useradd

// An highlighted block
var foo = 'bar';

2.usermod

// An highlighted block
var foo = 'bar';

22.V

23.W

1.watch命令

1.watch命令
watch [OPTION]...[COMMAND]
可以將命令的輸出結果輸出到標準輸出設備,多用於週期性執行命令/定時執行命令
	-n或--interval  watch缺省每2秒運行一下程序,可以用-n或-interval來指定間隔的時間
	-d或--differences	watch 會高亮顯示變化的區域。 而-d=cumulative選項會把變動過的地方(不管最近的那次有沒有變動)都高亮顯示出來
	-t或-no-title	會關閉watch命令在頂部的時間間隔,命令,當前時間的輸出
	-h或--help
例子:
1)每隔一秒高亮顯示網絡鏈接數的變化情況
	watch -n 1 -d netstat -ant
2)每隔一秒高亮顯示http鏈接數的變化情況
	watch -n 1 -d 'pstree|grep http'
3)實時查看模擬攻擊客戶機建立起來的連接數
	watch 'netstat -an | grep:21 | \ grep<模擬攻擊客戶機的IP>| wc -l' 
4)監測當前目錄中 scf' 的文件的變化
	watch -d 'ls -l|grep scf' 
5)10秒一次輸出系統的平均負載
	watch -n 10 'cat /proc/loadavg'

24.X

25.Y

26.Z

27.備註

1.文件內容: cat ,more,less
2.文件截取:head,tail
3.按列抽取:cut
4.排序和統計:sort,wc
5.按關鍵字抽取:grep
發佈了18 篇原創文章 · 獲贊 10 · 訪問量 7789
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章