查看服务器的负载情况
-f选项指定文件
14代表这个月的14号
sar -q -f /var/log/sa/sa14
find删除空文件夹示例
find ./ -type d -empty -regex "./a" -delete
匹配当前目录或子目录下所有以 "ta" 开头的文件
find ./ -type f -regex ".*/ta.*"
iptables -X
删除用户自定义的链路
修改json文件的属性
jq --arg ip $i --arg user $u '.hosts.host_list[0]|=(.ip=$ip|.username=$user)' conf > conf
查看设备的状态
iostat -d -x 1
查看指定时间系统服务的日志
journalctl -u docker --since "2024-05-27 15:00" --until "2024-05-27 15:10"
sed
-r:这是一个选项,告诉 sed 使用扩展正则表达式。在扩展正则表达式中,你不需要为每个特殊字符(如括号 ()、加号 +、问号 ? 等)前加反斜杠 \ 进行转义
CentOS安装rpm软件包
sudo rpm -ivh package_name.rpm
Ubuntu安装deb软件包
sudo dpkg -i package_name.deb
每5分钟执行
*/5 * * * * bash /data/kill_pdf.sh > /dev/null 2>&1
sed保留匹配的内容在前面加上#注释
sed -ri 's/.*swap.*/#&/' /etc/fstab
&:在 sed 替换表达式中,& 代表匹配到的整个模式
设置独占锁运行脚本
flock -xn /ta/ta.lock -c "bash /ta/ta"
去掉换行符
command 2>&1|xargs echo
小数if判断真则输出true
if [ $(echo "${cost} > 1.0"|bc) -eq 1 ];then echo true;fi;
杀掉所有root的终端
ps aux|grep sshd|grep -v grep|grep -v usr|awk '{print $2}'|xargs kill -9
vi删除所有内容
在命令模式下,输入:.,$d 一回车就全没了
取消隐藏进程
echo "" > /etc/ld.so.preload
保存防火墙规则
iptables-save > /etc/sysconfig/iptables
去除路径非目录部分
dirname
符合符号链接所指向的位置
readlink
查找path对应的文件
which
设置主机名
hostnamectl set-hostname handsome_01
计算sar查看内存剩余
sar -f /var/log/sa/sa06 -r|awk '{print $1, ($3+$6+$7)/1024/1024"G"}'
从其他服务器 远程下载
scp 192.168.149.132:/root/centos.repo ./
删除查找到的文件
find / -name mysql -type f -delete
每秒执行一遍命令
root ~ # > watch -n 1 'uptime'
展示二进制文件、源文件、手册文件的位置
root ~ # > whereis hostname
hostname: /usr/bin/hostname /etc/hostname /usr/share/man/man1/hostname.1.gz /usr/share/man/man5/hostname.5.gz
首数开始打印数字到尾数
seq 1 3
iptables nat映射规则
iptables -t nat -I PREROUTING -d 192.168.149.131 -p tcp --dport 9090 -j DNAT --to 10.10.27.99:80
iptables -t nat -I POSTROUTING -d 10.10.27.99 -p tcp --dport 80 -j SNAT --to 192.168.149.131
查看服务器网卡带宽
ethtool eth0|grep Speed
iptables字符串匹配拦截
--algo kmp 是一个与字符串匹配模块
--m string 相关的选项
iptables -I INPUT -p tcp --dport 88 -m string --algo kmp --string "websocket" -j DROP
iptables 记录拦截日志
iptables -I INPUT -p tcp --dport 88 -j LOG --log-prefix "INPUT_DROP_88"
查看历史内存监控
sar -f /var/log/sa/sa0* -r
查看历史cpu负载监控
sar -f /var/log/sa/sa0* -u
查看grafana版本
grafana-server -v
换行命令(命令太长需要换行)
sed -i "8 i \
\ location = /ta/{\n \
\ return 403;\n \
\ }" \
nginx.conf
根据文件名称模糊查找文件
find . -name *test*
运行jar包输出日志到log.file文件
nohup java -jar ta-0.0.1-SNAPSHOT.jar > log.file 2>&1
查看系统服务日志
journalctl -xefu kubelet
查看系统日志
cat /var/log/messages
ssh登录失败尝试日志查看
tail -f 200 /var/log/secure|grep Failed
引用变量
source ./sh.config
延迟一分钟
sleep 1m
远程登录执行命令
ssh root@192.168.149.131 "ls -l /data"
从本地选择文件上传到服务器
rz
服务器重启之后执行指定脚本
chmod +x /etc/rc.d/rc.local
echo "bash /home/restart_auto_run.sh" >> /etc/rc.d/rc.local
允许所有的ip访问
0.0.0.0/0
查看curl版本
sudo curl --version | grep --color libcurl
查看文件属性
lsattr /etc/passwd
修改文件属性
chattr -R -i /etc/passwd
测试被管理节点的连通性
ansible all -i 192.168.149.131, -m ping
查看系统内核版本
uname -r
/ta目录下运行的进程
fuser -mv /ta
vi编辑器显示行号
:set nu
下载文件并且重命名
wget -O tcl.tar.gz http://nchc.dl.sourceforge.net/sourceforge/tcl/tcl8.4.20-src.tar.gz
列出磁盘分区
fdisk -l
进程cpu使用排序
ps aux --sort=-pcpu
进程内存使用排序
ps aux --sort=-rss
每小时执行一次为
0 */1 * * *
临时关闭selinux
setenforce 0
查看当前selinux功能情况
sestatus -v
查看的 /dev/sdb1 ftype的值
xfs_info /dev/sdb1 | grep ftype
每周6 晚上12:00执行cron表达式
0 0 * * 6
从大到小排序 显示前10
du * -sh|sort -rh|head
服务器测试post请求
curl -X POST http://127.0.0.1:8089/open/api/admin/v1/user/login
测试SFTP连接
sftp username@ip //sftp 用户名@服务器IP地址
ubuntu Unable to locate package
执行 apt update
ubuntu 下载命令
apt install -y vim
centos 下载命令
yum install -y vim
删除用户
userdel -r ta
新建用户
useradd ta
修改密码
passwd ta
用户赋权限
vi /etc/sudoers
ta ALL=(ALL) NOPASSWD: ALL
查看用户的信息
id ta
查看内网ip地址
ip r g l
查找文件和目录。
sudo find / -name ta.txt
测试连通性
curl -k 127.0.0.1
加载/etc/sysctl.conf
sudo sysctl -p
解除挂载的文件系统
umount /dev/ta/ta.txt
查看服务器公网ip
curl www.cip.cc
查看设备挂载信息
lsblk
查看设备的文件系统信息
lsblk -f
磁盘分区格式化
mkfs -t xfs /dev
挂载设备
mount /dev /data
编辑挂载路径
/etc/fstab
查看磁盘剩余空间
df -h
连接远程服务器
ssh -p 22 root@127.0.0.1
先查看服务器的剩余内存
free -h
查看服务器运行时间
uptime
查看linux发行版
cat /etc/*-release
执行这个文件权限
chmod +x
查询核数
grep -c ^processor /proc/cpuinfo
开放5672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
关闭5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent
#机器码
sudo cat /sys/devices/virtual/dmi/id/product_uuid
查看占用的端口的进程
netstat -tunlp | grep 8080
设置服务器的时间
date -s "2022-01-01 12:00:00"
编辑定时任务脚本
crontab -e
查看定时任务脚本
crontab -l
查看当前目录的大小
du -sh * | sort -rh
忽略日志输出
>/dev/null 2>&1
vim命令模式替换所有指定的字符
:%s/old/new/g
vim移动到下一个单词头部
w
vim移动到前一个单词头部
b
vim删除光标后的单词
dw
DNS 服务器 IP 地址
223.5.5.5
223.6.6.6
vim 上移动光标,可以使用
3 + k
vim 向下移动光标,可以使用
3 + j
vim 复制当前行
yy
vim向下粘贴yy复制的行
p
清屏
CTRL + L
递归创建目录
mkdir -p /data/ta/linux/
将标准输出重定向到文件中,覆盖掉原有的数据
命令 > 文件
将标准输出重定向到文件中,以追加的方式
命令 > >文件
文件作为命令的标准输入
命令 < 文件
从标准输入中读入,直到遇到分界符停止
命令 << 分界符
输出内容到控制台
echo
编辑文件的读写执行权限
chmod [{ugoa} {+-=} {rwx}] t.txt
递归编辑目录的读写执行权限
chmod -R [{ugoa} {+-=} {rwx}] /data
递归编辑目录的属主
chown -R <user>:<user> /data
编辑用户的属组
usermod -g newgroup user
PATH目录里查找文件
which cd
递归编辑ta目录的属组
chgrp -R yang ta/
清理僵尸进程
ps -ef | grep defunct | grep -v grep | awk '{print $2,$3}'|xargs kill -9
将所有进程以树状图显示
pstree -up|grep 1111
重新加载进程
kill HUP 1111
查看cpu的信息
cat /proc/cpuinfo
SSH日志
Ubuntu/Debian:/var/log/auth.log
CentOS/RHEL:/var/log/secure
查看防火墙状态
sudo systemctl status firewalld
查找文件里符合条件的字符串
grep -rn "hello"
-n:显示匹配行的行号
-r:递归查找子目录中的文件
grep 满足任意关键字
grep -E 'domain|port' /ta/app.conf
系统日志
/var/log/messages
target is busy
umount -lf /tv_data
复制目录
cp -r /wps /ta
每天0点执行
0 0 * * * /usr/local/test.sh
查看文件系统占用inode
df -hi
快速删除目录下的大量文件
首先建立空文件夹test02 ta:目标目录
rsync --delete-before -d -a -H -v --progress --stats test02/ ta/
grep命令
-i:忽略大小写进行匹配
-v:反向查找,只打印不匹配的行
-n:显示匹配行的行号
-r:递归查找子目录中的文件
cat命令
-n 或 --number:由 1 开始对所有输出的行数编号
每12个小时执行
0 */12 * * *
测试测试/data磁盘
dd if=/dev/zero of=/data/a.dat bs=8k count=20K oflag=direct
计算匹配的列数
grep -r 172.20.0.123 /etc/ | wc -l
查看pid=66510的进程,其启动时间和运行时间是什么
ps -eo pid,lstart,etime | grep 66510
查看麒麟操作系统
nkvers
查询服务自启动状态
systemctl list-unit-files
查看Linux内核版本
uname -srm
查看k8s状态
systemctl status kubelet