zoukankan      html  css  js  c++  java
  • vim、用户相关、特殊权限、压缩减压、rpm、yum、

     ## 1 vim

    ```python
    # yum install vim -y
    # 普通模式、编辑模式、命令模式
    # 普通模式:
    -上下翻
    -yy 复制一行
    -p 粘贴
    -dd 剪切
    -p 把上面剪切的粘贴上
    # 编辑模式
    -i:insert插入
    -a:append追加
    -o:换行
    -正常写就可以了
    -esc回到普通模式

    # 命令模式:
    -不能从编辑模式直接进,只能先到普通模式按 : 进入命令,退出命令模式esc
    -w 表示保存
    -q 退出
    -! 强制退出
    -修改了文件后保存: wq wq!
    -修改了不想保存退出: q q!
    -:set nu 显示行号
    -:set nonu 不显示行号
    -/字符串 搜索这个字符串
    -:%s#sbin#test#g #替换整个文本文件中包含sbin的替换为test
    ```


    ## 2 用户相关

    ```python
    #1 id 查看当前用户信息
    uid=0(root) gid=0(root) groups=0(root)
    #2 用户信息保存在 cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    #3 密码存放路径 cat /etc/shadow
    #4 约定不同用户的uid属于某个范围(了解)
    # 5 用户的增,删,改
    -useradd(一个用户只能属于一个主组,属于多个附加组)
    -groupadd sa 新增一个组
    -groupadd sa1 新增一个组
    -groupadd students 新增一个组
    -useradd -u 5001 -g students -G sa,sa1 -c "2020 new student" -s /bin/bash lqz1
    -创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户无法登陆系统
    useradd mysql -M -s /sbin/nologin
    -usermod
    -usermod -c "2019 new student" -md /bgx -s /bin/sh -l change_bgx bgx
    -usermod -L change_bgx #锁定后会无法登陆系统
    -usermod -U change_bgx
    -userdel
    -userdel egon # 删除用户,不删家目录
    -userdel -r egon1 # 删除用户,删家目录

    #6 改密码
    -passwd root
    #7 组增删改
    -groupadd no_gid 新增组
    -groupmod -g 1111 student 改组id号
    -groupmod student -n new_student 改组名字
    -groupdel new_student 删除组(组下没有人,把人删除,再删)

    # 8 su 和sudo
    -su 切换用户
    -su - jack:打开新的shell,会加载自己的环境变量
    -su jack:不打开新的shell,不会加载它的环境变量
    -sudo 普通用户可以有一些超级用户的权限,不需要输入密码
    usermod jack -G wheel # 把jack用户加入到了wheel组
    -你这个用户没有权限,你尝试 sudo mkdir ll试一下,不行,超级管理员没有给你配这个权限
    ```

    ## 3 特殊权限:权限属性chattr

    ```python
    #选项: + 增加权限 -减少权限 =等于某个权限
    # a:让文件或目录仅可追加内容
    # i:不得任意更动文件或目录
    # 给某个文件或者文件夹加特殊权限
    -chattr +i lqz.text
    -chattr -i lqz.text
    ```

    ## 4 压缩解压

    ```python
    #1 Windows的压缩包与Linux的压缩包能否互通
    windwods:rar,zip
    linux:tar.gz,zip互通,不支持rar
    # 2 gzip (只能压一个文件,不能压文件夹,会把原来的删除)
    -gzip file
    -gzip -d file
    -有什么用?
    -cd /etc/yum.repos.d/
    #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打包与压缩
    -tar -czf 文件 ---》tar.gz
    -tar -xf xx.tar.gz --->解压xx.tar.gz

    tar -xzvf xx.tar.gz :解压tar.gz,详细过程列出来

    -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

    ```python
    #1 红帽的软件安装包(windows的:exe,mis)
    #2 mount /dev/cdrom /mnt 把光盘挂在到 /mnt文件夹
    #3 Linux中除了rpm安装软件,是否还有安装软件方式
    -源码安装-->官网下源码--》编译安装---》最新
    -rpm包,预先编译打包,安装简单,yum安装,本质就是rmp安装--》稍微老一些
    -二进制包:绿色包

    -安装rpm的软件:rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
    -强制安装:rpm -ivh --force /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm

    -rpm -q :查看这个软件是否安装********
    -rpm -qa |grep tr :列出所有安装的软件
    -rpm -ql :查询指定软件包所安装的目录、文件列表rpm -ql unzip *****
    -rpm -qc unzip:查看这个软件的配置文件位置
    -rpm -qf /etc/pam.d/vsftpd :查看配置文件属于哪个软件
    -rpm -qlp trace-cmd-2.6.0-10.el7.x86_64.rpm :查看该软件包安装后会释放哪些文件

    -使用远程地址安装: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 -Uivh 升级软件需要用 U
    -rpm -e zabbix-agent

    ```


    ## 6 yum仓库,源

    ```python
    # 1 Yum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装

    # 2 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 配置其他源
    -wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    -yum install nginx

    -yum provides ipconfig # 通过命令查软件,这个命令属于哪个软件

    -rpm -qf `which ifconfig` # 查命令属于哪个软件,前提是该软件安装了
    ```


    # 补充

    ```python
    # psutils
    # django channels
    # websocket:https://www.cnblogs.com/liuqingzheng/p/10151572.html

    # paramiko
    import paramiko

    #

    ssh = paramiko.SSHClient()
    # 允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    ssh.connect(hostname='10.0.0.100', port=22, username='root', password='123')

    # 执行命令
    stdin, stdout, stderr = ssh.exec_command('yum install vim -y')
    # 获取命令结果
    result = stdout.read()
    print(result.decode('utf-8'))
    # 关闭连接
    ssh.close()
    ```
  • 相关阅读:
    关于C语言中的绝对值函数
    B. Interesting drink(水题 二分)
    A. Boring Apartments(水题)
    A. FashionabLee(水题)
    A. Collecting Coins(水题)
    A. Fancy Fence(水题)
    最小公因数,最小公倍数,以及快速幂模板
    android:layout_gravity 和 android:gravity 的区别
    Android开发之Intent略解
    java中类的创建及初始化过程
  • 原文地址:https://www.cnblogs.com/0B0S/p/13618704.html
Copyright © 2011-2022 走看看