linux-command
Posted sky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux-command相关的知识,希望对你有一定的参考价值。
xshell 使用
Windows和linux间传输文件:winscp软件
利用xshell:
在linux端:# yum install lrzsz
在Xshell连接属性中的设置上传协议为Zmodem和接受的文件路径等
# rz ---上传文件到Linux端
# sz filename ---发送文件到windows端
windows远程连接:
打开允许远程协助:计算机-->属性-->远程设置-->...
CMD:mstsc-->...
网络属性管理
IP netmask geteway route DNS
IP/netmask:用于确定自身所处的网路,以及对方主机是否与本主机在同一网络中
geteway:用于本机与其它网络主机通讯使用
route:建立路径条目,分三种类型:
(1)网络路由:目标是一个网络
(2)主机路由:目标是一个主机
(3)默认路由:目标是所有的非本地网络,通常默认路由的下一跳为主机上某块网卡的网关地址
注:下一跳路由接口的地址必须与本地主机的某个地址在同一网络中
DNS:对域名进行解析,包括主DNS服务器、备DNS服务器,第三方备用DNS服务器
获取网卡信息:
# dmesg |grep -i eth
e1000 0000:02:01.0: eth0: (PCI:66MHz:32-bit) 00:0c:29:df:b6:bf
e1000 0000:02:01.0: eth0: Intel(R) PRO/1000 Network Connection
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
eth0: no IPv6 routers present
8021q: adding VLAN 0 to HW filter on device eth0
网卡模块为:e1000 芯片为:Intel 网卡 网卡速度可达:1000 Mbps全双工模式
# lspci |grep -i eth
02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)
查询对应设备芯片的数据信息
网卡信息说明:
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:DF:B6:BF
inet addr:192.168.1.40 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fedf:b6bf/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:22448 errors:0 dropped:0 overruns:0 frame:0
TX packets:3254 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2799646 (2.6 MiB) TX bytes:346464 (338.3 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:800 errors:0 dropped:0 overruns:0 frame:0
TX packets:800 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:43296 (42.2 KiB) TX bytes:43296 (42.2 KiB)
---------------------------------------------------------------------
eth0: 表示第一块网卡
lo: 表示回环测试接口,注意,这个虚拟的interface一定要存在!
usb0: 表示USB接口的网卡;
Link encap: 表示位于OSI物理层的名称,即连接类型Ethernet(以太网)
HWaddr: 表示网卡的硬件地址,即MAC地址
inet addr: 表示网卡IP;
Bcast: 表示广播(broadcast ) 的地址;
Mask: 表示子网掩码;
UP: 表示网卡开启状态;
BROADCAST: 表示支持广播;
MULTICAST: 表示网卡混杂模式;
RUNNING: 表示网卡的网线被接上;
MULTICAST: 表示支持组播;
MTU: 表示MaximumTrasmission Unit 最大传输单元(字节),即此接口一次所能传输的最大封包;
Metric: 表示路由度量值,缺省值是0;
RX: 表示网络由激活到目前为止接收的数据包;
TX: 表示网络由激活到目前为止发送的数据包;
collisions: 表示网络信号冲突的情况;
txqueuelen: 表示传输缓冲区长度大小;
Memory: 表示占用内存范围。
配置静态IP地址
方法:ifconfig命令
ip命令
GUI工具
TUI工具
编辑配置文件
(1)ifconfig 命令
查看接口:ifconfig [interface]
-a:包括没有激活状态的所有接口
MTU:表示最大的传输单元
启用或禁用:ifconfig IFNAME up|down
或者:ifup|ifdown IFNAME
设定IP地址:ifconfig IFNAME IP/Netmask [up]
或者:ifconfig IFNAME IP netmask Netmask
设置的IP会立即生效,但不会永久生效
(2)ip 命令
ip [options] object {command|help}
object:={link | addr | route}
link:链接接口
addr:管理接口上的地址
route:管理路由
其中link:
set:设定接口属性 ip link set DEVICE {up | down} 启用或禁用接口
ip link set DEVICE promisc {on | off} 是否支持混杂模式
ip link set DEVICE name newname 设定接口使用新名字
show:显示接口状态 ip link show [DEVICE] 显示网卡相关的硬件信息
addr:管理地址
-------------------------------------------------------------------------------------
抓包工具
tcpdump
tcpdump tcp dst port 80 -n
tcpdump -i eth1 tcp dst port 80 -n ---小写i参数指定哪个网卡
tcpdump tcp dst port 80 -n -w tcpdump.txt ---把dump出来的信息保存到tcpdump.txt文件
tcpdump -r tcpdump.txt ---然后需要使用tcpdump -r去读取
关系参数 : ! and or
tcpdump tcp dst port 80 -n and src 10.2.2.4
tcpdump tcp dst port 80 -n and ! src 10.2.2.4
tcpdump tcp dst port 80 -n and host 10.2.2.4
-vv :把数据包的详细内容都记录下来
-w : 把数据保存到某个文件
-nn :直接以 IP 及 Port Number 显示,而非主机名与服务名称。
捕捉所有访问本机ftp服务器的连接,并且数据包是来自10.2.2.4
tcpdump tcp dst port 21 and src 10.2.2.4 -n
捕捉所有来自10.2.2.1的arp协议的数据包,并且捕捉的显示要求输出以太网数据帧的信息
tcpdump arp and src 10.2.2.1 -n -e
捕捉所有本机web服务回应10.2.2.4的数据包
tcpdump tcp src port 80 and dst 10.2.2.4
图形的抓包工具:wireshark
###############################################################################################
sed
vim 交互式的文本编辑工具
grep 流式的文本处理工具,检索条件关键字
sed 在线编辑器,行编辑器;搜索匹配处理文本工具
sed语法结构:sed [options]... {script} [input-file]... [actions]
-r:支持扩展正则表达式;
-n:静默模式;
-e script1 -e script2:指定多脚本运行;
-f /path/to/script-file:从指定的文件中读取脚本并运行;
-i:直接修改源文件;
sed的地址界定(抽取的域)
#:表示数字,指定行;
$:表示最后一行;
/regexp/:能够被regexp匹配到的行;
\%regexp%:同上,%为regexp的边界符;
startline,endline:
#,/regexp/:从#行开始,到第一次被/regexp/所匹配到的行结束,中间所有的行;
#1,#2:从#1行到#2行;
/regexp1/,/regexp2/:从第一次被/regexp1/匹配到的行开始,到第一次被/regexp2/匹配到的行结束,中间所有的行;
#,+n:从#行开始,一直向下的n行;
first~step:指定起始行,以及步长;
sed 编辑命令
d:删除模式空间中的行;
=:为模式空间中的行打印行号;
a ext:在行后面追加文本,支持使用
实现多行追加;
i ext:在行前面追加文本,支持使用
实现多行插入;
c ext:用text替换匹配到的行;
p:打印模式空间中的行;
s/regexp/replacement/gi:替换有regexp所匹配到的内容为replacement(支持使用其它分隔符@#...);
g:全局替换;
i:不区分大小写;
w /path/to/somefile:把指定的内容另存至/path/to/somefile路径所指定的文件中;
r /path/to/somefile:在文件的指定位置插入另一个文件的所有内容,完成文件的合并;
示例:
1 删除grub.conf文件中所有行的行首的空白字符
sed ‘s/^[[:space:]]+//‘ grub.conf
2 删除grub.conf文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字符
sed ‘s/^#[[:space:]]+//‘ grub.conf
3 把grub.conf文件的奇数行另存为grub.conf_3
sed -n ‘1~2w grub.conf_3‘ grub.conf
4 echo一个文件路径给sed命令,取出其基名,路径名
取基名network:echo “/etc/sysconfig/network/” | sed ‘s#^.*/([^/]+)/?$#1#‘
取路径名/etc/sysconfig/:echo “/etc/sysconfig/network/” | sed ‘s#[^/]+/?$##‘
以上是关于linux-command的主要内容,如果未能解决你的问题,请参考以下文章