1 vim编辑器
# 安装:yum install vim -y
# 命令模式、编辑模式、末行模式
# 命令模式: 进入vim的第一个模式
-上下翻
-yy 复制一行
-p 粘贴 到光标到下面
-dd 剪切
-p 把上面剪切的粘贴上
-u 撤销
# 编辑模式
-i:insert 插入
-a:append 追加
-o:换行
-正常写就可以了
-esc回到普通模式
# 末行模式:
不能从编辑模式直接进,只能先到命令模式
按 : 进入命令, esc 退出命令模式
-w 表示保存
-q 退出
-! 强制退出
-修改了保存退出: wq wq!
-修改了不保存退出: q q!
-:set nu 显示行号
-:set nonu 不显示行号
-/字符串 搜索这个字符串
-:s#原内容#目标内容#g # 替换内容 % 表示整个文本
eg:
:%s#sbin#test#g # 替换整个文本文件中包含sbin的替换为test
2 用户相关
# 1 查看用户信息
id : 查看当前用户信息
id 指定用户 :查看指定用户信息
uid=0(root) gid=0(root) groups=0(root)
# 2 用户信息保存在 /etc/passwd 文件
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
# 3 密码存放路径 /etc/shadow 文件
cat /etc/shadow
# 4 约定不同用户的uid属于某个范围(了解)
普通用户:一般是1000以后
# 5 用户的增,删,改
useradd 增 一个用户只能属于一个主组,属于多个附加组
-u # 用户id
-g # 用户组id
-G # 用户附加组
-c '' # 用户注释信息
-s # 指定登录时 以什么解释器启动 nologin时,不准登录
-M # 不建立用户家目录
-d # 指定要创建用户家目录
# eg:
1.useradd -u 5001 -g students -G sa,sa1 -c "2020 new student" -s /bin/bash lqz1
2.创建mysql系统用户,-M不建立用户家目录 -s指定nologin 使其用户无法登陆系统
useradd mysql -M -s /sbin/nologin
usermod 改
-d # 指定要修改用户家目录 -md 旧家搬新家
-L # 指定要锁定的用户
-U # 指定要解锁的用户
其他参数同 增加用户一样
# eg:
1.修改bgx用户的注释信息, 用户家目录, 登录shell, 登录名 -l:改名字,-md:修改并把环境也带过去
usermod -c "2019 new student" -md /bgx -s /bin/sh -l change_bgx bgx
2.锁定/解锁用户
usermod -L change_bgx # 锁定后会无法登陆系统
usermod -U change_bgx
userdel 删
-userdel egon # 删除用户,不删家目录 常用
-userdel -r egon1 # 删除用户,并删家目录
# 6 修改密码
passwd 用户
# 7 用户组增删改 /etc/group 文件中
groupadd no_gid # 新增组
groupmod student -g 1111 # 修改组id号
groupmod student -n new_student # 修改组名字
groupdel new_student # 删除组(组下没有人时才能删,把人删除,再删)
# 8 su 和sudo ***
-su 切换用户
-su - jack :打开新的shell,会加载用户jack 的环境变量
-su jack :不打开新的shell,不会加载用户jack 的环境变量
普通用户 su -可以直接切换至root用户,但需要输入root用户的密码
超级管理员root用户 使用su - username切换普通用户 不需要输入任何密码。
-sudo 提权 普通用户可以有一些超级用户的权限,不需要输入root密码
# 首先 需要root用户 授予jack用户
usermod jack -G wheel # 把jack用户加入到了wheel组
# 再 普通用户执行root用户部分权限时,sudo 提权 一下
# eg:
root
usermod jack -G wheel # 设置jack用户 到wheel组里
su - jack # 切换到jack用户
jack 此时jack用户 只允许操作'/home/jack' 文件的权限
cd /home # 切换到home目录 正常情况下 不能操作 eg: mkdir aaa
sudo mkdir aaa # 提权并执行命令 此时有权限执行命令
# 可能要求输入密码, 是当前 jack用户的密码
-你这个用户没有权限,你尝试 sudo mkdir ll试一下,不行,超级管理员没有给你配这个权限
配置组 有root的某些权限:
http://www.liuqingzheng.top/linux/%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/06-Linux%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86/
3 特殊权限:权限属性chattr
# 选项:
+ 增加权限 -减少权限 = 等于某个权限
# a:让文件或目录仅可追加内容
# i:不得任意更动文件或目录
# 给某个文件或者文件夹加特殊权限
-chattr +i lqz.text
-chattr -i lqz.text
4 压缩解压
# 1 Windows的压缩包与Linux的压缩包能否互通
windwods :rar、zip
linux :tar.gz、 zip(同windows互通),不支持rar
# 2 gzip 了解 只能压一个文件,不能压文件夹,会把原文件删除
gzip file # 压缩
gzip -d file # 解压
# 有什么用? 可以批量将yum源 压缩成 .gz格式,类似于备份且改名了
cd /etc/yum.repos.d/
gzip .*
# 3 zip的压缩和解压
安装 yum install zip unzip -y
zip filename.zip filename # 压单个文件
zip -r home.zip /home/ # 把home文件夹压缩
unzip home.zip # 解压 到当前路径
unzip -l home.zip # 不解压,看内容
unzip home.zip -d /opt/ # 把当前路径下的home.zip 解压到opt
# 4 tar打包与压缩 ***
--exclude=文件 # 排除指定文件 压缩
-C # 指定解压到哪个路径
tar -czf 压缩文件.tar.gz 原文件 --->压缩tar.gz
tar -xf xx.tar.gz --->解压xx.tar.gz
# eg:
tar -czf home.tar.gz dd/ lqz1 lqz2 /home/ # 可以跨文件夹 一起压缩
tar czf etc.tar.gz --exclude=etc/services etc/ # 排除文件
tar xf /etc/local.tar.gz -C /tmp # -C指定解压到哪个路径
5 软件管理:rpm
# 1 rpm: Red Hat Package Manager
红帽的软件安装包 (类似于windows的:exe,msi)
# 2 mount /dev/cdrom /mnt 把cdrom光盘挂在到 /mnt文件夹
# 3 三种安装软件的方式
-源码安装
-->官网下源码--》编译安装---》最新
-rpm包安装
预先编译打包, 安装简单 ---》稍微老一些
# yum安装 本质就是rmp安装
-二进制包:绿色包,解压即可执行使用 ---> 不能修改源码
# 4 rpm命令
# 安装 缺点:rpm无法解决安装包依赖的问题 类似:python 安装 wheel
rpm -ivh rpm包
eg:rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
rpm -ivh --force rpm包 # 强制安装
eg:rpm -ivh --force /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm
rpm -ivh https://rpm网络地址 # 使用远程地址安装
eg: rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.8-2.el7.x86_64.rpm
# 查看
rpm -q 软件名 # 查看指定软件是否安装 ***
rpm -qa # 列出所有安装的软件
rpm -ql 软件名 # 查询指定软件包所安装的目录、文件列表 ***
rpm -qc 软件名 # 查看指定软件的配置文件位置
rpm -qf 文件 # 查看文件/目录属于哪个rpm软件
eg:rpm -qf /etc/pam.d/vsftpd # 常用查看配置文件属于哪个软件
rpm -qlp rpm安装包 # 查看该软件包安装后会释放哪些文件
eg:rpm -qlp trace-cmd-2.6.0-10.el7.x86_64.rpm
# 升级
rpm -Uivh 安装包 # 升级软件需要用 U
# 卸载
rpm -e zabbix-agent
6 yum仓库、源
# 1 Yum
是RedHat以及CentOS中的软件包管理器,能够通过互联网下载 .rpm包 并且安装。
并可以自动处理依赖性关系,无须繁琐地一次次下载、安装 类似:python pip安装
yum install 软件名 -y # -y 表示 确认
yum provides ipconfig # 通过命令查软件,这个命令属于哪个软件
rpm -qf `which ifconfig` # 查命令属于哪个软件,前提是该软件安装了
# 2 yum源
cd /etc/yum.repos.d/ 路径下有xx.repo 文件---》yum源
# 3 换阿里云的源 下载并替换原有的源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 4 配置其他源 epel拓展源 (常见的)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo