当前位置: 首页 > news >正文

[个人笔记] Linux的CLI笔录

Linux - CLI笔录

Linux的CLI笔录

  • Linux - CLI笔录
  • Linux的CLI笔录
    • Linux CentOS及Redhat的firewall-cmd使用
    • Linux CentOS及Redhat的iptables使用
    • Linux的tcpdump使用
    • Linux的vim使用
    • Linux创建systemctl系统服务
    • Linux扫描全部磁盘
    • OpenWrt的CLI
  • 参考来源


Linux的CLI笔录

Linux CentOS及Redhat的firewall-cmd使用

[root@localhost ~]# ls /etc/firewalld/zones/				# 查看firewalld的zone区域配置文件
docker.xml  public.xml  public.xml.old
[root@localhost ~]# cat /etc/firewalld/zones/public.xml		# firewalld的public区域配置文件
<?xml version="1.0" encoding="utf-8"?>
<zone><short>Public</short><description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description><port protocol="udp" port="587"/>...firewall-cmd --help		# 帮助信息
### firewall-cmd的 查看|查询
firewall-cmd --list-all-zones	# 查看所有zones区域,常用并激活的是public区域和docker区域
firewall-cmd --list-all			# 查看当前激活区域的所有配置信息
firewall-cmd --zone=public --list-port		# 指定public区域,查看port端口信息
firewall-cmd --zone=public --list-services	# 指定public区域,查看services服务信息
firewall-cmd --zone=public --list-all		# 指定public区域,查看所有配置信息
firewall-cmd --state			# 查看当前防火墙状态
firewall-cmd --reload			# 重新加载当前配置
systemctl status firewalld		# 查看防火墙服务状态### firewall-cmd的 增删改查
# -permanent: 写入配置文件, 永久设置.firewall-cmd --zone=public --add-port=80/tcp --permanent		# 放通public区域的tcp80端口
firewall-cmd --zone=public --add-service=nfs --permanent		# 放通public区域的nfs服务端口# 以完整规则的定义,放通public区域的源X.X.X.0/24访问本机的tcp2049端口
firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="X.X.X.0/24" port port="2049" protocol="tcp" accept"firewall-cmd --zone=public --add-rule=xxx			# 根据rule规则的定义,放通public区域的指定rule
firewall-cmd --zone=public --add-chain=xxx			# 根据chain规则的定义,放通public区域的指定chain
firewall-cmd --zone=public --remove-xxx=yyy			# 删除某条规则,以remove为前缀
firewall-cmd --zone=public --remove-rich-rule="xxx"	# 删除某条rich-rule规则,以remove为前缀

Linux CentOS及Redhat的iptables使用

iptables --help		# 帮助信息
# -n: 显示端口号
# -v: 显示详细信息
# -L: 显示规则列表### iptables的 查看|查询
iptables -nvL				# 默认显示filter表的所有链规则
iptables -t filter -nvL INPUT	# 默认显示filter表的INPUT链规则
iptables -t nat -nvL		# 显示nat表的所有链规则
systemctl status firewalld	# 查看防火墙服务状态### iptables的 增删改查
#
# 往INPUT链第一行插入规则,放通源1.1.1.0/24访问1.1.2.1的tcp22端口
iptables -I  INPUT 1 -p tcp --dport 22 -s 1.1.1.0/24 -d 1.1.2.1 -j ACCEPT# 往INPUT链第一行插入规则,放通源1.1.1.0/24访问1.1.2.1的多个tcp端口(20-22,111,389,636,2000-2100)
iptables -I INPUT 1 -p tcp -m multiport --dport 20:22,111,389,636,2000:2100 -s 1.1.1.0/24 -d 1.1.2.1 -j ACCEPT# 往OUTPUT链添加规则到最后行,拒绝源1.1.2.1的udp111端口访问1.1.1.0/24
iptables -A OUTPUT -p udp --sport 111 -s 1.1.2.1 -d 1.1.1.0/24 -j DROP# 往FORWARD链添加规则到最后行,允许状态为establish和related的数据包
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT# 删除INPUT链的第一条规则
iptables -D INPUT 1# 修改INPUT链的第一条规则,修改动作为DROP
iptables -R INPUT 1 -j DROP# 清除INPUT链的所有规则
iptables -F INPUT# 修改INPUT、OUTPUT、FORWARD链的默认动作为DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP# iptables保存规则到开机自启动
service iptables save

Linux的tcpdump使用

# -i: 接口
# -s0: 不截断包, 抓完整的数据包
# -X: 完整显示协议头和包内容
# -n: 域名转ip
# -nn: 域名转ip, 应用名称转端口号
# -v: 输出详细报文信息, 明细级别最多 vvv
# -e: 打印包头部信息, 包括源目mac和协议
# -w: 写到文件
# host: 主机
# net: 网络
# port: 端口
# src: 源
# dst: 目tcpdump -i any host 1.1.1.1 port 80 -X -s0 -nnvvve	# 抓取任意接口, 主机1.1.1.1的80端口的数据包

Linux的vim使用

vim ~/.vimrc
set cuc		# 设置vim高亮光标
set number	# 设置vim显示行数

Linux创建systemctl系统服务

### 参考链接: https://blog.csdn.net/qq_40903527/article/details/127678795systemctl list-units --type=service		# 查看 service 类型的服务列表# 在 /etc/systemd/system 目录创建存放自定义服务的目录
[root@nginx ~]# mkdir -p /etc/systemd/system/custom.target.wants/# 创建自定义服务
[root@nginx ~]# touch /etc/systemd/system/custom.target.wants/custom.service# 链接自定义服务到系统服务的执行目录 /usr/lib/systemd/system
[root@nginx ~]# ln -s /etc/systemd/system/custom.target.wants/custom.service /usr/lib/systemd/system/custom.service# 查看自定义服务文件的权限列表
[root@nginx ~]# ll /usr/lib/systemd/system/custom.service
lrwxrwxrwx. 1 root root 74 Sep 19 09:21 /usr/lib/systemd/system/custom.service -> /etc/systemd/system/custom.target.wants/custom.service[root@nginx ~]# ll /etc/systemd/system/custom.target.wants/custom.service 
-rw-r--r--. 1 root root 306 Jul 24 11:26 /etc/systemd/system/custom.target.wants/custom.service# 编辑自定义服务内容
[root@nginx ~]# vim /etc/systemd/system/custom.target.wants/custom.service
[Unit]
Description=desc
Requires=network.service[Service]
ExecStart=/usr/bin/python3 /tmp/custom.py
Type=simple
KillMode=mixed[Install]
WantedBy=multi-user.target
:x# 查看新创建的系统服务
systemctl status custom.service
systemctl is-enabled custom.service# 开启新创建的系统服务
systemctl enable custom.service

Linux扫描全部磁盘

ls /sys/class/scsi_device		# 检查 scsi 设备的名称# 可以使用下面脚本一键扫描全部磁盘
for i in `ls /sys/class/scsi_device`;do echo 1 > /sys/class/scsi_device/$i/device/rescan;done

OpenWrt的CLI

vim /etc/rc.d/K15addroute
#!/bin/sh /etc/rc.commonSTART=99
STOP=15start() {route add -net 1.1.0.0/16 gw 1.1.1.2 metric 10
}
:xvim /etc/rc.d/S99addroute 
#!/bin/sh /etc/rc.commonSTART=99
STOP=15start() {route add -net 1.1.0.0/16 gw 1.1.1.2 metric 10
}
:xcd /etc/rc.d/
ll *addroute
lrwxrwxrwx    1 root     root            18 Aug 17  2022 K15addroute -> ../init.d/addroute*
lrwxrwxrwx    1 root     root            18 Aug 17  2022 S99addroute -> ../init.d/addroute*


参考来源

  1. (建议收藏)systemd(systemctl命令)运行服务的配置文件详解
  2. Linux扩容虚拟磁盘后不显示新增磁盘或扩容后的磁盘大小

相关文章:

  • 解释 RESTful API,以及如何使用它构建 web 应用程序
  • 安装skimage包 python
  • 大数据-之LibrA数据库系统告警处理(ALM-37017 数据库连接数超限)
  • 【libGDX】加载G3DJ模型
  • FPGA模块——AD高速转换模块(并行输出转换的数据)
  • 代码级接口测试与单元测试的区别
  • 持续集成部署-k8s-配置与存储-配置管理:配置文件不可变
  • Inkscape 图片生成Gcode
  • AIGC: 关于ChatGPT中的核心API调用示例
  • 源码安装mysql
  • Python函数专题(下)侯小啾python领航班系列(十三)】
  • 力扣-14. 最长公共前缀
  • kafka中的常见问题处理
  • 【开题报告】基于SpringBoot的心情分享平台的设计与实现
  • Python常用库大全及简要说明,附官方网站链接地址
  • [iOS]Core Data浅析一 -- 启用Core Data
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【技术性】Search知识
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Android Volley源码解析
  • Flannel解读
  • k8s如何管理Pod
  • spring security oauth2 password授权模式
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 聊聊redis的数据结构的应用
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 一个JAVA程序员成长之路分享
  • 找一份好的前端工作,起点很重要
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • #考研#计算机文化知识1(局域网及网络互联)
  • (1)bark-ml
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (二)PySpark3:SparkSQL编程
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (三)uboot源码分析
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)关于pipe()的详细解析
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • **PHP二维数组遍历时同时赋值
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .gitignore文件_Git:.gitignore
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 中 GetProcess 相关方法的性能
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .Net6使用WebSocket与前端进行通信
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET构架之我见
  • @DataRedisTest测试redis从未如此丝滑
  • []指针
  • [2023年]-hadoop面试真题(一)