linux04--vim编辑器、用户相关、特殊权限、解压缩、rpm与yum软件安装

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
posted @ 2022-07-27 16:19  Edmond辉仔  阅读(34)  评论(0编辑  收藏  举报