1 hash 查看命令缓存
如果存在缓存,只能用缓存匹配
hash -d 命令 删除指定命令的缓存
hash -r 清空所有命令缓存
exit 退出终端也可以清除所有的命令缓存
2 date 显示,更改时间
[root@localhost ~]# date +"%Y-%m-%d %H-%M-%S"
2022-12-03 15-12-50
[root@localhost ~]# date +%F
2022-12-03
[root@localhost ~]# date +%T
15:13:59
创建一个文件并以创建它的时间命名
[root@localhost ~]# touch `date +"%T %F"file.txt`
[root@localhost ~]# ll
total 13020
-rw-r--r--. 1 root root 0 Nov 28 19:23 1
-rw-r--r--. 1 root root 130 Nov 28 19:24 1234.gzip
-rw-r--r--. 1 root root 0 Dec 3 15:18 15:18:50
-rw-r--r--. 1 root root 0 Nov 28 19:23 2
-rw-r--r--. 1 root root 0 Dec 3 15:18 2022-12-03file.txt
[root@localhost ~]# touch `date +"%H-%m-%d %H:%M:%S"file.txt`
[root@localhost ~]# ll
total 13020
-rw-r--r--. 1 root root 0 Nov 28 19:23 1
-rw-r--r--. 1 root root 130 Nov 28 19:24 1234.gzip
-rw-r--r--. 1 root root 0 Dec 3 15:24 15-12-03
-rw-r--r--. 1 root root 0 Dec 3 15:18 15:18:50
-rw-r--r--. 1 root root 0 Dec 3 15:24 15:24:01file.txt
这时会出现错误,年月日不见了,只出现后边的时分秒
更改时间
-s 指定格式更改
[root@localhost ~]# date
Sat Dec 3 15:32:48 CST 2022
[root@localhost ~]# date 010710292020.37 月日时分年.秒
Tue Jan 7 10:29:37 CST 2020
[root@localhost ~]# date -s "2022-12-03 15:34:15"
Sat Dec 3 15:34:15 CST 2022
[root@localhost ~]# date -s "2022-12-04"
Sun Dec 4 00:00:00 CST 2022
世界标准时UTC 北京时间CST
timedatectl set-timezone Asia/Shanghai 更改时区为东八区
timedatectl status 状态显示
[root@localhost ~]# timedatectl status
Local time: Sat 2022-12-03 15:42:06 CST
Universal time: Sat 2022-12-03 07:42:06 UTC
RTC time: Sat 2022-12-03 07:42:08
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: no
timedatectl show
[root@localhost ~]# timedatectl show
Timezone=Asia/Shanghai
LocalRTC=no
CanNTP=yes
NTP=no
NTPSynchronized=no
TimeUSec=Sat 2022-12-03 15:43:41 CST
RTCTimeUSec=Sat 2022-12-03 15:43:44 CST
3 cal 显示日历信息 [[[日]月]年]
-j 显示一年中的第几天
[root@localhost ~]# cal -j
December 2022
Sun Mon Tue Wed Thu Fri Sat
335 336 337
338 339 340 341 342 343 344
345 346 347 348 349 350 351
352 353 354 355 356 357 358
359 360 361 362 363 364 365
-1, --one show only a single month (default)
[root@localhost ~]# cal -1
December 2022
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
-3, --three show three months spanning the date
[root@localhost ~]# cal -3
November 2022 December 2022 January 2023
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 5 1 2 3 1 2 3 4 5 6 7
6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 29 30 31
-n, --months <num> show num months starting with date's month
[root@localhost ~]# cal -n 2
December 2022 January 2023
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 1 2 3 4 5 6 7
4 5 6 7 8 9 10 8 9 10 11 12 13 14
11 12 13 14 15 16 17 15 16 17 18 19 20 21
18 19 20 21 22 23 24 22 23 24 25 26 27 28
25 26 27 28 29 30 31 29 30 31
-S, --span span the date when displaying multiple months
-s, --sunday Sunday as first day of week
[root@localhost ~]# cal -s
December 2022
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
-m, --monday Monday as first day of week
[root@localhost ~]# cal -m
December 2022
Mo Tu We Th Fr Sa Su
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
-j, --julian use day-of-year for all calendars
--reform <val> Gregorian reform date (1752|gregorian|iso|julian)
--iso alias for --reform=iso
-y, --year show the whole year
-Y, --twelve show the next twelve months
-w, --week[=<num>] show US or ISO-8601 week numbers
--color[=<when>] colorize messages (auto, always or never)
colors are enabled by default
-h, --help display this help
-V, --version display version
[root@localhost ~]# cal 2022
2022
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 1 2 3 4 5
2 3 4 5 6 7 8 6 7 8 9 10 11 12 6 7 8 9 10 11 12
9 10 11 12 13 14 15 13 14 15 16 17 18 19 13 14 15 16 17 18 19
16 17 18 19 20 21 22 20 21 22 23 24 25 26 20 21 22 23 24 25 26
23 24 25 26 27 28 29 27 28 27 28 29 30 31
30 31
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 1 2 3 4 5 6 7 1 2 3 4
3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11
10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18
17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25
24 25 26 27 28 29 30 29 30 31 26 27 28 29 30
July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 1 2 3 4 5 6 1 2 3
3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10
10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17
17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24
24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30
31
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 1 2 3 4 5 1 2 3
2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10
9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17
16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24
23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31
30 31
[root@localhost ~]# cal 12 2022
December 2022
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
[root@localhost ~]# cal 3 12 2022
December 2022
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
其中3会有标记
4 用户,组
多用户多任务的特点
linux管理模式
私有模式:每一个用户对应一个和用户同名的组
共有模式:
用户类别(做多65535个)
管理员:只有一个 root
普通用户:1-65535个 redhat
系统用户:系统安装自动创建
一般用户:手动添加
useradd 用户名 只有管理员可以使用/usr/sbin/useradd
只能一个一个添加
组类别
管理组:root
普通组:
系统组
一般组
主组,私有组,用户的默认组
附加组,额外组 用户默认组之外的组
添加组 groupadd 组名
查看是否成功
cat /etc/group 组配置文件
grep ‘^组名’ /etc/group
删除组 groupdel 组名
查看是否成功
1.cat /etc/passwd (用户配置文件)
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
zhouyumeng:x:1000:1000:zhouyumeng:/home/zhouyumeng:/bin/bash
xiaoming:x:1001:1001::/home/xiaoming:/bin/bash
2.grep ‘^用户名’ /etc/passwd 运用过滤查看
[root@localhost ~]# grep '^xiaoming' /etc/passwd
xiaoming:x:1001:1001::/home/xiaoming:/bin/bash
3.id 用户名
[root@localhost ~]# id xiaoming
uid=1001(xiaoming) gid=1001(xiaoming) groups=1001(xiaoming)
[root@localhost ~]# id xiao2
id: ‘xiao2’: no such user
4.直接切换用户
[root@localhost ~]# su xiaoming
[xiaoming@localhost root]$
userdel -r 用户 删除用户以及创建用户相关的所有文件
[root@localhost ~]# userdel -r xiao1
userdel: user xiao1 is currently used by process 2977
出现这种情况时,可以强制卸载,即
[root@localhost ~]# userdel -rf xiao1
5 设置,更改密码
passwd [用户名] 若没有密码,则为设置密码;若有,则为更改密码
[root@localhost ~]# passwd root
Changing password for user root.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd xiaoming
Changing password for user xiaoming.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
passwd -d 用户名 指定用户密码的删除
[root@localhost ~]# passwd -d xiaoming
Removing password for user xiaoming.
passwd: Success
管理员:可以指定用户名更改系统任意用户的密码不需要输入之前的密码
普通用户:不可以指定用户名, 只能改自己的密码,需要输入之前的密码
echo 密码|passwd --stdin 用户名
[root@localhost xiaoming]# echo 11223344|passwd --stdin xiaoming
Changing password for user xiaoming.
passwd: all authentication tokens updated successfully.
chpasswd 一次性更改多个用户密码,也可以是一个
先创建一个vim,输入用户名和新的密码,格式如倒数第二行
破解密码
关机–>开机–鼠标进入启动界面–第一个引导菜单–e…–找到linux这一行在行尾添加rd.break–ctrl+x–mount -o remount,rw /sysroot–chroot /sysroot–passwd root–设置密码–确认密码–touch /.autorelabel
1 开机后迅速点击界面,然后点击e,进如以下界面
2 找到linux这一行行尾,输入rd.break 然后ctrl+x
3进入到此界面后,依次输入mount -o remount,rw /sysroot
chroot /sysroot
passwd root
4 输入过密码后输入touch /.autorelabel
exit
exit
然后等待重启,最多三分钟。