一、vi/vim命令
1、基础操作
yy:复制光标当前行
5yy:向下复制5行
y$:复制光标到行结束
y^:复制行开头到光标前
yw:复制一个单词
p:粘贴
5p:粘贴5行
dd:删除当前行
5dd:删除5行
u:回滚操作
w:光标跳到下一个单词
x:光标位置剪切
X:光标位置剪切
r:更改当前光标字符
5G:移动到第五行
gg:文档开头
G:文档结尾行
2、命令模式
:set nu:列出行号
:set nonu:取消显示行号
:q:退出
:q!:强制退出
:w:保存
:wq:保存并退出
:wq!:强制保存并退出
/关键词:查找
n:查找的下一个
N:查找的上一个
:noh:取消高亮
:s/关键词/替换的词:替换当前行第一个
:s/关键词/替换为/g:当前行替换
%s/关键词/替换为:每一行第一个替换
%s/关键词/替换为/g:全部替换
3、插入模式
i:插入
I:当前行头插入
a:光标后移一位开始插入
A:跳转到当前行最后开始插入
o:向下插入一行
O:向上插入一行
二、网络配置
1、查看网络ip
ip addr
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GLQmsMIF-1687241067745)(https://gitee.com/map-gis_0/drawing-bed/raw/master/drawing-bed/image-20230620134002443.png)]
2、查看网卡路径
grep -rnw '/etc' -e 'ens160'
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o7KXCtzK-1687241067746)(https://gitee.com/map-gis_0/drawing-bed/raw/master/drawing-bed/image-20230620135216563.png)]
3、配置网络环境
vim /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=2bf2d6f7-da75-45eb-8687-de3d0222b60b
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.8.128
PREFIX=24
GATEWAY=192.168.8.2
DNS1=192.168.8.2
4、重启网卡
nmcli c reload # 重新加载配置文件
nmcli c up ens160 # 重启ens33网卡
service network restart # 重启网络
三、永久关闭防火墙
systemctl stop firewalld # 关闭防火墙
systemctl disabled firewalld # 关闭防火墙自启
四、关机/重启
shutdown -c # 取消关机操作
shutdown now # 关机
shutdown 3 # 三分钟后关机
shutdown 15:28 # 在15:28关机
sync # 数据从内存同步到硬盘
reboot # 重启
shutdown -r now # 重启
halt # 停机休眠
poweroff # 关机
五、用户组管理
# 查看所有用户组
cat /etc/group
# 新建组
groupadd 组名
# 修改用户组
usermod -g 组名 用户名
# 修改组名
groupmod -n newName oldName
六、用户管理
# 添加用户
useradd 用户名
# 设置用户密码
passwd 用户名
# 删除用户
userdel 用户名
# 删除用户目录
rm -rf /home/用户文件夹
# 在该文件内设置用户可以使用sudo
vim /etc/sudoers
七、文件属性和权限
文件类型 属主权限 属组权限 其他用户权限
0 1 2 3 4 5 6 7 8 9
d r w x r - x r - x
目录文件 读 写 执行 读 写 执行 读 写 执行
# 修改文件权限
chmod [{ugoa} {+-=} {rwx}]
chmod u=rwx
chmod [r=4 w=2 x=1]
chmod 777 # r+w+x
# 改变文件所有者 -R 递归子文件
chown [-R] 用户名 文件名
# 改变所属组
chgrp 组名 文件名
八、文件查找定位
# find [搜索范围] [选项] 文件名
选项:
-name 按照文件名查找
-user 按照所属用户名查找
-size 按照文件大小查找
# 定位文件路径
updatedb # 更新数据库
locate 文件名 # 查找
九、过滤和管道符
# 管道符“|” 表示将前一个命令得结果输出传递给后面得命令
#过滤查找
grep -n 关键字 文件名
十、文件压缩
# 压缩 只能压缩文件,不保留源文件
gzip 文件
# 解压
gunzip 文件名.gz
# zip压缩 -r压缩目录
zip [-r] 压缩文件名 将要压缩的文件或文件夹
# unzip解压 -d指定解压目录
unzip [-d] 解压路径 zip文件名
# tar打包
tar [选项] xxx.tar.gz 打包目录或文件名,可多个
选项:
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同事压缩
-x 解包.tar文件
-C 解压到指定目录
十一、磁盘查看
# 查看占用文件大小
du 目录/文件 # 列出所有文件包括隐藏文件
选项:
-h 格式化单位显示
-a 查看包括文件夹下文件
-c 显示所有文件和子目录大小显示出来后显示总和
-s 只显示总量
--max-depth=n 指定统计子目录的深度为第n层
# 查看内存使用情况
free -h
# 查看磁盘占用情况
df [-h]
lsblk # 查看设备挂载情况
lsblk -f # 查看设备挂载情况及文件类型及uuid
十二、磁盘挂载
# 挂载
mount 设备名称 挂载点
mount /dev/cdrom /mnt
# 卸载
umount 设备名称或挂载点
umount /dev/cdrom
# 开机启动自动挂载
vim /etc/fstab
uuid=xxx 挂载点 文件类型 xxx 是否dump备份 文件系统检查优先级
十三、磁盘分区
# 分区
fdisk -l # 查看磁盘分区详情
fdisk 硬盘设备名称 # 对硬盘进行分区
mkfs -t xfs /dev/sdb1 # 设置文件类型并格式化
十四、进程管理
# ps查看当前进程状态
ps # 当前用户调用及和控制台相关
ps [选项] | grep 进程名
选项:
a 列出带有终端的所有用户的进程
x 列出当前用户的所有进程,包括没有终端的进程
u 面向用户友好的显示风格
-e 列出所有进程
-u 列出某个用户相关所有进程
-f 显示完整格式的进程列表
# 杀死进程 -9强制立即停止
kill [-9] pid
killall 进程名称
# 实时监控进程
top [选项]
选项:
-d 指定刷新时间,默认3秒
-i 不显示闲置或僵死进程
-p 通过指定进程id查看
操作:
P CPU使用排行
M 内存使用排行
N PID排行
q 退出
十五、网络状态和端口监控
# 显示网络状态和端口占用信息
netstat -anp | grep 进程号
netstat -nlp | grep 端口号
选项:
-a 显示所有正在监听和未监听的套接字
-n 拒绝显示别名
-l 仅列出在监听的服务状态
-p 表示显示哪个进程在调用
十六、防火墙
# 关闭防火墙某个端口
firewall-cmd --zone=public --permanent --add-port=端口/tcp
# 刷新防火墙
firewall-cmd --reload
十七、定时任务
# crontab
systemctl restart crond # 重新启动crond
crontab -e
内容:* * * * * 执行任务
分钟 小时 天 月 周
选项:
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务
十八、软件包管理
# RPM
rpm -qa # 查询所有安装的软件包
rpm -qi 软件名 # 查看详细信息
rpm -e 软件名 # 卸载
rpm -e --nodeps 软件名 # 卸载时不考虑依赖关系
prm -ivh 软件名 # 安装
选项:
-i install
-v 显示详细信息
-h 进度条
--nodeps 安装不检查依赖
# yum
yum -y [参数] 软件名
参数说明:
instal 安装rpm软件包
update 更新rpm软件包
check-update 检查是否有可更新rpm包
remove 删除指定的rpm软件包
list 显示软件包信息
clean 清理yum过期缓存
deplist 显示yum软件包的所有依赖