1. 查看属性类
    1. stat
      1. 查看文件和文件系统状态
        1. [root@localhost etc]# stat / File: `/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 802h/2050d Inode: 2 Links: 23 Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-06-06 11:43:34.625004609 +0800 Modify: 2017-06-06 11:43:34.625004609 +0800 Change: 2017-06-06 11:43:34.625004609 +0800
    2. du
      1. 查看磁盘空间使用(查看文件夹大小)
        1. -a 显示全部目录和其次目录下的每个档案所占的磁盘空间
        2. -s 只显示各档案大小的总和
    3. df
      1. 查看磁盘使用情况
        1. Filesystem 1K-blocks Used Available Use% Mounted on /dev/cciss/c0d0p1 2068156 611572 1351528 32% / tmpfs 1038080 4 1038076 1% /lib/init/rw udev 10240 64 10176 1% /dev tmpfs 1038080 4 1038076 1% /dev/shm /dev/cciss/c0d0p9 130700120 44034236 86665884 34% /home /dev/cciss/c0d0p7 2068156 68932 1999224 4% /tmp /dev/cciss/c0d0p8 4132372 1760620 2161840 45% /usr /dev/cciss/c0d0p6 2068156 330104 1632996 17% /var
    4. date
      1. 查看时间
        1. 默认
          1. Mon Aug 24 16:11:23 CST 2017
        2. "+%Y-%m-%d %H:%M:%S"
          1. 2017-08-24 16:29:12
        3. "+%j"
          1. 245
          2. 第245天
        4. 修改时间
          1. date -s "20170901 8:30:00"
    5. history
      1. -a 强制保存
      2. 查看历史记录
        1. (SHELL结束后存放在/home/,bash_history)
        2. !!执行上条命令
        3. !num 执行第num条命令
  2. 操作类
    1. 用户
      1. useradd
        1. 创建用户
          1. -u uid -g gid/group 指定基本组 -G gid/group 指定家目录 -d指定家目录 -s指定登陆shell /bin/shell 默认shell /sbin/nologin 非登陆shell,用于系统用户
      2. userdel
        1. 删除用户
          1. -r删除家目录和邮箱
      3. usermod
        1. 修改用户
          1. -l 修改用户登录名
          2. -L 锁定账户
          3. -p 修改密码
          4. -U 解锁账户
      4. chown
        1. 修改拥有者
          1. [user].[group] FILE
          2. -R递归
      5. groupadd
        1. 增加组
          1. -g gid
      6. groupdel
      7. passwd
        1. 修改密码
          1. #无交互式修改密码
          2. echo "PASSWORD" | passwd --stdin USERNAME
      8. chage
        1. 更改用户密码过期时间
          1. -d 设置最后一次修改的时间 -E 设置过期时间 -l 查看详细密码参数
      9. htpasswd
        1. apache建立密码文件
          1. 命令
          2. htpasswd [-cmdD] 密码文件名 账户
          3. 参数
          4. -c 创建该文件,如有会覆盖
          5. -m 使用MD5
          6. -d 使用SHA
          7. -D 删除后面的账户
    2. 文件
      1. chgrp
        1. (只有root才可以)
      2. chmod
      3. chown
        1. (只有root才可以)
      4. umask
        1. 查看掩码
          1. root用户 022 普通用户 002
      5. setfacl
        1. 设置文件的acl(不同用户不同权限)
          1. -m u:USER:PERM FILE
          2. USER用户 PERM权限
      6. getfacl
        1. 获得文件的acl
      7. touch
        1. 创建空白文件和修改时间
          1. -a 修改访问时间
          2. -m 修改更改时间
          3. -d 修改冯文时间和更改时间
      8. dd
        1. 拷贝文件或者转换文件
          1. if=输入文件(/dev/zero 来提供无穷数据)
          2. of=输出文件
          3. bs每个块的大小
          4. count快的个数
      9. patch
        1. 进行补丁
          1. 选项
          2. -p 数字
          3. 拿掉多少个斜线
          4. 比如 **/home/guest/example/expatch.old 当-p1 是更新/home/guest/example/expatch.old 当-p4 是更新expatch.old
          5. patch -p1 < ../main_0.1_to_0.2.patch
      10. file
        1. 查看文件类型
      11. find
        1. 文件查找
          1. 寻找特殊权限的文件 find -perm +0000 权限
      12. fuser
        1. 查看占用文件的进程
          1. 选项
          2. -u 列出进程所有者
          3. -m 作用于文件系统 对于umount很有效
          4. -v 列出每个文件与程序还有命令的完整相关性
          5. 常用 -mvu
      13. lsof
        1. 查看进程占用的文件
          1. 命令
          2. lsof -a -p $$ -d 0,1,2
          3. -p 用于查看指定PID($$是当前进程PID)
          4. -d 指定文件描述符
          5. -a 对上面两个选项进行AND运算
          6. 默认输出
          7. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 3954 root 0u CHR 136,0 0t0 3 /dev/pts/0 bash 3954 root 1u CHR 136,0 0t0 3 /dev/pts/0 bash 3954 root 2u CHR 136,0 0t0 3 /dev/pts/0
          8. FD 文件描述符 r读 w写 u读写
          9. TYPE CHR字符型 BLK块型 DIR目录 REG常规文件
          10. DEVICE 主从设备号
          11. NODE 本地文件的节点号
      14. md5sum/sha1sum
        1. 校验
      15. mktemp
        1. 创建临时文件
          1. 命令
          2. mktemp 文件名.X(随意位数)
          3. 选项
          4. -t 强制在/tmp中创建 返回全路径名
          5. -d 创建临时目录
      16. tee
        1. 将输出同时输出到文件和stout
          1. 命令
          2. tee 文件名 通过管道使用
        2. 选项
          1. -a 追加模式
    3. 服务
      1. chkconfig
        1. 更新和查询系统服务的运行级信息
          1. --list [服务名]查看所有运行服务 --add 服务名 增加新的服务 --del 服务名 删除服务 --level levels 服务名 on/off 决定在某一运行级是运行(S)还是停止(K)
    4. 系统
      1. 管理磁盘分区
        1. fdisk
          1. 管理磁盘分区(交互式)
        2. mkfs
          1. 进行格式化
        3. partprobe
          1. 同步到内核更新数据
        4. mount
          1. 命令
          2. mount -t type 设备 目录
          3. 参数
          4. -a 挂载/etc/fstab中的文件系统
          5. -f 模拟挂载
          6. -F 和 -a一起使用,同时挂载所有文件系统
          7. -v 显示详细
          8. -o 特定选项
          9. ro 只读
          10. rw 读写
          11. user 允许普通用户挂载系统
          12. check=none 挂载时不进行校验
          13. loop 挂载一个文件
        5. fsck
          1. 检查文件系统
          2. 参数
          3. -a 检测到错误自动修复
          4. -A 检测fstab中所有文件系统
          5. -r 出错时提示
        6. /etc/fstab
      2. RAID
        1. mdadm
      3. Quota
        1. 在/etc/fstab第四个字段里面开启usrquota,grpquota
        2. quotacheck -avug检查文件系统和创建aquota文件
          1. 加mf可以强制扫描已经挂载的文件系统
          2. 创建文件/home/aquota.user 和 /home/aquota.group
        3. quotaon -avug 开启quota
          1. -a 开启所有(否则需要加路径指定)
          2. -u 开启user quota
          3. -g 开启group quota
        4. quotaoff 关闭quota
          1. -a 关闭所有
          2. -u 关闭user quota
          3. -g 关闭group quota
        5. edquota 修改Quota限值和时间
          1. -u username
          2. -g groupname
          3. -t time 宽限时间
          4. -p 范本账号 -u 新账号
        6. quota -uvs 查看单一用户quota
          1. -u username
          2. -g groupname
          3. -v 显示每个用户在文件系统的Quota值
          4. -s 以M,G等显示单位
        7. repquota -auvs查看文件系统quota
          1. -a 所有在/etc/mtab里面的文件系统
          2. -v 详细信息
          3. -u username
          4. -g groupname
          5. -s 以M,G等显示单位
      4. LVM
        1. 物理卷
          1. pvscan
          2. pvcreate
          3. pvdisplay
          4. pvremove
          5. 分区要通过fdisk t来更改成8e类型
        2. 卷组
          1. vgscan
          2. vgcreate
          3. vgdisplay
          4. vgremove
          5. vgextend
          6. vgreduce
        3. 逻辑卷
          1. lvscan
          2. lvcreate
          3. lvdisplay
          4. lvremove
          5. lvextend
          6. lvreduce
      5. reboot
      6. poweroff
    5. 网络
      1. 配置网络
        1. nmtui
        2. /etc/sysconfig/network-scripts/ifcfg-eno16777736
        3. nmcli
      2. route
        1. 路由表
          1. 查看
          2. -n 直接显示数字
          3. -ee 更详细的信息
          4. 增加/删除
          5. route add/del [-net|-host] 网络或主机 netmask 掩码 [gw|dev]
          6. -net 为网络
          7. -host 为主机
          8. gw为网关 填写IP
          9. dev为网卡 填写网卡名
      3. iptables
        1. 防火墙
          1. 命令
          2. 查看
          3. iptables -t 表 [-L] [-nv]
          4. -L 查看
          5. -n 数值显示
          6. -v 显示更多信息
          7. 删除规则
          8. iptables -t 表 [-FXZ]
          9. -F 清除所有规则
          10. -X 清除用户自定义的链
          11. -Z 所有链的统计信息
          12. 设定默认策略
          13. iptables [-t nat] -P {INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
          14. 新增策略
          15. iptables [-AI 链名] [-io 网络接口] [-p 协议] [-s 来源IP/网络] [--sport端口范围][-d 目标IP/网络][--dport 端口范围] -j [ACCEPT|DROP|REJECT|LOG]
          16. -A 新增 -I 插入
          17. -i 进入 -o 出去
          18. sport和dport需要指定TCP/UDP
          19. 协议tcp,udp,icmp(加--icmp-type 类型,8用于不响应ping)
          20. 外挂模块
          21. -m state --state 状态
          22. INVALID
          23. ESTABLISHED
          24. NEW
          25. RELATED 和主机发送出去的数据包有关
          26. 用于检测数据包的状态
          27. -m mac --mac-source mac地址
          28. 保存规则
          29. /etc/init.d/iptables save
      4. 远程连接
        1. SSH
          1. ssh 账户@IP [-f只发送命令不登录] [-p端口] [命令]
        2. sftp
          1. 本地命令前面加l(如lls lcd)
          2. 下载get 上传put
        3. scp
          1. scp [-pr] [-l 速率] file [账号@]主机:目录名
          2. 上传
          3. -p 保留权限
          4. -r 递归
          5. scp [-pr] [-l 速率] [账号@]主机:目录名 file
          6. 下载
    6. 工作调度
      1. at
        1. at [-mldv] TIME/at -c 工作号码
          1. 选项
          2. -m email通知
          3. -l 显示所有用户的调度
          4. -d 取消一个工作调度
          5. -f 运行文一个文件
          6. 输入后会提示at>要执行的命令
        2. batch是利用at来执行命令 但是会在CPU负载小于0.8的时候才执行
      2. crontab
        1. crontab [-u username] [-l|-e|-r]
          1. 选项
          2. -u 只有root才能进行这个任务
          3. -e 编辑工作内容
          4. -l 查看工作内容
          5. -r 删除所有工作内容
        2. crontab格式
          1. 分钟 小时 日 月 周 命令
          2. * 任何时候 , 分隔 - 时间段 /N N个单位时间间隔
        3. anacron
          1. anacron [-sfn] [job]
          2. -s 开始连续执行各项工作,会根据时间戳决定是否进行
          3. -f 强制执行
          4. -n 立刻进行未进行的任务
          5. -u 仅更新时间戳
          6. job 由/etc/anacrontab定义的各种工作名称
          7. 为了解决crontab有时候没有执行的情况
    7. 工作管理
      1. &
        1. 把程序放到后台进行
          1. 会显示 [job number]+/- PID
          2. + 表示最后一个进入后台的程序
          3. - 表示倒数第二个进入后台的程序
      2. Ctrl+z
        1. 把程序放到后台暂停
      3. jobs
        1. jobs [-lrs]
          1. -l 列出详情 [ob number] PID 状态 命令
          2. -r 仅显示运行
          3. -s 仅显示暂停
      4. fg
        1. 拿到前台foreground
          1. fg %jobnumber
      5. bg
        1. 拿到前台并运行
      6. kill
        1. 发出信号
          1. -l 查看信号类型
          2. -1 重新读取配置
          3. -2 类似于Ctrl+c
          4. -9 强制删除一个工作
          5. -15 正常方式退出工作
          6. -s 信号
          7. 可以给PID和job(使用%)来发信号
      7. nohup
        1. 脱机之后程序可以继续运行
          1. at 也可以实现类似作用
      8. nice
        1. 修改优先级
          1. nice [-n 数字] 命令
      9. renice
        1. renice [-n 数字] PID
    8. 安全
      1. selinux
        1. chcon
          1. 修改context
          2. -t 类型
          3. -R 递归
          4. -u 修改身份识别
          5. -r 修改角色
          6. --reference=范例文件
        2. restorecon
          1. 恢复默认context
          2. -R 递归
          3. -v 显示过程
        3. semanage
          1. 修改默认值
          2. fconext -l
          3. 列出默认context
        4. seinfo
          1. 列出selinux的策略
        5. sesearch
          1. 查看更加详细的规则
      2. 网络攻击
        1. /proc/sys/net/ipv4/
          1. ip_forward
          2. 数据包转发
          3. tcp_syncookies
          4. 随机端口避免SYN Flooding
          5. icmp_echo_ignore_broadcasts
          6. 取消PING响应
          7. 端口
          8. rp_filter
          9. 逆向路经过滤,判断数据包来源是否合理
          10. log_martians
          11. 记录下不合理的IP来源
          12. accept_source_route
          13. 建议取消来源路由
          14. accept_redirects
          15. 取消重定向
  3. 常用监控命令
    1. vmstat
      1. 性能统计工具
        1. 命令
          1. vmstat 间隔 采集次数
        2. 输出
          1. r 等待CPU的进程数 b 等待IO的进程数 swpd 已经使用的交换内存 free 空闲的物理内存 buff 用作缓冲区的内存数 cache 用作高速缓存的内存数(kb) si 从磁盘到内存的交换页数量(kb/s) so 从内存到磁盘的交换页数量(kb/s) bi 发送到块设备(块/s) bo 接受到块设备(块/s) in 每秒中断数,包括时钟中断 cs 每秒的上下文交换的次数 us 用户进程使用的cpu时间 sy 系统进程使用的cpu时间 id cpu空闲时间 wa 等待IO所耗费的cpu时间 st 从虚拟设备中获得的时间
    2. top
      1. 详细的进程和系统负载信息
        1. 第1行:系统时间,运行时间,登录终端数,系统负载(分别为1分钟、5分钟、15分钟的平均值,数值越小意味着负载越低)。 第2行:进程总数,运行中的,睡眠中的,停止的,僵死的。 第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。 此行数据均为CPU数据并以百分比格式显示,例如"99.2 id"意味着有99.2%的CPU处理器资源正在空闲中。 第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。 第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。
        2. PR 优先级 NI 进程的nice值 VIRT 虚拟内存 RES 物理内存 SHR 共享内存 S 状态(D 可中断休眠 R 运行状态 S 休眠状态 T 跟踪状态或停止状态 Z 僵化状态)
      2. 按键
        1. P CPU占用率排序
        2. M 内存占用率排序
      3. 选项
        1. -p PID 仅显示指定进程
        2. -d 刷新间隔
        3. -b 批次执行top 多用于重定向到文件
        4. -n 批次执行n次 与-b同用
      4. uptime就是取top最上面那一行
    3. free
      1. 查看内存
        1. -b k g 格式不同
        2. -t 显示物理内存和swap的总量
    4. iostat
      1. 查看CPU和IO状态
        1. 选项
          1. -c 仅显示CPU信息
          2. -d 仅显示存储设备信息
          3. -k 以KB来做单位
          4. -M 以MB来做单位
        2. 命令
          1. iostat 间隔 采集次数
        3. [root@localhost grub]# iostat Linux 3.10.0-229.el7.x86_64 (localhost.localdomain) 23/07/17 _x86_64_(8 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.20 0.00 0.09 0.01 0.00 99.70 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.92 27.58 1.96 457465 32452
    5. lspci
      1. 显示所有的PCI设备
        1. 选项
          1. -v 查看更多信息
          2. -vv 查看更加详尽信息
        2. 通过/proc/bus/pci中的数据获得
    6. lsusb
      1. 显示所有的USB设备
    7. ps
      1. 查看进程状态
        1. 选项
          1. -a 显示所有的进程
          2. -u 用户以及其他详细信息
          3. -x 显示没有控制终端的进程
          4. -e 显示所有进程
          5. -f 扩展输出
          6. -l 单独使用 长格式输出
        2. aux
          1. 可以使用 ps aux | grep '目标进程名'| awk '{print $2}' 来获得对应的进程PID
        3. ef
          1. C CPU时间 STIME 进程启动的时间
        4. -l
          1. 只显示跟自己bash有关进程
          2. F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 3889 3841 0 80 0 - 45650 wait pts/0 00:00:00 su 4 S 0 3958 3889 0 80 0 - 29198 wait pts/0 00:00:02 bash 4 S 0 13359 3958 0 80 0 - 29134 wait pts/0 00:00:00 bash
          3. F 进程标识 1为仅能fork不能exec 4为权限为root
          4. S 进程状态 R S D(不可唤醒睡眠等IO) T(后台暂停或者除错状态) Z(僵尸)
          5. C CPU使用率
    8. who
      1. 查看登陆主机的用户信息
    9. last
      1. 查看所有系统的登入记录
    10. uname
      1. 查看系统好内核相关信息
        1. -a 显示全部
        2. -s 系统内核名称
        3. -r 内核的版本
        4. -m 硬件名称
        5. -p CPU的类型
        6. -i 硬件的平台
    11. netstat
      1. 查看网络状态
        1. 选项
          1. -a 显示全部
          2. -t 显示tcp流量
          3. -u 显示udp流量
          4. -n 使用端口号而不是服务名称
          5. -l 显示正在监听的服务
          6. -p 列出PID
        2. 结果
          1. Proto Recv-Q Send-Q LocalAddress ForeignAddress State
    12. nmap
      1. 安全监测工具
        1. 命令
          1. nmap 扫描类型 扫描参数 host地址与范围
        2. 扫描类型
          1. -sT 扫描TCP数据包已建立的连接connect
          2. -sS 扫描TCP数据包带有SYN卷标的数据
          3. -sP 以ping的方式进行扫描
          4. -sU 以UDP的格式进行扫描
          5. -sO 以IP的协议进行扫描
        3. 扫描参数
          1. -PT 使用TCP里头的ping方式扫描,获得当前有多少主机存在(常用)
          2. -PI 使用实际带ICMP的ping来扫描
          3. -p 端口范围
    13. dmesg
      1. 分析内核产生的信息
    14. lm_sensors
      1. sensors-detect
        1. 检测硬件信息
          1. 保存在/etc/sysconfig/lm_sensors
      2. sensors
        1. 获得温度、电压等硬件参数
  4. 性能调优‘
    1. ldconfig
      1. 把动态库加载到内存提高速度
        1. 先把需要加速的动态库文件目录写到/etc/ld.so.conf
        2. 选项
          1. 什么都不加 读取ld.so.conf
          2. -f 使用某个conf来进行处理
          3. -p 显示现在的动态库
    2. ldd
      1. 查看某个程序所需的静态库
        1. -v 显示详细信息
  5. 系统备份
    1. 备份方式
      1. 完整备份
        1. dd
          1. 直接读扇区不用管文件系统,但是速度慢
        2. cpio
          1. 需要配合find等找文件名的命令
          2. 命令
          3. cpio -ovcB > [file|device]
          4. 备份
          5. cpio -ivcdu < [file|device]
          6. 还原
          7. cpio -ivct < [file|device]
          8. 查看
          9. find 目录 -print | cpio ...
          10. 参数
          11. 备份
          12. -o 将数据输出到文件或者设备上
          13. -B 将blocks从512b扩展到5120b,加快存储速度
          14. 还原
          15. -i 从文件或者设备复制回系统中
          16. -d 自动新建目录
          17. -u 用新的文件覆盖旧的文件
          18. -t 配合-i,查看用cpio新建的文件或设备的内容
          19. 共享
          20. -v 显示存储过程
          21. -c 以portable format方式存储
      2. 完整备份的差异备份
        1. 差别
          1. 增量备份是在备份与上一次的备份差异的数据
          2. 差异备份是备份与原始完整备份差异的数据(每次都是 dump -1),备份速度比增量的快
        2. tar
          1. 参数
          2. -N '2017-01-01'
          3. 只有比这个时间新的文件才会打包
          4. -c 新建压缩文件
          5. -t 查看压缩文件里面的文件名
          6. -x 解压缩
          7. -C 选择解压到特定目录
          8. -j 进行bzip2压缩
          9. -z 进行gzip压缩
          10. -v 处理的时候进行显示
          11. -f 要被处理的文件名
          12. -p 保留权限和属性(用于备份,重要)
          13. --exclude=FILE 不要打包某个文件
        3. rsync
          1. 本地
          2. rsync -av 源目录 目标目录
          3. 通过ssh/rsh
          4. rsync -av -e ssh user@server:/etc /tmp
          5. 把密钥scp上传到~/.ssh/authorized_keys以后自动crontab备份
          6. 通过daemon
          7. server端开启rsync(/etc/xinet.d/rsync)
          8. 修改/etc/rsyncd.conf
          9. 在客户端通过rsync -av user@server::/dir /local
          10. 注意是两个冒号
          11. 参数
          12. -e 协议
          13. -v 查看信息
          14. -q 安静模式
          15. -r 递归更新
          16. -u 仅更新,新文件不会被旧文件覆盖
          17. -a 相当于-rlptgoD 最常用参数 基本包含所有命令
      3. 增量备份
        1. dump
          1. dump [-Suvj] [-level] [-f备份文件] 待备份数据
          2. 参数
          3. -S 显示所需空间
          4. -u 运行时间记录到 /etc/dumpdateS
          5. -v 显示过程
          6. -j 加入bzip2
          7. 等级 只备份与上一次等级有差异的数据
          8. -W 显示/etc/fstab里是否有分区备份过
        2. restore
          1. restore -t -f 备份文件 -h
          2. 查看dump文件
          3. restore -C -f 备份文件 -D 挂载点
          4. 比较dump与实际文件
          5. restore -i -f 备份文件
          6. 进入互动模式
          7. restore -r -f 备份文件
          8. 还原整个文件系统
  6. 常用路径
    1. usr
      1. share
        1. doc
        2. man
      2. bin
        1. 可执行文件
      3. lib
        1. 可执行文件的动态函数库
    2. etc
      1. resolv.conf
        1. 修改DNS服务器
      2. yumconf/yum.repo.d
        1. yum的配置文件(yum.repo.d是一个目录)
      3. services
        1. 服务和port对应
      4. rc.d/rc.d[0-6].d
        1. 运行等级需要启动的服务
      5. passwd
        1. 用户名:密码(x):UID:GID:备注:HOME目录:默认SHELL
      6. shadow
        1. 用户名:加密后密码:上次修改密码日期:多少天后才能更改密码:多少天后必须更改密码:提前多少天提醒用户更改密码:过期多少天禁用账号:被禁用的日期:预留字段
      7. group
        1. 组名:组密码:GID:组用户列表
          1. 只要在passwd指定了组就不需要在用户列表里面添加
      8. skel
        1. 创建新用户的HOME目录模板
      9. inittab
        1. 修改运行的呢机
      10. sysconfig
        1. network-scripts
          1. 修改网络设备硬件信息
          2. ifcfg-eno16777736
          3. BOOTPROTO=static/dhcp ONBOOT=yes NM_CONTROLLED=no 当yes的时候可以使用网络管理器nmtui进行管理 BROADCAST= HWADDR= IPADDR= GATEWAY0= DNS1=
          4. route-eth0
          5. 修改路由
          6. 目标网络IP/掩码 via 网关IP dev 设备
        2. network
          1. 修改主机名
          2. NETWORKING=要不要使用网络 NETWORKING_IPV6=是否支持IPV6 HOSTNAME=主机名
      11. selinux
        1. config
          1. 修改selinux等级
    3. var
      1. lib
        1. rpm
          1. rpm安装软件的信息
      2. cache
        1. yum
          1. yum清单
    4. home
      1. .bash_history
        1. 历史记录(只有shell退出的时候才会保存)
  7. 常用信号
    1. 1
      1. SIGHUP
        1. 挂起进程
    2. 2
      1. SIGINT
        1. 终止进程(Ctrl+C)
    3. 3
      1. SIGQUIT
        1. 停止进程
    4. 9
      1. SIGKILL
        1. 无条件终止进程 常用
    5. 15
      1. SIGTERM
        1. 尽可能终止进程
    6. 17
      1. SIGSTOP
        1. 无条件停止进程,但不是终止进程
    7. 18
      1. SIGTSTP
        1. 停止或暂停进程,但不终止进程
    8. 19
      1. SIGCONT
        1. 继续运行停止的进程
    9. trap “命令” 信号
      1. 取消捕获 trap -- 信号
  8. 系统分析
    1. dig
      1. 查询DNS追踪记录
        1. dig +trace 网址
          1. +trace 从跟服务器开始搜索
          2. -t type 可以查询MX、NS、SOA等类型
          3. -x 查询反解信息,重要
        2. QUSTION+ANSWER+AUTHORITY
          1. 子主题 1
  9. 常用命令
    1. xargs
      1. 选项
        1. -d 分隔符(\\n)
          1. 将输入的多个项通过指定分隔符分开
  10. 文本类
    1. 文档查找
      1. grep
        1. 命令
          1. grep [-acinv] [--color=auto] '查找字符串' filename
        2. 参数
          1. -a 二进制文件用text的方式查找
          2. -c 计算找到的次数
          3. -i 忽略大小写不同
          4. -n 输出行号
          5. -v 反向选择
          6. -AN after N行
          7. -BN before N行
        3. 正则表达式
          1. ^word
          2. 行首
          3. word$
          4. 行尾
          5. .
          6. 一个任意字符
          7. *
          8. 0个以上字符
          9. [内容]或者[内容-内容]
          10. [^内容]
          11. 不在里面的内容
          12. \{n,m\}
          13. n到m个重复的字符
          14. o\{2,3\}
      2. sed
        1. 命令
          1. sed [-nefr] 动作
        2. 参数
          1. -n 只显示处理过的那行
          2. -e 直接在命令行模式进行编辑
          3. -f 直接输出到文件
          4. -r 直接扩展正则表达式
          5. -i 直接修改内容
        3. 动作
          1. a 新增
          2. c 替换
          3. d 删除
          4. i 插入
          5. p 打印对应行数
          6. s 替换
          7. 行号s/old/new/g
    2. 文档操作
      1. wc
        1. 统计
          1. -l 显示行数
          2. -w 显示单词数
          3. -c 显示字节数
      2. diff
        1. --brief 只给结果
        2. -c 给出详细结果
      3. tr
        1. 替换文本文件内字符
          1. 通过cat输出|tr 源字符 目标字符
      4. cut
        1. 按列提取字符
          1. -d分隔符
          2. -f查看的列数
    3. 文档显示
      1. cat
        1. 查看较短文件
          1. -n 添加行号
      2. more
        1. 查看较长文件
      3. head
        1. 查看前N行文件
          1. -n 查看前n行
      4. tail
        1. 查看后N行文件
          1. -n 查看后n行
          2. -f 持续刷新