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';

3.stat命令

3.stat命令

在这里插入图片描述
在这里插入图片描述

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值