系统相关
# 修改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
![](https://img2018.cnblogs.com/blog/1342965/201904/1342965-20190408084323066-1057872104.png)
# 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 中说道的的所有缓存
检查系统文件是否被劫持
枚举系统文件夹的文件,按修改事件排序查看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"