个人整理 韩顺平一周学会 linux 2021 部分笔记 (1-5节)

个人整理笔记

返回目录

1. shutdown/halt/reboot 关机&重启指令

  1. shutdown -h now立刻关机
  2. shutdown -h 11分钟后关机
  3. shutdown与上一条含义相同
  4. shutdown -h与上一条含义相同
  5. shutdown -r now立即重启
  6. shutdown -r 11分钟后重启
  7. shutdown -c取消上面的关机/重启命令
  8. halt保存数据
  9. reboot立即重启,同 5 条
  10. halt立即关机,同 1 条
  11. sync保存数据,防止内存中的数据丢失

细节:

  1. 不论是重启还是关机,首先要运行 sync 指令,防止数据丢失
  2. 目前的 关机/重启指令已经内部调用了 sync 指令,但在生产环境中,为保证安全应人为调用一次 sync
  3. 只有shutdown指令,才能指定关机时间。halt/reboot 都是立即执行

返回目录

2. 用户登录/切换和注销

1. su/logout/exit 登录与注销

  1. 常用命令

    1. su - 用户名切换到对应用户名的用户,注意中间的 - 两边有空格
      su - lilixxs切换到用户“lilixxs”
    2. su - root切换到 root 用户
    3. su -同上,切换到 root 用户,用 logout 退出
    4. su切换到 root 用户,只是权限,但终端配置仍为用户终端,用 exit 退出
    5. logout注销此账户
    6. exit退出此账户权限
  2. 基本介绍:

    1. 登录时尽量少用 root 账号登录,因为 root 账号权最大,易造成操作失误
    2. 切换root用户的方法:使用一般用户登录,登录后再使用 su -root 切换为root
    3. 执行单条root命令的方法:sudo + 命令
    4. 从高权限用户切换到低权限用户,无需输入密码
      从低权限用户切换到高权限用户,需要输入密码
  3. 注意:

    1. logout命令只在 运行级别3 下有效,在有桌面显示的图形界面下无效
      如:本体图形界面下的终端中无效,在远程命令行界面的终端中有效
    2. su 命令和 su - 命令的区别:
      • su root 只是切换了root权限,但 Shell 环境仍然是之前普通用户的Shell;
      • su - root 连权限和 Shell 环境一起切换成 root 身份了。
      1. 只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。
      2. su 切换成 root 用户以后,pwd 一下,发现工作目录仍然是普通用户的工作目录
      3. 而用su -命令切换以后,工作目录变成 root 的工作目录了。用 echo $PATH 命令看一下 su 和 su - 后的环境变量已经变了。

2. Shell 切换与运行级别切换

1. chsh Shell 切换

  1. Shell 基本介绍
    Shell 是一个命令行解释器,它为用户提供了一个系统级程序:向 Linux 内核发送请求以便运行程序。用户可用 Shell 来启动、挂起、停止,甚至是编写一些处理程序
    Linux 系统的 Shell 结构

    1. 通俗来说,Shell 是 Linux 系统的命令行界面,类似 Windows 系统的 cmd 和 powershell
    2. 同一个系统可安装多个 Shell,如 Windows 系统下,可使用 cmd 或 powershell。
      不同 Shell 会提供一些额外的功能,如快捷键、插件、配色、shell 变量等功能,提供更便捷的命令交互体验
    3. 一个命令行窗口同一时间只能指定一种 shell,但可使用chsh命令切换 shell
  2. 查看当前系统安装的 Shell:chsh -l

  3. 更改某一用户默认的 Shell:chsh -s 要切换的shell的完整路径 [用户名]

    1. 要切换的shell的完整路径:可使用chsh -l命令查看
    2. 若省略用户名,则对当前命令窗口登录的用户进行修改
  4. 运行对应的 Shell:exec shell的名称
    这种设置只是临时设定,开启新的 Shell 窗口时,依然会使用默认的 Shell 界面

2. init 运行级别

  1. 基本介绍
    运行级别说明
    0:关机
    1:单用户(找回丢失密码)
    2:多用户,但没有网络服务
    3:多用户,且有网络服务(远程登录)
    4:保留,用户可自定义的级别
    5:图形界面,多用户且有网络服务
    6:系统重启
    常用运行级别:3、5
    也可指定默认运行级别

  2. 切换运行级别
    init +运行级别(0-6)
    init 5 切换到图形界面级别
    init 0 关机

    1. 利用运行级别,可以切换纯命令行界面 <–> 图形界面

    2. 也可利用运行级别实现系统的重启、关机等操作
      作用类似 shutdown / halt / reboot 等指令

  3. 指定默认运行级别
    通过修改配置文件进行设定
    centos 7 以前的系统:/etc/inittab 文件
    centos 7 以后的系统:
    multi-user.target 与 level 3 含义相同
    graphical.target 与 level 5 含义相同

    1. 获取系统默认运行级别
      systemctl get-default
      
    2. 设置默认运行级别
      systemctl set-default +上边两种级别的英文
      

返回目录

3. 用户管理

  1. 基本介绍

    Linux系统是一个多用户,多任务的操作系统,任何一个要使用系统资源的用户,都必须首先先系统管理员申请一个账号,然后以这个账号登录系统
    不同用户有不同的应用数据,可授予不同的权限

1. useradd 添加用户

  1. 基本语法
    useradd 用户名

  2. 应用案例

    useradd Ming123               添加一个用户 Ming123
    
  3. 细节说明

    1. 当创建用户成功后,会自动创建与用户同名的家目录(位于 /home 目录下)

    2. 给新创建的用户指定用户目录(主目录 / 家目录)
      useradd -d 指定目录的路径 新用户名

      # 添加用户 PigAA,指定其用户目录 /data
      useradd -d PigAA /data
      
    3. 给新创建的用户指定所在组
      useradd -g 所在组名 用户名

      # 添加用户 CatBB,指定其所在组 Baosight
      useradd -g Baosight CatBB
      

2. whoami 查看当前用户

  1. 基本语法:英文”我是谁“——Who am I?
    whoami

3. usermod 修改用户

  1. 修改用户名
    usermod -l 新用户名 原用户名
    此指令在用户使用此账户远程登录时不可用
    将用户 lilixxs 更名为 lxy

    usermod -l lxy lilixxs
    
  2. 修改用户的家目录(主目录)
    直接指定用户的家目录,要求此目录存在且权限正确,否则报错
    usermod -d 新的主目录地址 用户名

    # 将用户 lilixxs 的主目录改为 /home/baosight
    usermod -d /home/baosight lilixxs
    
  3. 移动用户的家目录(主目录)
    将原用户的主目录下的文件移动到新目录下,若新目录不存在,则新建对应目录
    usermod -md 新的主目录路径 用户名

    # 将用户 lilixxs 的主目录移动到 /home/lilixxs/ 目录下
    usermod -md /home/lilixxs lilixxs
    
  4. 切换用户到单一用户组
    usermod -g 新用户组 用户名

    # 将用户 Ming123 切换到用户组 Baosight
    usermod -g Baosight Ming123            
    
  5. 切换用户到多个用户组
    usermod -G 用户组1,用户组2,... 用户名

    # 将用户 lilixxs 切换到 Baosight, Ba0sight, g1, g2 用户组中
    usermod -G Baosight,Ba0sight,g1,g2 lilixxs
    
  6. 追加用户到其他组
    新增用户到新的用户组,不改变原用户组
    usermod -aG 新用户组 用户名

    # 将用户 lxy-baosight 添加到 baosight 用户组
    usermod -aG baosight lxy-baosight
    

3. passwd 指定/修改密码

  1. 基本语法:
    passwd 用户名
    回车后输入密码,再回车确认

  2. 应用案例
    为 Ming123 指定密码

    passwd Ming123
    
  3. 扩展

    1. 为当前登录的用户修改密码:指令后省略用户名,直接回车
      passwd

    2. 关于输入弱密码时的提示,若没有采用安全策略,则即使提示为错误的弱密码,也可顺利更改

4. userdel 删除用户

  1. 应用案例

    1. 删除用户,并删除用户家目录
      userdel -r + 用户名

       # 删除 Ming123 账户及此账户对应的家目录
       userdel -r Ming123
      
    2. 删除用户,但保留家目录
      userdel + 用户名

      # 删除 PigAA 账户及此账户对应的家目录
      userdel PigAA
      
  2. 细节说明

    1. 删除用户,并删除用户家命令的操作要慎重,一旦执行,对应用户家目录下的所有文件都会被清空

    2. 是否要删除用户的家目录?
      如果不是必须删除,建议保留,有可能用于交接、查疑等工作,一旦删除就无法再恢复了

    3. 删除用户后,如何手动删除用户的家目录?
      chmod + rm -rf 强制修改文件夹的操作权限并强制删除
      还要记得删除 /var/spool/mail 目录下的对应目录,保证下次重建用户时不报错

5. id 查询用户信息

  1. 基本语法
    id + 用户名

    id lilixxs          # 查询用户 lilixxs 的信息
    id root             # 查询用户 root 的信息
    
  2. 细节说明

    1. 当用户不存在时,返回“无此用户”

    2. id命令后不加用户名,则查询的是当前使用的用户信息

返回目录

4. 用户组

1. groupadd/groupdel 新增和删除用户组

  1. 用户组介绍
    系统可对有共性(用相同权限)的多个用户设为一个用户组,进行统一管理。类似数据库系统中的角色

  2. 新增组
    groupadd + 组名

    # 添加用户组 Baosight
    groupadd Baosight                  
    
  3. 删除组
    groupdel + 组名

    # 删除用户组 Baosight
    groupdel Baosight            
    
  4. 新建用户时同时添加到对应的组中
    useradd -g +用户组 +用户名

    # 新建用户 lxy-baosight 并加到 Baosight 用户组
    useradd -g Baosight lxy-baosight
    
  5. 注意

    1. 若在新建用户时没有指定组,则系统会新建一个与新用户同名的组,并将此用户加入此组中

2. groupmod/usermod 修改用户组

  1. 切换用户到单一用户组
    usermod -g +新用户组 +用户名

    # 将用户 Ming123 切换到用户组 Baosight
    usermod -g Baosight Ming123            
    
  2. 切换用户到多个用户组
    usermod -G +用户组1,用户组2,... 用户名

    # 将用户 lilixxs 切换到 Baosight, Ba0sight, g1, g2 用户组中
    usermod -G Baosight,Ba0sight,g1,g2 lilixxs
    
  3. 添加用户到其他组
    新增用户到新的用户组,不改变原用户组
    usermod -aG +新用户组 +用户名

    # 将用户 lxy-baosight 添加到 baosight 用户组
    usermod -aG baosight lxy-baosight
    
  4. 修改用户组名称
    groupmod -n +新用户组名 原用户组名

    # 将用户组 Baosight 更名为 Ba0sight
    groupmod -n Ba0sight Baosight
    
  5. 删除用户组
    groupdel +用户组名

    # 删除用户组 Ba0sight
    groupdel Ba0sight
    
  6. 与用户组有关的几个目录

    1. /etc/passwd 文件
      用户(user)配置文件,记录用户的各种信息
      每行的意义:用户名:是否有口令(有口令标记为X):用户id(uid):组id(gid):注释:家目录:登录Shell

    2. /etc/shadow 文件
      口令(密码)的配置文件
      每行的意义:登录名:加密口令:口令最后修改时间:修改最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

      1. 口令使用特殊方式加密显示
      2. 若创建用户后没有设定密码,则显示 !!;若设定了密码则显示加密后的口令
    3. /etc/group 文件
      组(group)的配置文件,记录Linux包含的组的信息
      每行的含义:组名:口令(有口令标记为X):组织编号(gid):组内用户

返回目录

5. 实用指令

1. 找回 root 密码

上网找教程,不同版本的系统步骤略有不同

2. man/help 帮助指令

  1. man 帮助手册
    man +要查看的指令/配置文件
    man ls 查看指令 ls 的帮助手册

  2. help 帮助指令
    help +要查看的指令
    help cd 查看 cd 命令的帮助信息

返回目录

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值