zoukankan      html  css  js  c++  java
  • 很实用且容易忘记的小命令 for Linux(更新中...)

    系统相关

    # 修改CLI界面显示为英文

    /etc/locale.conf

    LANG="en_US.UTF-8"

    # 系统安装日期

    sudo tune2fs -l /dev/sda1 |grep create

    # 查看centos版本命令

    rpm -q centos-release

    #查看centos版本命令2

     cat /proc/version

    #  查看操作系统64 or 32 位 

    getconf LONG_BIT

    # 查看时区

    # c7   

    timedatectl status

    # c6

    cat /etc/sysconfig/clock 

    # 修改时区

    # c7

     timedatectl set-timezone Asia/Shanghai

    # c6

    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  

    时区的信息存在/usr/share/zoneinfo/下面,本机的时区信息存在/etc/localtime

    # 查看硬件时间

    概念:Linux时间有两个

    系统时间:也叫软件时间(sys), 1970年1月1日到当前时间的秒数

    BOIS时间:也叫硬件时间(hc)

    hwclock --show

    # 同步系统时间和硬件时间

    hwclock --hctosys

    # 本地时间写入硬件时间

     timedatectl set-local-rtc 1

    # 查看linux服务器公网ip地址

    curl ifconfig.me

    curl cip.cc

    #  查看最近一次重启记录

    last -x    可显示系统关机、重新开机,以及执行等级的改变等信息。

    last |grep "reboot" |head -1

     

    # centos7解决ssh登录速度慢的问题

    vi /etc/ssh/sshd_config      (编辑配置文件)
    输入 / ,查找GSSAPIAuthentication 赋值为no
    输入 /,查找UseDNS,赋值为 no(该项默认不启用的,要把前面的#删除掉)
    最后输入!wq保存文件并退出
    重启systemctl restart sshd

    # ACL权限设置命令setfacl和getfacl命令

    getfacl 命令是用来查看设置ACL(访问控制列表)

    setfacl  命令是用来在命令行里设置ACL(访问控制列表)

    # 查看系统状态常用工具

    htop

    glances

    dstat -cdmnr

      

     # CentOS 7使用systemctl如何补全服务名称

    yum install -y bash-completion

    PS:安装后记得退出bash重新进入一次后生效

    # 查询端口对应的进程

    ss -lnp|grep <PORT>

    -l 查看监听端口

    -n 不解析服务名(速度更快)

    -p 显示进程ID

    # 查询进程对应的应用

    ps -ef|grep <PID>

    -e all processes 

    f  ASCII art forest

    网络相关

    # ifconfig 命令包

    yum -y install net-tools

    硬件信息相关查看

    dmidecode 

    # 查看几个物理CPU

    dmidecode -t processor  |grep "Socket"

    dmidecode -s system-serial-number    # 查看DELL 服务ID或主板型号

    dmidecode -t memory |grep -E "Size|Locator|Speed"  # 查看内存容量,插槽,速率

    磁盘相关

    # 磁盘大小查看当前或下一级子目录的文件夹总大小

    sudo du -lh --max-depth=2

    # 检查磁盘状态

    sudo MegaCli64 -PDList -aALL |grep -E "Media Type|Device Id|Port status|Drive Temperature|Firmware state";sudo MegaCli64 -PDList -aALL|grep "Error"

      

    # 磁盘快速搜索命令

    sudo updatedb  # 建立缓存库

    locate <需要搜索的文件名>

    # 查看io进程

    命令:iotop

    # 查看当前磁盘IO 读写

    sar -b 1 10
    注:每1秒 显示 1次 显示 10次

     

    tps: 每秒向磁盘设备请求数据的次数,包括读、写请求,为rtps与wtps的和。出于效率考虑,每一次IO下发后并不是立即处理请求,而是将请求合并(merge),这里tps指请求合并后的请求计数。

    rtps: 每秒向磁盘设备的读请求次数

    wtps: 每秒向磁盘设备的写请求次数

    bread: 每秒从磁盘读的bytes数量

    bwrtn: 每秒向磁盘写的bytes数量

     时间相关

    # 查看ntp服务器与上层ntp的状态

    ntpstat

    ntpq -p

    remote - 本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先

    refid - 参考上一层ntp主机地址

    st - stratum阶层

    when - 多少秒前曾经同步过时间

    poll - 下次更新在多少秒后

    reach - 已经向上层ntp服务器要求更新的次数

    delay - 网络延迟

    offset - 时间补偿

    jitter - 系统时间与bios时间差

      

    ntpstat

     

    #为234*10(-6)秒。且每隔64秒会主动更新时间。

    扫描相关 

    # 扫描常见端口

    nmap -PN -T4 -p21,22,23,80,138,139,135,445,1433,3306,3389 192.168.x.0/22 |findstr /ir "for open"

    -Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。  

    -T4指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4;

    -p <port ranges>: 扫描指定的端口 

     [注:此命令仅在Windows下能使用,linux下请自行替换为grep] findstr /ir "for open"   过滤输出内容, -i 忽略大小写,-r  使用搜索串作为正则表达式。Findstr 将所有元字符解释为正则表达式,除非使用了 /l。 表示匹配多个,从右往左

    # 查看链接数

     ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'

    硬件检测CPU温度相关

     # Linux下查看CPU的温度

    yum install -y lm_sensors 

    # 检测传感器

    sh -c "yes|sensors-detect"     

    # 执行sensors查看CPU的温度

    sensors 

    内存相关

    # 释放cache 

    因为系统在操作的过程当中,会把你的操作到的文件资料先保存到buffer中去,因为怕你在操作的过程中因为断电等原因遗失数据,所以在你操作过程中会把文件资料先缓存。

    sync

    echo  3> /proc/sys/vm/drop_caches

    echo 0 是不释放缓存

    echo 1 是释放页缓存

    ehco 2 是释放dentries和inodes缓存

    echo 3 是释放 1 和 2 中说道的的所有缓存

    部署完整性检查工具
    yum -y install aide
    初始化
    # 建议下面操作进入root权限下进行
    aide --init 或-i # 初始化,建立第一份样本库
    cd /var/lib/aide/ # 进入相关目录
    mv aide.db.new.gz aide.db.gz  # 替换旧的样本库
     
    更新样本
    aide --update 或-u
    cd /var/lib/aide/ # 进入相关目录
    mv aide.db.new.gz aide.db.gz  # 替换旧的样本库
     
    入侵检测
    aide --check 或 -C
    使用-V 报告的详细程度可以通过-V选项来调控,级别为0-255,-V0 最简略,-V255 最详细
     
    # 结果输出到指定文件夹
    aide -C --report=file:/tmp/loki.txt
     
    定期执行入侵检测,并发送报告
    aide -C | /bin/mailx -s "AIDE REPORT $(date +%Y-%m-%d_%H%M%S)"XXX@163.com
     
     

    检查系统文件是否被劫持

    枚举系统文件夹的文件,按修改事件排序查看7天内被修改过的文件:

    find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime +7 | xargs ls -la

    枚举主机所有服务,查看是否有恶意服务

    service --status-all

    查看某个IP地址实时的链接情况

     while true; do netstat -antp | grep [ip]; done

    查询log主机登陆日志:

    grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'

    定位有爆破的源IP:

    grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

    爆破日志的用户名密码:

    grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1 ";}'|uniq -c|sort -nr

    常用源整理

     #c6

    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

    #epel
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

    #c7
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    #epel

    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    删除相关

    xargs搭配用法

    # 删除7天以前的旧数据,并排除一些文件指定文件

    find /目录名 -type f -mtime +7 | egrep -v 'access.log|error.log|_log.html|404.html' |xargs rm -rf

    exec搭配

     #删除/app/logs/目录下的7天前的文件
    find /app/logs/ -type f -mtime +7 -exec rm -f {} ;

    终端颜色相关

    #!/bin/bash
    #
    #下面是字体输出颜色及终端格式控制
    #字体色范围:30-37
    echo -e "33[30m 黑色字 33[0m"
    echo -e "33[31m 红色字 33[0m"
    echo -e "33[32m 绿色字 33[0m"
    echo -e "33[33m 黄色字 33[0m"
    echo -e "33[34m 蓝色字 33[0m"
    echo -e "33[35m 紫色字 33[0m"
    echo -e "33[36m 天蓝字 33[0m"
    echo -e "33[37m 白色字 33[0m"
    #字背景颜色范围:40-47
    echo -e "33[40;37m 黑底白字 33[0m"
    echo -e "33[41;30m 红底黑字 33[0m"
    echo -e "33[42;34m 绿底蓝字 33[0m"
    echo -e "33[43;34m 黄底蓝字 33[0m"
    echo -e "33[44;30m 蓝底黑字 33[0m"
    echo -e "33[45;30m 紫底黑字 33[0m"
    echo -e "33[46;30m 天蓝底黑字 33[0m"
    echo -e "33[47;34m 白底蓝字 33[0m"
    #控制选项说明
    #33[0m 关闭所有属性
    #33[1m 设置高亮度
    #33[4m 下划线
    echo -e "33[4;31m 下划线红字 33[0m"
    #闪烁
    echo -e "33[5;34m 红字在闪烁 33[0m"
    #反影
    echo -e "33[8m 消隐 33[0m "
    #33[30m-33[37m 设置前景色
    #33[40m-33[47m 设置背景色
    #33[nA光标上移n行
    #33[nB光标下移n行
    echo -e "33[4A 光标上移4行 33[0m"
    #33[nC光标右移n行
    #33[nD光标左移n行
    #33[y;xH设置光标位置
    #33[2J清屏
    #33[K清除从光标到行尾的内容
    echo -e "33[K 清除光标到行尾的内容 33[0m"
    #33[s 保存光标位置
    #33[u 恢复光标位置
    #33[?25| 隐藏光标
    #33[?25h 显示光标
    echo -e "33[?25l 隐藏光标 33[0m"
    echo -e "33[?25h 显示光标 33[0m"
  • 相关阅读:
    动态规划-神奇的口袋V1
    独立项目-建立Web服务器-00
    连接数据库时出现:SQL Server 建立连接时出现与网络相关的或特定于实例的错误
    独立项目-MemoryStream-内存数据读写-01
    独立项目-场景刷怪、小怪AI、主角战斗、小怪死亡-01
    独立项目-角色控制器FSM-FSM有限状态机-03
    独立项目-角色控制器FSM-AnimatorController学习-02
    独立项目-角色控制器FSM-学习内容-01
    Unity中的UGUI之Rect Transform__02
    矩阵的平移、旋转与缩放
  • 原文地址:https://www.cnblogs.com/Cong0ks/p/10020151.html
Copyright © 2011-2022 走看看