一、Linux简介
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。
二、常用命令
(1)修改IP地址为静态IP
vi /etc/sysconfig/network-scripts/ifcfg-网卡
将自动获取IP地址后改为静态,然后添加IPDDR/NETMASK/GATEWAY/DSN1
重启网络
systemctlrestart network
(2)用户与用户组
groupadd 添加组
useradd 添加用户
usermod 改变用户所属组
userdel 删除用户
(3)文件权限
chmod 更改文件权限
chown 更改文件所属用户
chgrp 更改文件所属组
(4)查找
文件查找:
find -name “hello.txt”根据名字查找
find -user root 根据用户查找
find -group root 根据组查找
find -type d 根据文件类型查找(f:普通文件;d:目录;l:软链接;c:字符设备;b:块设备)
内容查找:
grep “root” /etc/passwd
wc -l:统计行数
(6)解压缩
tar:
tar -zcvf hh.tar.gz hh.txt :将hh.txt归档并压缩成hh.tar.gz
tar -zxvf hh.tar.gz 解压缩hh.tar.gz
gzip:
gzip -d hh.tar.gz 解压缩
zip:
zip -r hh.zip /opt/test 压缩到/opt/test里面
unzip hh.zip 解压缩
(7)进程与服务
进程:
ps -ef:查看当前所有进程
一般搭配grep查找:
ps -ef | grep mysql
top :查看进程信息和系统的性能
kill -9 PID:强制结束进程
服务:
service mysqld start/stop/restart/ :启动/停止/重启mysql服务
systemctl start/stop/restart/enable/disable mysqld:启动/停止/重启/自启动/禁止自启动mysql服务
查看服务状态
systemctl list-unit-files
(8)常用网络命令
ping:
ping -i 数字:每3秒发送一个数据报文
ping -c 5:发送5个包
ping -f:压力测试,快速一直发送icmp包
ping -f -c:设定具体发包数量,用于快速检测响应时间等
ping -s 数字:设定数据包大小
ip:
ip addr :查看网卡及IP信息
ifconfigi:同上
ifconfig -a:显示所有信息
ifconfig -s:查看网卡的收发数据包大小,RX:收 TX:发
ip link:查看网卡MAC地址
ip -s link:查看网卡的收发数据包大小,RX:收 TX:发
ip neigh:寻找邻居(ARP)
arp -an:同上
ip route:查看路由
route:查看路由
netstat -r:查看路由
route -n:查看路由
ip route flush cache:s刷新路由表
ip link set ens33 up:启动网卡
netstat -anop:监听网络端口和通信情况
traceroute:
traceroute www.baidu.com:跟踪到达的所有路由节点和路径,默认支持30个跃点
curl:
curl http://www.baidu.com/:访问一个网页
curl -o baidu.html http://www.baidu.com/:保存到文件里
三、扩展知识(以下命令都需要安装对应的工具tcpdump/iptables/firewalld)
tcpdump:
tcpdump -i ens33 :监控ens33网卡上的流量并输出到终端s
tcpdump tcp and dst port 80 -i ens33:显示过滤:监控经过ens33的http协议
tcpdump tcp and dst port 80 -i ens33 -w ./target.cap:将流量保存到.target.cap下
tcpdump 协议类型 and dst port 端口 -i ens33 -c 100 -w ./target.cap :只捕获100条数据包并保存到target.pcap就自动结束
iptables:
iptables -I INPUT -i ens33 -p tcp -s 192.168.112.153 --sport 8088 -j ACCEPT :允许本地访问外部IP地址和端口号,通过设定白名单的方式可以防止本地去访问别的服务器
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst:防止DDOS攻击,设定一些数据的限制条件
iptables -t nat -A PREROUTING -p tcp --dport 7777 -j REDIRECT --to-port 80:本地端口转发,80对外封闭,开放一个随机端口7777,外部只知道7777,不知道80
iptables -t nat -A PREROUTING -d 192.168.112.188 -p tcp --dport 8888 -j DNAT --to-destination 192.168.112.153:8088:出站规则访问8888时,转发给目标服务器和目标端口8088
iptables -t nat -A POSTOUTING -d 192.168.112.153 -p tcp --sport 8088 -j SNAT --to 192.168.112.188:允许192.168.168.112.188的8088进入我的防火墙
firewalld:
firewalld-cmd --panic-on :拒绝所有包
firewalld-cmd --panic-off:取消拒绝所有包
firewalld-cmd --add-service=ftp:暂时开放ftp服务
firewalld-cmd --add-service=ftp --permanent:永久开放ftp服务
firewalld-cmd --remove-service=http:阻止http端口
firewalld-cmd --add-port=3306/tcp:开放通过tcp访问3306(mysql)端口
firewalld-cmd --zone=public --add-port=80/tcp --permanent:永久开放80端口(http)
好了,上面的就大概是我总结出经常使用的Linux基础命令!