三,开关机和用户管理指令

198 阅读5分钟

一,关机与重启指令

1.1 关机指令

  1. shutdown(推荐)

    • 立即关机

      sudo shutdown -h now
      # 或
      sudo shutdown -P now  # `-P` 明确表示关闭电源(Poweroff)
      
    • 延迟关机(如 5 分钟后)

      sudo shutdown -h +5 "系统即将关闭,请保存工作!"
      
    • 取消已计划的关机

      sudo shutdown -c
      
  2. poweroff

    直接关机(相当于 shutdown -h now):

    poweroff
    
  3. halt

    停止系统运行(不切断电源,需手动关闭电源,适用于旧系统)

    halt
    

1.2 重启指令

  1. reboot

    reboot
    
  2. shutdown -r

    立即重启

    shutdown -r now
    

    延迟重启

    shutdown -r +10
    
  3. init 6

    通过运行级别重启

    init 6
    

1.3 注意事项

  1. 权限:关机和重启需 root 权限(通过 sudo)。
  2. 多用户环境:建议提前通知用户(如 shutdown 的提示消息)。
  3. 生产服务器:优先使用 shutdown 计划操作,避免直接断电。
  4. 虚拟化环境:虚拟机中直接执行关机命令即可,无需操作宿主机。

1.4 命令对比表

命令用途适用场景
shutdown -h now安全关机(推荐)生产环境、计划关机
poweroff立即关机(简单快捷)个人电脑、快速关机
reboot立即重启系统更新后或配置变更生效
systemctl poweroff通过 systemd 关机(现代系统)Ubuntu/CentOS 7+
init 0切换运行级别到 0(旧系统关机)SysV init 系统(如 CentOS 6)

二,登录与注销指令

2.1 切换登录用户

su -切换用户名

2.2 注销当前用户

logout

注意事项

  • 假设我们最初使用的是root账号登录的系统,随后su命令切换到a账号,这个时候注销指令发出之后我们就回到了root账号,如果再用一次就断开连接。

  • logout指令只能在远程连接中使用不能在图形化界面中使用


三,用户管理指令

3.1 添加用户

useradd 用户名

当我们添加完之后,会默认在home文件下创建一个家目录,我们也可以指定家目录创建的位置

useradd -d 指定目录名 用户名

一般的创建的时候我们需要将用户分到一个用户组中,如果没添加组默认自动创建一个和用户名一致的组并将该用户放入

useradd -g 用户组名 用户名

3.2 设置密码

passwd 用户名

如果不添加用户名就默认为当前登录的用户进行密码设置

3.3 删除用户

userdel 用户名

需要注意:这样删除是不会删除家目录的,删除用户名同时删除家目录的语法:

userdel -r 用户名

3.4 查询用户信息

id 用户名

3.5 切换用户

su 用户名

注意事项:

  1. 高权限->低权限,不需要密码
  2. 低权限->高权限,需要密码
  3. 如果要返回原来的用户可以用logout或者exit

3.6 查看当前用户信息

方法1

whoami

方法2

who am i

四,用户组

类似于角色,系统会对有相同权限的用户进行统一管理

4.1 新建组

groupadd 组名

4.2 删除组

groupdel 组名

4.2 移动用户到指定组

usermod -g 要移动到的组名 要移动的用户名

4.3 用户和用户组相关文件

4.3.1 /etc/passwd文件

存放用户的配置文件,记录用户的各种信息,每行的含义:用户名:口令(加密):用户标识号(uid):组标识号(gid):注释性描述:主目录:登录shell

注意:Shell是用来解释用户的指令给内核工具,有bash(中国常用),tcsh,csh

4.3.2 /etc/shadow文件

口令的配置文件,每行的含义:用户名:加密口令:最后一次修改时间:最小间隔时间:最大间隔时间:警告时间:不活动时间:失效时间:标志

字段说明示例值单位特殊值说明
用户名用户登录系统的名称,与 /etc/passwd 中的用户名对应。root--
加密口令用户密码的哈希值(使用如 SHA-512 等算法加密)。$6$...-*! 表示账户被锁定或无密码。
最后一次修改时间密码最后一次修改的时间,从 1970-01-01 起的天数(UNIX 时间戳)。191280 表示下次登录必须修改密码。
最小间隔时间两次密码修改之间的最小间隔天数(防止频繁修改)。00 表示无限制。
最大间隔时间密码有效期最大天数,到期后必须修改密码。9999999999 表示永不过期。
警告时间密码到期前多少天开始向用户发送警告信息。7-
不活动时间密码过期后,允许用户登录的宽限天数(超时后账户被锁定)。7-
失效时间账户自动失效的绝对日期(从 1970-01-01 起的天数),到期后账户无法登录。20000空值表示永不失效。
标志保留字段,目前未使用(用于未来扩展)。

4.3.3 /etc/group文件

组(group)的配置文件,每行含义组名:口令:组标识符:组内用户列表

五,运行级别

运行级别说明:

  • 0 关机
  • 1 单用户【可以找回丢失的密码】
  • 2 多用户状态【无网络服务】
  • 3 多用户状态【有网络服务】(常用)
  • 4 系统未使用保留给用户
  • 5 图形界面(常用)
  • 6 系统重启

如果是0或者6系统直接关机或者重启

切换运行级别指令

init 运行级别

六,帮助指令

方法1

man 命令名

方法2

help 命令名

获得shell内置命令的帮助信息(全英文的哦~)