日志相关
less 快捷键
shell
# 默认显示前10行
head
# head -n 25 显示前 25行
# 默认显示后10行
tail
# tail -n 100 /etc/services;
# tail -f 实时展示文件增长情况
# tail -f server.log -n 100
# less 按页查看内容 查看到文件结尾还可以继续查看
less
# 按页查看内容 查看到文件结尾 自动退出
more
文件过滤
shell
wc
# less catalina.out | wc -l # 统计行数
# wc -l catalina.out
seq 生成 数字
sort 排序 按照 字符比大小
# sort -n 数字排序 、
seq 10 | sort -n
# 逆序
seq 10 | sort -n -r
# 指定列排序 -k
seq 10 | sort -n -k3
上传下载
shell
lrzsz
rz 上传
# 下载
sz 文件名
# ls 显示文件大小
ls -lh
# 压缩 zip t.zip app.jar server.log
zip my_archive.zip my_file.txt
# 压缩文件夹
zip -r my_archive.zip my_folder/
# awk
awk '{print $3}' a.txt
# uniq 相邻两行 忽略相同的内容 -c 统计出现的次数
uniq b.txt -c
# awk sort uniq 结合 排查 ip 访问次数 head 提取 访问次数最多的
# sort gr.txt -n -k 1 -r | head -10
用户管理
shell
cat /etc/passwd
id root
# 创建用户 指定 一点
useradd -u 1003 r1
# 创建虚拟用户 并且没有家目录
useradd -s /sbin/nologin r2 -M
# 切换用户
su user
whoami
ctrl +D == exit
# 当前在那个目录 切换后就在那个目录
su rcuser
# 切换到 新用户的 家目录
su - rcuser
时间
shell
# 格式化输出时间 年-月-日
date +%F
date +%Y-%m-%d
# 时-分-秒
date +%T
date +%H:%M:%S
# 周几
date +%w
# 日期 加减天数
date +%F -d '1 day'
date +%F -d '-1 day'
# 创建当前日期的文件
touch `date +%F.txt`
# 年月日 时分秒
date "+%Y-%m-%d %H:%M:%S"
which
whereis
# 修改时间
date -s ""
ntpdate ntp1.aliyun.com
# find 目录 -type f -name 文件名称
find /etc/ -type f -name hostname
find ./ -name '*.txt'
解压压缩
shell
# 压缩
tar -zcvf 压缩文件路径 文件/路径
tar -cf 压缩文件路径 文件/路径
# 查看 压缩文件 内容
tar tf 压缩文件路径
# 解压缩
tar -zxvf 压缩文件路径 -C 目录
tar xvf 压缩文件路径 -C 目录
-z, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档
-c, --create 创建一个新归档
-t, --list 列出归档内容
-x, --extract, --get 从归档中解出文件
-v, --verbose 详细地列出处理的文件
# 压缩目录
zip -r test.zip /etc/
# 解压 指定目录 不存在则创建
unzip test.zip -d /opt
gzip gzip 文件名/lujing gzip -d 文件名/lujing.gz
shell
# mysql 备份
mysqldump -uroot -proot travel | gzip > travel.sql.gz
mysql 备份脚本
#!/bin/bash
back=/opt/backup
# 备份时间
strDate=$(date +%Y_%m_%d_%H%M%S)
echo $strDate
echo "开始 备份数据 备份的路径:$back/$strDate.sql"
host=localhost
username=root
password=root
database=test
if test ! -e $back/$strDate
then
echo "$back 目录不存在 正在创建该目录"
mkdir -p $back/$strDate
fi
mysqldump -u$username -p${password} --host=${host} ${database} | gzip > $back/$strDate/$strDate.sql.gz
cd $back
tar -zcvf $strDate.tar.gz $strDate/
rm -rf $back/$strDate
# 删除 10天前的备份文件
find $back -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "备份成功"
sed
shell
# 打印 第三行 -n 取消 sed 的默认输出
sed -n '3p' data.txt
# 取出 第几行-第几行的行
sed -n '3,3p' data.txt
# 正则
sed -n '/olddata/p' data.txt
# 扩展的正则 -r
sed -nr '/olddata|yong/p' data.txt
# 从哪里来到哪里去
sed -nr '/olddata/,/yong/p' data.txt
# 删除 第二行
sed '2d' data.txt
sed '2,5d' data.txt
sed -r '/start/,/end/' data.txt
-- cai
-- i 在第二行插入数据
-- a 在第二行后插入数据 append
-- c replace
sed '2i ddd ff ee' data.txt
sed '2a ddd ff ee' data.txt
--- i 修改文件内容
# 删除 第二行
sed -i '2d' data.txt
# -i.bak 先把源文件备份 在修改文件
sed -i.bak '2a dfdf dddd erer afafad' data.txt
# 替换文件内容 # 可以替换为 / @ 等都可以
sed -i 's#123456#123#g' db.properties
# 替换为空
sed -i 's#123456##g' db.properties
vmware 修改为静态ip
sh
vi /etc/sysconfig/network-scripts/ifcfg-ens33
## 设置为静态ip
BOOTPROTO=static
# 静态ip 地址
IPADDR=192.168.83.121
## 网络位
PREFFIX=24
## 网关
GATEWAY=192.168.83.2
## dns配置
DNS1=114.114.114.114
DNS2=183.60.83.19
##### uuidgen 生成一个uuid
uuidgen
## 把uuid 设置到 ens33网卡上
## 重启网络
systemctl restart network
rocky linux 修改为静态ip
sh
cd /etc/NetworkManager/system-connections/
vim ens160.nmconnection
## 修改如下 address
## ip, 网关
## dns
[ipv4]
method=manual
address=192.168.229.135/24,192.168.229.2
dns=114.114.114.114
may-fail=false
####### 执行如下命令
nmcli c reload
nmcli c up ens160
## 如果启动失败
systemctl status NetworkManager
## 查看托管状态
nmcli n
## 若显示disabled,可以使用如下命令开启:
nmcli n on
#查看设备连接、托管情况
nmcli d
# 手动连接设备
nmcli d connect ens160
#nmcli d disconnect ens160
#执行长重启网卡的命令:
nmcli c up ens160
ubuntu 设置静态 ip
cd /etc/netplan
vim 50-cloud-init.yaml
network: ethernets: ens33: dhcp4: false nameservers:
addresses: # dns - 114.114.114.114 addresses: # ip - 192.168.229.140/24 # 网关
gateway4: 192.168.229.2 version: 2
查看linux 是什么系统
sh
cat /etc/os-release
uname -a
服务器硬件信息查看
sh
## 查看cpu 信息
lscpu
## 查看 内存 大小
free -h
cat /proc/meminfo
yum
yum list installed | grep nginx
只下载不安装
sudo yum install --downloadonly --downloaddir=/tmp httpd
查看 selinux 是否临时关闭
sestatus