vim

  1. yy:复制光标当前行
  2. 5yy:向下复制5
  3. y$:复制光标到行结束
  4. y^:复制行开头到光标前
  5. yw:复制一个单词
  6. p:粘贴
  7. 5p:粘贴5
  8. dd:删除当前行
  9. 5dd:删除5
  10. u:回滚操作
  11. w:光标跳到下一个单词
  12. x:光标位置剪切
  13. X:光标位置剪切
  14. r:更改当前光标字符
  15. 5G:移动到第五行
  16. gg:文档开头
  17. G:文档结尾行
  18. # 命令模式
  19. :set nu:列出行号
  20. :set nonu:取消显示行号
  21. :q:退出
  22. :q!:强制退出
  23. :w:保存
  24. :wq:保存并退出
  25. :wq!:强制保存并退出
  26. /关键词:查找
  27. n:查找的下一个
  28. N:查找的上一个
  29. :noh:取消高亮
  30. :s/关键词/替换的词:替换当前行第一个
  31. :s/关键词/替换为/g:当前行替换
  32. %s/关键词/替换为:每一行第一个替换
  33. %s/关键词/替换为/g:全部替换
  34. # 插入模式
  35. i:插入
  36. I:当前行头插入
  37. a:光标后移一位开始插入
  38. A:跳转到当前行最后开始插入
  39. o:向下插入一行
  40. O:向上插入一行

网络配置和系统管理

  1. ip addr

image.png

  1. grep -rnw '/etc' -e 'ens33'

image.png

  1. vim /etc/NetworkManager/system-connections/ens33.nmconnection
  1. [connection]
  2. id=ens33
  3. uuid=b2923fa6-391c-3da2-888e-5c3b28073813
  4. type=ethernet
  5. autoconnect-priority=-999
  6. interface-name=ens33
  7. [ethernet]
  8. [ipv4]
  9. address1=192.168.40.129/24,192.168.40.2
  10. dns=192.168.40.2
  11. method=manual
  12. [ipv6]
  13. addr-gen-mode=eui64
  14. method=auto
  15. [proxy]
  16. # 编辑完成执行命令
  17. nmcli c reload # 重新加载配置文件
  18. nmcli c up ens33 # 重启ens33网卡
  1. vim /etc/sysconfig/network-scripts/ifcfg-ens33
  2. TYPE="Ethernet"
  3. PROXY_METHOD="none"
  4. BROWSER_ONLY="no"
  5. BOOTPROTO="static"
  6. DEFROUTE="yes"
  7. IPV4_FAILURE_FATAL="no"
  8. IPV6INIT="yes"
  9. IPV6_AUTOCONF="yes"
  10. IPV6_DEFROUTE="yes"
  11. IPV6_FAILURE_FATAL="no"
  12. IPV6_ADDR_GEN_MODE="stable-privacy"
  13. NAME="ens33"
  14. UUID="3af6ae21-acd7-4f72-853c-9946c9af5d9f"
  15. DEVICE="ens33"
  16. ONBOOT="yes"
  17. IPADDR=192.168.40.100
  18. GATEWAY=192.168.40.2
  19. NETMASK=255.255.255.0
  20. DNS1=192.168.40.2
  21. # 修改完后执行
  22. service network restart

image.png

服务

systemctl start | stop | restart | status 服务名
服务在/usr/lib/systemd/

防火墙

systemctl stop firewalld # 关闭防火墙
systemctl disabled firewalld # 关闭防火墙自启

关机重启

shutdown -c # 取消关机操作
shutdown now # 关机
shutdown 3 # 三分钟后关机
shutdown 15:28 # 在15:28关机
sync # 数据从内存同步到硬盘
reboot # 重启
shutdown -r now # 重启
halt # 停机休眠
poweroff # 关机

常用命令

软链接:ln

ln -s [文件或目录] [链接名]

用户管理

# 添加用户
useradd 用户名
# 设置用户密码
passwd 用户名
# 删除用户
userdel 用户名
# 删除用户目录
rm -rf /home/用户文件夹
# 在该文件内设置用户可以使用sudo
vim /etc/sudoers

用户组管理

# 查看所有用户组
cat /etc/group
# 新建组
groupadd 组名
# 修改用户组
usermod -g 组名 用户名
# 修改组名
groupmod -n newName oldName

文件属性和权限

文件类型                属主权限                属组权限                其他用户权限
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软件包的所有依赖