目录
系统时间 / 本地时间(System time / Local time):当前Linux Kernel中的时间
硬件时间(Real-Time Clock, RTC):主板上有电池供电的时间
协调世界时钟(Coordinated Universal Time, UTC)
时间
Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。
系统时间 / 本地时间(System time / Local time):当前Linux Kernel中的时间
指Linux系统内部的时间。我们在系统任务栏中能直接看到的时间就是系统时间。当Linux系统启动时,硬件时钟会读取系统时钟的设置,然后系统时钟会独立于物理层面的硬件运作。Linux系统中所有的命令(包括函数)均使用系统时钟。
硬件时间(Real-Time Clock, RTC):主板上有电池供电的时间
实时时钟是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,它控制着计算机系统的时间。操作系统中所提到的RTC,指的就是在计算机主板控制下的时间,即硬件时间,为计算机硬件的内部时钟。该硬件时钟可以在Linux的BIOS(Basic Input Output System)中进行设置。
协调世界时钟(Coordinated Universal Time, UTC)
是最主要的世界时间标准,与时区无关的全球时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治标准时间。
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
date 查看当前时间
date -s "" 修改系统时间
date -d "显示字符串所指的日期与时间"
date "+%Y-%m-%d %H:%M:%S" 格式化时间格式
hwclock --show 查看当前硬件时间
hwclock --set --data "设置硬件时间"
sys 系统时间
hc 硬件时间
hwclock --hctosys 系统时间同步为硬件时间 (-s)
hwclock --systohc 硬件时间同步为系统时间 (-w)
timedatectl 同时查看系统时间和硬件时间
设置时区
# 方法一:
tzselect-c 通过自定义数值设置时间
# 选择大洲、国家、城市
# 复制文件到 /etc/localtime 目录下
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 方法二:
timedatectl set-timezone "Asia/Shanghai" # 设置中国上海的时区
用户与组管理
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须徐首先向系统管理员申请一个账号,然后以此账号的身份进入系统
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的密码。
whoami 显示当前登录的用户
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
/etc/gshadow 保存用户组密码的文件
/etc/default/useradd 用户配置文件
以root为例:
用户名
:x(密码占位符)
:用户ID
:用户组ID
:注释
:家目录 默认/home/(root除外)
:解释器shell 等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;
根用户都是从0开始的(第三个域)
root 我们创建的用户 除我们创建的用户之外为伪用户,下面的都是操作系统的伪用户(除普通用户外)
超级用户:(root,UID=0)
普通用户:(UID在500到60000)
伪用户:(UID在1到499)
伪用户不能登录系统,而且没有宿主目录
为什么需要伪用户:没有用户登录时,linux系统依然要运行,有很多进程在跑着,所以必须需要一些伪用户来执行那些命令
以root为例:
用户名
:密码(加密)
:密码不可被更改的天数(0随时可更改)
:密码吸引更新的时间
:提前几天提醒密码更新消息
:密码到期未更改的宽限时间
:账号失效日期(收费系统中规定日期)
:保留位(新功能加入)
用户
useradd [选项] 用户名 添加用户
-g 指定用户主组,值可以是用户组id或组名
-G 指定用户的用户附加组,值可以是用户组id或组名
-u uid,用户的id(标识符),系统会默认按顺序分配,可通过 -u 自定义
-c comment:,添加注释
usermod [选项] 用户名
-g 指定用户主组,值可以是用户组id或组名
-G 指定用户的用户附加组,值可以是用户组id或组名
-u uid,用户的id(标识符),系统会默认按顺序分配,可通过 -u 自定义
-l 修改用户名
usermod -l 新 旧
passwd 用户名 设置密码
su 用户名 (switch user) 切换用户 从root到普通用户不需要密码,反之需要
userdel [选项] 用户名
-r 删除用户同时删除家目录
ps -sf | grep 用户名 过滤其他进程,只显示想要显示的进程
kill -9 用户进程ID 终止进程
与用户操作命令相关(除passwd)只有root超级管理员有权限执行
ls /home 查看用户
usermod -L 用户名 锁定用户
usermod -U 用户名 解锁用户
用户组
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
groupadd [选项] 用户组名 添加用户组
-g 类似用户添加里的“-u” 默认从1000开始递增
groupmod [选项] 组名 修改组名
-g 类似用户添加里的“-u”
-n 类似于用户修改“-l”
groupmod -n 新 旧
groupdel 组名 删除组
这个组是某个用户的主组时,则不允许删除;
如果确实需要删除,则先从组内移出所有用户
usermod -g 用户组 用户名 修改用户的组
注:-g–gid,修改用户的gid,该组一定存在
多组:
usermod -G 组名,组名 用户名
change 组名 文件名 更改文件的所属组
-R 递归处理,将指定目录下的所有文件及子目录一起更改
-v 显示命令执行过程