public:it:linux:maintain

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
public:it:linux:maintain [2021/02/10 14:12] – [net] oakfirepublic:it:linux:maintain [2024/03/15 10:24] (当前版本) – [Maintain] oakfire
行 1: 行 1:
-====== maintain ======+====== Maintain ====== 
 +  * [[https://tldr.sh/|tldr.sh]]命令查询工具,简化版 man  
 +  * [[https://dashdash.io/|dashdash.io]], 格式化后的man文档,方便阅读 
 +  * [[.:udev]] 
 +  * [[https://pboyd.io/posts/securing-a-linux-vm/|linux虚拟主机安全指南]]
 ===== Consul ===== ===== Consul =====
-  * [[consul]]+  * [[..:consul]]
 ===== Puppet ===== ===== Puppet =====
   * [[puppet]]   * [[puppet]]
行 39: 行 43:
   * 在bash输入一个Tab字符, 可以先按Ctrl-V,再按Tab键,就可以。当然,也可以使用''$’\t’''   * 在bash输入一个Tab字符, 可以先按Ctrl-V,再按Tab键,就可以。当然,也可以使用''$’\t’''
   * Expect 自动输密码[[https://en.wikipedia.org/wiki/Expect|Expect]]   * Expect 自动输密码[[https://en.wikipedia.org/wiki/Expect|Expect]]
 +  * http://www.ruanyifeng.com/blog/2017/11/bash-set.html 
 +  * [[https://rainbowhackerhorse.github.io/bash-Is-Not-sh/|bash is not sh]]
  
 ===== grep ===== ===== grep =====
行 66: 行 71:
     * 批量查询 ''nc -zv 192.168.0.189  2000-4000''     * 批量查询 ''nc -zv 192.168.0.189  2000-4000''
   * DNS [[http://122269875.blog.51cto.com/1660536/1713947|linux下DNS解析(nslookup、dig、host)]]  dig指令挺好用的   * DNS [[http://122269875.blog.51cto.com/1660536/1713947|linux下DNS解析(nslookup、dig、host)]]  dig指令挺好用的
 +  * 查看ip ''ip a'' 或 ''hostname -I''
 +  * ''mtr'' 可查看链路上的链接情况
 +  * [[https://www.cnblogs.com/liuhedong/p/10695969.html#7-connection-%E8%BF%9E%E6%8E%A5%E7%AE%A1%E7%90%86|nmcli]]
 +  * 测网络带宽与丢包情况 ''iperf'' [[https://zhuanlan.zhihu.com/p/314727150|使用]]<code>
 +iperf -s 
 +iperf -c <ip> -p 5201 -i 1 -t 10 -b 90m -V -R -u</code>
 +  * ''udhcpc'':dhcp 客户端命令行工具
 +
 +===== nftables=====
 +  * [[https://icloudnative.io/posts/using-nftables/]]
 ===== iptables ===== ===== iptables =====
 +  * [[http://manpages.ubuntu.com/manpages/focal/en/man8/iptables-extensions.8.html|man doc]]
   * [[https://www.zsythink.net/archives/1199|iptables 详解]]   * [[https://www.zsythink.net/archives/1199|iptables 详解]]
 +  * 参数:<code bash>
 +-t, --table table 对指定的表 table 进行操作, table 必须是 raw, nat,filter,mangle 中的一个。如果不指定此选项,默认的是 filter 表。
 +
 +# 通用匹配:源地址目标地址的匹配
 +-p:指定要匹配的数据包协议类型;
 +-s, --source [!] address[/mask] :把指定的一个/一组地址作为源地址,按此规则进行过滤。当后面没有 mask 时,address 是一个地址,比如:192.168.1.1;当 mask 指定时,可以表示一组范围内的地址,比如:192.168.1.0/255.255.255.0。
 +-d, --destination [!] address[/mask] :地址格式同上,但这里是指定地址为目的地址,按此进行过滤。
 +-i, --in-interface [!] <网络接口name> :指定数据包的来自来自网络接口,比如最常见的 eth0 。注意:它只对 INPUT,FORWARD,PREROUTING 这三个链起作用。如果没有指定此选项, 说明可以来自任何一个网络接口。同前面类似,"!" 表示取反。
 +-o, --out-interface [!] <网络接口name> :指定数据包出去的网络接口。只对 OUTPUT,FORWARD,POSTROUTING 三个链起作用。
 +
 +# 查看管理命令
 +-L, --list [chain] 列出链 chain 上面的所有规则,如果没有指定链,列出表上所有链的所有规则。
 +
 +# 规则管理命令
 +-A, --append chain rule-specification 在指定链 chain 的末尾插入指定的规则,也就是说,这条规则会被放到最后,最后才会被执行。规则是由后面的匹配来指定。
 +-I, --insert chain [rulenum] rule-specification 在链 chain 中的指定位置插入一条或多条规则。如果指定的规则号是1,则在链的头部插入。这也是默认的情况,如果没有指定规则号。
 +-D, --delete chain rule-specification -D, --delete chain rulenum 在指定的链 chain 中删除一个或多个指定规则。
 +-R num:Replays替换/修改第几条规则
 +
 +# 链管理命令(这都是立即生效的)
 +-P, --policy chain target :为指定的链 chain 设置策略 target。注意,只有内置的链才允许有策略,用户自定义的是不允许的。
 +-F, --flush [chain] 清空指定链 chain 上面的所有规则。如果没有指定链,清空该表上所有链的所有规则。
 +-N, --new-chain chain 用指定的名字创建一个新的链。
 +-X, --delete-chain [chain] :删除指定的链,这个链必须没有被其它任何规则引用,而且这条上必须没有任何规则。如果没有指定链名,则会删除该表中所有非内置的链。
 +-E, --rename-chain old-chain new-chain :用指定的新名字去重命名指定的链。这并不会对链内部造成任何影响。
 +-Z, --zero [chain] :把指定链,或者表中的所有链上的所有计数器清零。
 +
 +-j, --jump target <指定目标> :即满足某条件时该执行什么样的动作。target 可以是内置的目标,比如 ACCEPT,也可以是用户自定义的链。
 +-h:显示帮助信息;
 +</code>
 +
 +  * 基本参数
  
 +<WRAP tablewidth 60% center>
 +^ 参数         ^ 作用 ^
 +| -P           | 设置默认策略:iptables -P INPUT (DROP ACCEPT)  |
 +| -F           | 清空规则链                                   |
 +| -L           | 查看规则链                                   |
 +| -A           | 在规则链的末尾加入新规则                            |
 +| -I           | num  在规则链的头部加入新规则                       |
 +| -D           | num  删除某一条规则                            |
 +| -s           | 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。           |
 +| -d           | 匹配目标地址                                  |
 +| -i           | 网卡名称 匹配从这块网卡流入的数据                       |
 +| -o           | 网卡名称 匹配从这块网卡流出的数据                       |
 +| -p           | 匹配协议,如tcp,udp,icmp                      |
 +| --dport num  | 匹配目标端口号                                 |
 +| --sport num  | 匹配来源端口号                                 |
 +</WRAP>
 ===== cron ===== ===== cron =====
   * [[wp>cron]]   * [[wp>cron]]
行 92: 行 156:
   * stratum 层级最多到16(两比特), 所以客户端不会同步层级为16的时间。   * stratum 层级最多到16(两比特), 所以客户端不会同步层级为16的时间。
   * [[http://linux.vbird.org/linux_server/0440ntp.php|鸟哥的linux私房菜ntp章节]]   * [[http://linux.vbird.org/linux_server/0440ntp.php|鸟哥的linux私房菜ntp章节]]
 +  * 手动同步: ''ntpdate <ip>'', 可用来测试,日常使用如果开启了ntp服务就不需要手动。
   * 引用自鸟哥私房菜: ''ntpq -p''可以列出目前我們的 NTP 與相關的上層 NTP 的狀態,<code>   * 引用自鸟哥私房菜: ''ntpq -p''可以列出目前我們的 NTP 與相關的上層 NTP 的狀態,<code>
 [root@www ~]# ntpq -p [root@www ~]# ntpq -p
行 111: 行 176:
       * offset:時間補償的結果,單位與 10^(-3) 秒       * offset:時間補償的結果,單位與 10^(-3) 秒
       * jitter:Linux 系統時間與 BIOS 硬體時間的差異時間, 單位為 10^(-3) 秒。       * jitter:Linux 系統時間與 BIOS 硬體時間的差異時間, 單位為 10^(-3) 秒。
 +  * ntp server 的配置,以本地时间提供同步服务的写法:<code> 
 +server 127.127.1.0 
 +fudge 127.127.1.0 stratum 10 
 +</code>  但如果同时配置有其它上级server, 则需等待差不多5分钟,即 ''ntpq -p'' 里 LOCAL 的 reach 次数达到64次 (64秒*5=320秒); LOCAL 前出现 ''*'' 号 才能提供下级同步。
  
 ===== cpu ===== ===== cpu =====
行 130: 行 198:
 </code> </code>
   * 负载警惕值: **负载值/逻辑CPU个数 > 0.7**   * 负载警惕值: **负载值/逻辑CPU个数 > 0.7**
 +  * ''top'' 结果中按 ''1'' 可显示多核CPU各核数据。 具体涵义:<code>
 +    0.3% us — 用户空间占用CPU的百分比。
 +    0.0% sy — 内核空间占用CPU的百分比。
 +    0.0% ni — 改变过优先级的进程占用CPU的百分比
 +    99.7% id — 空闲CPU百分比
 +    0.0% wa — IO等待占用CPU的百分比
 +    0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
 +    0.0% si — 软中断(Software Interrupts)占用CPU的百分比
 +</code>
 +  * ''top -H -p <pid>'' 可以查看指定进程各线程占用资源
  
 ===== time ===== ===== time =====
行 141: 行 219:
   * unix timestamp转北京时间:''date -d@1372654714 '+%Y-%m-%d %H:%M:%S' ''   * unix timestamp转北京时间:''date -d@1372654714 '+%Y-%m-%d %H:%M:%S' ''
   * 北京时间转unix timestamp:''date -d '2013-07-01 12:58:34' '+%s' ''   * 北京时间转unix timestamp:''date -d '2013-07-01 12:58:34' '+%s' ''
 +
 +===== Disk =====
 +<markdown>
 +- https://developer.aliyun.com/article/52294
 +- GPT:全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构。它是可扩展固件接口标准的一部分,用来替代BIOS中的主引导记录分区表。 传统的主启动记录 (MBR) 磁盘分区支持最大卷为 2.2 TB (terabytes) ,每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器)。 与MBR 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18 千兆兆字节 (exabytes,1EB=10^6TB) 的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。
 +
 +- `parted` 指令, [参考说明](https://erdong.site/tools/parted-create-gpt-partition.html)
 + - 在硬盘容量大于2Tb的时候无法使用 `fdisk` 进行分区的管理
 + - `parted /dev/sdx`
 + - `(parted) mktable` 新建分区表
 + - `gpt` 指定 gpt 类型
 + - `(parted) print` 查看结果
 +-  自动挂载 `/etc/fstab`  [参考此博文](https://www.cnblogs.com/gaoyanbing/p/13754988.html)
 +</markdown>
  
 ===== tips ===== ===== tips =====
-  * 查看文件夹占用空间:''du -s -h folder''+  * 查看文件夹占用空间:''du -s -h folder'', 或者使用 ''ncdu''
   * 列出层数1的子文件夹及指定文件夹的空间占用:''du -d 1 -h folder''   * 列出层数1的子文件夹及指定文件夹的空间占用:''du -d 1 -h folder''
   * 排序: ''sort'' 具体看''man sort''   * 排序: ''sort'' 具体看''man sort''
行 152: 行 244:
   * 文件同步或备份, ''tar -zcf''每次打的包的MD5都不同, 因为记录了当前压缩时间;不压缩直接''tar -cf''打包则OK, 但是文件内容一样但 mtime 改变仍然会改变打包后文件 md5.所以比较差异时最好是直接比较文件二进制差异;或者保证打包时不使用拷贝等操作影响文件 mtime.   * 文件同步或备份, ''tar -zcf''每次打的包的MD5都不同, 因为记录了当前压缩时间;不压缩直接''tar -cf''打包则OK, 但是文件内容一样但 mtime 改变仍然会改变打包后文件 md5.所以比较差异时最好是直接比较文件二进制差异;或者保证打包时不使用拷贝等操作影响文件 mtime.
   * ''export LC_ALL=C.UTF-8''   * ''export LC_ALL=C.UTF-8''
 +  * 查看共享内存:''ipcs -m''
  
  
  • public/it/linux/maintain.1612937561.txt.gz
  • 最后更改: 2021/02/10 14:12
  • oakfire