Linux常用命令(二)
3、时间日期类
- 语法
date 【option】【+formart】
- 选项
选项 | 功能 |
-d<时间字符串> | 显示指定的“时间字符串”表示的时间,而非当前时间 |
-s<日期时间> | 设置系统日期时间 |
- 参数
参数 | 功能 |
<+日期时间格式> | 指定显示时使用的日期时间格式 |
3.1 date 显示当前时间
- 语法
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d ( 功能描述:显示当前是哪一天)
(5)date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒)
- 案例
(1)显示当前时间信息
[root@hadoop101 ~]# date
2020年 06月 11日 星期一 20:53:30 CST
(2)显示当前时间年月日
[root@hadoop101 ~]# date +%Y%m%d
20200611
(3)显示当前时间年月日时分秒
[root@hadoop101 ~]# date "+%Y-%m-%d %H:%M:%S"
2020-06-11 20:54:58
3.2 显示非当前时间
- 语法
- date -d ‘1 days ago’ 显示前一天时间
- date -d ‘-1 days ago’ 显示后一天时间
3.3 date 设置系统时间
- 语法
date -s 字符串时间
3.4 cal 查看日历
- 语法
cal【选项】 不加选项,显示本月日历
- 选项
选项 | 功能 |
具体某一年 | 显示这一年的日历 |
- 案例
(1)查看当前月的日历
[root@hadoop101 ~]# cal
(2)查看2017年的日历
[root@hadoop101 ~]# cal 2017
4、用户管理命令
4.1 useradd 添加新用户
- 语法
useradd 用户名 (功能:添加新用户)
useradd -g 组名 用户名 (功能:探究新用户到某个组)
4.2 passwd 设置用户密码
- 语法
passwd 用户名 (功能:设置用户密码)
4.3 id 查看用户是否存在
- 语法
id 用户名
4.4 cat /etc/passwd 查看创建了那些用户
4.5 su 切换用户
- 语法
su 用户名称 (功能:切换用户,只能获取用户的执行权限,不能获得环境变量)
su - 用户名称 (功能:切换到用户,并获得该用户的环境变量及执行权限)
- 实例
4.6 userdel 删除用户
- 语法
userdel 用户名 (功能:删除用户但保留用户主目录)
userdel -r 用户名 (功能:用户和用户主目录,都删除)
- 选项
选项 | 功能 |
-r | 删除用户的同时,删除与用户相关的所有文件。 |
4.7 who 查看登录用户信息
- 语法
whoami (功能:显示自身用户名称)
who am i (功能:显示登录用户的用户名)
- 实例
4.8 sudo 设置普通用户具有root权限
- 修改配置
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
test ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
test ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用atguigu帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
4.9 usermod 修改用户
- 语法
usermod -g 用户组 用户名
- 选项
选项 | 功能 |
-g | 修改用户的初始登录组,给定的组必须存在。默认组id是1。 |
5、用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。
组的增加、删除和修改实际上就是对/etc/group
文件的更新。
5.1 groupadd 新增组
- 语法
groupadd 组名
5.2 groupdel 删除组
- 语法
groupdel 组名
5.3 groupmod 修改组
- 语法
groupmod -n 新组名 旧组名
- 选项
选项 | 功能描述 |
-n<新组名> | 指定工作组的新组名 |
5.4 cat /etc/group 查看创建了那些组
6、文件权限类
6.1 文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限
为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用 ll 或者 ls -l 命令来显示一个文件的属性以及文件所属的用户和组
6.1.1 十个数字
从左到右10个字符表示
如果没有权限,就会出现减号【-】
从左至由用【0-9】这些数字来表示
- 第 0 位表示类型
第一个字符代表这个文件是目录、文件或者链接文件等
-: 代表文件
d: 代表目录
l: 连接文件(link file)
- 第1-3位确定属主(该文件的所有者)拥有该文件的权限(user)
- 第4-6位确定属组(所有者的同组用户)拥有该文件的权限(group)
- 第7-9位确定其他用户拥有该文件的权限 (other)
6.1.2 rxw作用文件和目录的不同解释
- 作用到文件
- 【r】代表可读(read):可以读取,查看
- 【w】代表可写(write):可以修改,但是不代表可以删除该文件。删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
- 【x】代表可执行(execute):可以被系统执行
- 作用到目录
- 【r】代表可读(read):可以读取,查看(ls)
- 【w】代表可写(write):可以修改目录,可以再目录内创建、删除、重命名文件
- 【x】代表可执行(execute):可以进入该目录
- 案例
(1)如果查看的是文件:连接数指的是硬链接个数
(2)如果查看的是文件夹:连接数指的是子文件夹个数
6.2 chmod 更改权限
- 语法
第一种方式变更权限
chmod 【{ugoa}{+-=}{rwx}】文件或目录
第二种方式变更权限
chmod 【mode=421】 文件或目录
- 经验
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
r=4 w=2 x=1 rwx=4+2+1=7
- 案例
(1)修改文件使其所属主用户具有执行权限
[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./
[root@hadoop101 ~]# chmod u+x houge.txt
(2)修改文件使其所属组用户具有执行权限
[root@hadoop101 ~]# chmod g+x houge.txt
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@hadoop101 ~]# chmod u-x,o+x houge.txt
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod 777 houge.txt
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod -R 777 xiyou/
6.3 chown 更改所有者
- 语法
chown 【选项】【最终用户】【文件或目录】 (功能:改变文件或目录的所有者)
- 选项
选项 | 功能 |
-R | 递归操作 |
6.4 chgrp 更改所属组
- 语法
chgrp 【最终用户组】【文件或目录】 (功能:改变文件或目录的所属组)