很实用且容易忘记的小命令 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"
原文地址:https://www.cnblogs.com/Cong0ks/p/10020151.html