zoukankan      html  css  js  c++  java
  • vim及用户组管理

    一.vim编辑器

    1.vim的三种模式

    a.命令行模式

    | 命令 | 含义 |
    | ----------- | ------------------------------------------------------------ |
    | yy | 复制光标所在行,3yy表示复制3行 |
    | p(小写p) | 光标所在行后面粘贴 |
    | P(大写P) | 光标所在行前面粘贴 |
    | gg | 光标快速跳到文件首行,并且定位到首字符,3gg表示快速跳到文件第3行行首字符 |
    | G | 光标快速跳到文件尾行,并且定位到首字符 |
    | home|^ | 跳转到行首 |
    | end|$ | 跳转到行尾 |
    | dd | 删除光标所在行,3dd表示删除3行(包括光标所在行) |
    | d^ | 从光标位置删至行首,不包括光标位 |
    | d$ | 从光标位置删至行尾,包括光标位,与D作用相同 |
    | dG | 删除光标所在行以及下面所有行 |
    | dgg | 删除光标所在行以及上面所有行 |
    | ==x(小写)== | 删除光标所在字符后面一个字符,3x删除3个字符 |
    | X(大写) | 删除光标所在字符前面一个字符,3X删除3个字符 |
    | u | 撤销操作,ctrl+r 取消撤销 |


    案例如下
    [root@localhost tmp]# vi /tmp/passwd
    [root@localhost tmp]# vi +2 /tmp/passwd 进入文件后光标在第2行
    [root@localhost tmp]# vi +/root /tmp/passwd 进入文件后会高亮所有root关键字

    b.编辑模式

    i 从光标所在字符前开始插入
    a 从光标所在字符后开始插入
    I 从光标所在行行首开始插入
    A 从光标所在行行尾开始插入
    o 从光标所在行下新建一行开始插入
    O 从光标所在行上面新建一行开始插入
    S 删除光标所在行开始插入

     c.底行模式

    保存和退出
    :w 保存 :w 文件名 保存到另一个文件
    :q退出 :wq保存和退出
    :q! 强制退出 :wq!保存并强制退出
    :x 若已修改文件,则保存退出;若未修改文件则退出

    搜索和替换
    /root 搜索root,n向下匹配,N向上匹配
    :%s/root/ROOT/
    :%s/root/ROOT/g
    :%s/root/ROOT/gc
    :%s//root//ROOT/g 替换/root,需要用转义/
    :%s#/root#/ROOT#g 替换/root,使用#为分隔符
    :5s/root/ROOT/g 只替换第五行

    其他功能
    :noh 取消高亮
    :set nu或:set number 设置临时行号,退出再进就没有了
    若要永久设置行号,需要在/etc/vimrc文件最后追加上set number
    :set list 可以查看控制字符

    地址定位
    :1,3 w 文件file 1到3行保存到另一个文件file
    :r /tmp/passwd 在光标所在行读取passwd文件的内容
    :3r /tmp/passwd 在第三行下读取passwd文件的内容
    :nr! command 在第n行下读取command命令的执行结果
    :n! command 用command的执行结果替换第n行

    2.多窗口编辑问题

    O(pen for Read-Only):打开成只读文件。
    E(dit):用正常方式打开要编辑的文件,并不会载入暂存文件的内容。这很容易出现两个用户相互改变对方的文件的问
    题。
    R(ecover):加载暂存文件的内容。
    D(elete):如果你确定这个暂存文件是没有用的,则可以删除。
    Q(uit):不进行任何操作,回到命令行。
    A(bort):忽略这个编辑行为,和Q类似。
    需要注意的是:
    这个暂存文件不会因为你结束vim后自动删除,必须要手动删除。否则每次打开对应的文件时都会出现这样的提示。

    3.可视化模式

    ctrl+v可以切换到该模式

    二.linux用户管理

    1.用户概念及作用

    linux系统用来管理系统和服务的人

    作用,管理文件,linux下一切皆文件

    ​ 文件基本管理:创建,修改,删除等

    ​ 文件高级管理:程序安装,升级,卸载等,终极目的是对外提供稳定的服务

    2.用户分类

    超级用户,管理员root,具有最大权限,uid=0

    系统用户,由程序产生,用于程序运行时的身份,默认不能登录系统,1<=uid<=499;rh7下1<=uid<=999

    普通用户:由root创建,对系统进行有限的管理维护操作,可以登录系统,500<=uid<=60000;rh7下1000<=uid<=60000

    3.用户的基本管理

    a.用户添加(useradd)

    格式:useradd [选项] 用户名
    -u uid
    -g 指定主组,组名或gid
    -G 指定用户附加组
    -d 指定用户家目录
    -s 执行用户默认shell
    -c 用户描述

    案例
    [root@localhost tmp]# useradd -u 666 u1

    /etc/shells 系统支持的shell
    其中/sbin/nologin 不能登录系统

    保存用户信息配置文件/etc/passwd
    /etc/paaswd配置文件
    以冒号:分割为7列,如下:
    account 用户名称
    password 密码,将密码单独存放在另外一个文件中
    UID 用户ID
    GID 组ID
    GECOS 用户描述说明
    directory 用户的家目录
    shell /bin/bash用户的默认shell,其中/sbin/nologin表示非交互,不能登录系统

    用户密码信息保存文件/etc/shadow

    用户账户信息修改(chage)
    chage --help
    -d 修改用户最后一次更改密码的时间,修改为0时,则下次登录时必须修改密码
    -m 修改密码的最小存活期(几天后才能修改密码)
    -M 修改密码的最大存活期(每隔多少天更新一次密码)
    -W 修改密码过期前警告(过期前几天发出警告)
    -I 修改允许密码过期几天
    -E 修改账户过期时间
    -l 列出账户的信息

    案例如下
    [root@localhost home]# chage -d 0 boss01
    [root@localhost home]# chage -l boss01
    Last password change : password must be changed
    Password expires : password must be changed
    Password inactive : password must be changed
    Account expires : Jun 04, 2019
    Minimum number of days between password change : 0
    Maximum number of days between password change : 15
    Number of days of warning before password expires : 7
    [root@localhost home]#

    b.用户密码修改

    root下: passwd inst01 修改inst01的用户密码
    inst01下直接输入passwd回车,修改当前用户的密码

    c.用户信息修改

    -u 修改用户uid
    -g 修改用户主组
    -G 修改用户附加组
    -d 修改用户家目录
    -s 修改用户默认shell

    案例
    [root@localhost home]# usermod -u 700 boss01
    [root@localhost home]# ^C
    [root@localhost home]# cat /etc/passwd |grep boss01
    boss01:x:700:509::/home/boss01:/bin/bash
    [root@localhost home]#

    d.用户删除

    -r 删除用户时同时删除用户家目录和邮箱等
    用户邮箱默认在/var/spool/mail/用户名
    -f 强制删除正在登录的用户

    案例
    [root@localhost home]# userdel -r jack
    [root@localhost home]# ll jack
    ls: cannot access jack: No such file or directory
    [root@localhost home]#

    三.linux用户组管理

    1.组和用户的关系

    组的目的是==管理用户,==用户是管理维护系统或服务的人

    用户是管理文件的,文件使用用户创建的,文件属性中的属组就是用户的主组

    2.组的基本管理

    a.组创建groupadd

    -g 指定gid
    组信息配置文件/etc/group

    案例
    [root@localhost home]# groupadd -g 600 g1
    [root@localhost home]# tail -1 /etc/group
    g1:x:600:
    [root@localhost home]#
    b.修改组groupmod

    -g 修改gid

    案例
    [root@localhost home]# groupmod -g 601 g1
    [root@localhost home]# tail -1 /etc/group
    g1:x:601:
    [root@localhost home]#

    c.删除组groupdel

    格式:groupdel 组名
    [root@localhost home]# groupdel g1
    [root@localhost home]# tail -1 /etc/group
    itcast6:x:514:
    [root@localhost home]#

    d.组成员管理gpasswd

    语法:gpasswd [选项] 组名
    -a 添加组成员
    -A 指定管理员,管理员用户可以添加组成员等
    -d 从组中删除组成员
    -M 指定组员,可以批量添加成员到组中

    案例
    [root@localhost home]# gpasswd -a tom boss01
    Adding user tom to group boss01
    [root@localhost home]# gpasswd -A tom boss01
    [root@localhost home]#
    [root@localhost home]# gpasswd -d tom boss01
    Removing user tom from group boss01
    [root@localhost home]#

  • 相关阅读:
    如何增加VM Ware虚拟机的硬盘空间
    安装完成oracle 11g R2 后,使用sqlplus 报错"sqlplus: error while loading shared libraries" ...
    listener.ora
    ExtJS项目框架有关问题讨论
    Oracle启动监听报错:The listener supports no services解决
    Linq学习笔记一
    PAT 1054 The Dominant Color[简单][运行超时的问题]
    Andrew NgML第十八章大规模机器学习
    PAT 1042 Shuffling Machine[难]
    PAT 1103 Integer Factorization[难]
  • 原文地址:https://www.cnblogs.com/golinux/p/10808857.html
Copyright © 2011-2022 走看看