Linux-基础知识(三)
时间日期类
1)基本语法
date [OPTION]... [+FORMAT]
2)选项说明
选项 | 功能 |
---|---|
-d<时间字符串> | 显示指定的“时间字符串”表示的时间,而非当前时间 |
-s<日期时间> | 设置系统日期时间 |
3)参数说明
参数 | 功能 |
---|---|
<+日期时间格式> | 指定显示时使用的日期时间格式 |
date 显示当前时间
1)基本语法
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
2)案例实操
(1)显示当前时间信息
[root@localhost ~]# date
2023年 02月 10日 星期五 14:24:40 CST
(2)显示当前时间年月日
[root@localhost ~]# date +%Y%m%d
20230210
(3)显示当前时间年月日时分秒
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2023-02-10 14:26:37
date 显示非当前时间
1)基本语法
(1)date -d '1 days ago' (功能描述:显示前一天时间)
(2)date -d '-1 days ago' (功能描述:显示明天时间)
2)案例实操
(1)显示前一天
[root@localhost ~]# date -d '1 days ago'
2023年 02月 09日 星期四 14:28:26 CST
(2)显示明天时间
[root@localhost ~]# date -d '-1 days ago'
2023年 02月 11日 星期六 14:29:04 CST
date 设置系统时间
1)基本语法
date -s 字符串时间
2)案例实操
(1)设置系统当前时间
[root@localhost ~]# date -s "2023-02-10 14:26:37"
cal 查看日历
1)基本语法
cal [选项] (功能描述:不加选项,显示本月日历)
2)选项说明
选项 | 功能 |
---|---|
具体某一年 | 显示这一年的日历 |
3)案例实操
(1)查看当前月的日历
[root@localhost ~]# cal
(2)查看2022年的日历
[root@localhost ~]# cal 2022
用户管理命令
useradd 添加新用户
1)基本语法
useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
2)案例实操
(1)添加一个用户
[root@localhost ~]# useradd test
[root@localhost ~]# ll /home
passwd 设置用户密码
1)基本语法
passwd 用户名 (功能描述:设置用户密码)
2)案例实操
[root@localhost ~]# passwd test
id 查看用户是否存在
1)基本语法
id 用户名
2)案例实操
(1)查看用户是否存在
[root@localhost ~]# id test
cat /etc/passwd 查看创建了哪些用户
1)案例实操
[root@localhost ~]# cat /etc/passwd
su切换用户
su: swith user 切换用户
1)基本语法
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
2)案例实操
[root@localhost ~]# su test
[test@localhost root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[test@localhost root]$ exit
exit
[root@localhost ~]# su - test
上一次登录:五 2月 10 15:08:09 CST 2023pts/1 上
[test@localhost ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/test/.local/bin:/home/test/bin
userdel 删除用户
1)基本语法
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
2)选项说明
选项 | 功能 |
---|---|
-r | 删除用户的同时,删除与用户相关的所有文件。 |
3)案例实操
(1)删除用户但保存用户主目录
[root@localhost ~]# userdel test
[root@localhost ~]# ll /home
(2)删除用户和用户主目录,都删除
[root@localhost ~]# useradd test
[root@localhost ~]# ll /home/
[root@localhost ~]# userdel -r test
[root@localhost ~]# ll /home
who 查看登录用户信息
1)基本语法
(1)whoami (功能描述:显示自身用户名称)
(2)who am i (功能描述:显示登录用户的用户名以及登陆时间)
2)案例实操
(1)显示自身用户名称
[root@localhost ~]# whoami
(2)显示登录用户的用户名
[root@localhost ~]# who an i
sudo 设置普通用户具有 root 权限
1)添加yboo用户,并对其设置密码。
[root@localhost ~]# useradd yboo
[root@localhost ~]# passwd yboo
2)修改配置文件
[root@localhost ~]# vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91 行),在 root 下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
yboo ALL=(ALL) ALL
或者配置成采用 sudo 命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
yboo ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用 atguigu 帐号登录,然后用命令 sudo ,即可获得 root 权限进行操作。
3)案例实操
(1)用普通用户在/opt 目录下创建一个文件夹
[root@localhost ~]# su - yboo
[yboo@localhost opt]$ sudo mkdir test
usermod 修改用户
1)基本语法
usermod -g 用户组 用户名
2)选项说明
选项 | 功能 |
---|---|
-g | 修改用户的初始登录组,给定的组必须存在。默认组 id 是 1。 |
3)案例实操
(1)将用户加入到用户组
[root@localhost ~]# usermod -g root yboo
用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同;
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
groupadd 新增组
1)基本语法
groupadd 组名
2)案例实操
(1)添加一个xitianqujing组
[root@localhost ~]# groupadd xitianqujing
groupdel 删除组
1)基本语法
groupdel 组名
2)案例实操
(1)删除xitianqujing组
[root@localhost ~]# groupdel xitianqujing
groupmod 修改组
1)基本语法
groupmod -n 新组名 老组名
2)选项说明
选项 | 功能描述 |
---|---|
-n<新组名> | 指定工作组的新组名 |
3)案例实操
(1)修改yboo组名称为boo1
[root@localhost ~]# groupmod -n yboo1 yboo
cat /etc/group 查看创建了哪些组
1)基本操作
[root@localhost ~]# cat /etc/group
文件权限类
文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
1)从左到右的 10 个字符表示
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
(1)0 首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档(link file);
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
(4)第7-9位确定其他用户拥有该文件的权限 ---Other
2)rwx作用文件和目录的不同解释
(1)作用到文件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
[ x ]代表可执行(execute):可以被系统执行
(2)作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
3)案例实操
[root@localhost ~]# ll
总用量 8
-rw-------. 1 root root 1507 11月 9 15:15 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 2月 10 11:14 b.txt
lrwxrwxrwx. 1 root root 11 2月 10 14:11 dssz -> xiyou/dssz/
-rw-r--r--. 1 root root 1555 11月 9 15:19 initial-setup-ks.cfg
(1)如果查看到是文件:链接数指的是硬链接个数。
(2)如果查看的是文件夹:链接数指的是子文件夹个数。
chmod 改变权限
1)基本语法
第一种方式变更权限
chmod [{ugoa}{+-=}{rwx}] 文件或目录
第二种方式变更权限
chmod [mode=421 ] [文件或目录]
2)经验技巧
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)
r=4 w=2 x=1 rwx=4+2+1=7
3)案例实操
(1)修改文件使其所属主用户具有执行权限
[root@localhost ~]# chmod u+x houge.txt
(2)修改文件使其所属组用户具有执行权限
[root@localhost ~]# chmod g+x houge.txt
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@localhost dssz]# chmod u-x,o+x houge.txt
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限
[root@localhost dssz]# chmod 777 houge.txt
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
[root@localhost ~]# chmod -R 777 xiyou/
chown 改变所有者
1)基本语法
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
2)选项说明
选项 | 功能 |
---|---|
-R | 递归操作 |
3)案例实操
(1)修改文件所有者
[root@localhost dssz]# chown yboo houge.txt
[root@localhost dssz]# ll
总用量 0
-rw-r--r-x. 1 yboo root 0 2月 10 14:07 houge.txt
(2)递归改变文件所有者和所有组
[root@localhost ~]# ll
drwxr-xr-x. 4 root root 33 2月 10 10:52 xiyou
[root@localhost ~]# chown -R yboo:yboo xiyou/
[root@localhost ~]# ll
drwxr-xr-x. 4 yboo yboo 33 2月 10 10:52 xiyou
chgrp 改变所属组
1)基本语法
chgrp [最终用户 组] [文件或目录] (功能描述:改变文件或者目录的所属组)
2)案例实操
(1)修改文件的所属组
[root@localhost ~]# chgrp root xiyou
[root@localhost ~]# ls -al
drwxr-xr-x. 4 yboo root 33 2月 10 10:52 xiyou