本文章最初发布在 XJHui’s Blog,未经允许,任何人禁止转载!
注意:最新修改版本已发布在 这里,点击前往查看!
时间日期类
date 日期
语法:
shell1
2
3date # 显示当前时间
date "+%Y" # 显示当前年份
date "+%Y-%m-%d %H:%M:%S" # 格式化显示当前年月日时分秒,其中-、:可以任意修改案例:
date 设置
语法:
shell1
date -s '年-月-日 时:分:秒' # 设置日期,必须按照此格式设置时间
案例:将日期设置为 2020-10-01 0:0:0
shell1
date -s '2020-10-01 00:00:00'
运行结果:
cal 日历
搜索查找类
find
语法:
shell1
find 搜索范围 -name,-user,-size[可选一项] 文件名 # 查找文件
案例:
locate
语法:
shell1
locate 搜索文件 # 快速定位文件路径
注意:locate 基于数据库进行查询,所以在第一次运行前要执行 updatedb 命令以更新数据库
案例:使用 locate 指令快速定位 hello.txt 文件所在目录
shell1
2updatedb # 更新(创建)数据库
locate hello.txt运行结果:
grep 和 |
语法:
shell1
2
3grep 字符串 # 查找指定内容
grep -n 字符串 # 查找指定内容并显示行号
grep -i 字符串 # 不区分大小写案例:在 hello.txt 中查找所有 yes 并显示行号
压缩和解压类
gzip 和 gunzip
语法:
shell1
2gzip 文件 # 将文件压缩为.gz文件,后跟多个文件名即可压缩多个文件
gunzip 文件.gz # 将.gz后缀的文件解压案例:
zip 和 unzip
语法:
shell1
2zip -r[可选,递归压缩] 压缩包名 文件 # 压缩文件目录
unzip -d[可选,指定压缩后的位置] 文件.zip # 解压.zip后缀的文件案例:
tar
语法:
shell1
tar [可选项,见下图] ***.tar.gz 要打包的内容(可为多个文件、目录) # 压缩文件或目录
可选项:
案例:
压缩多个文件,将 /root/a.txt,/root/b.txt 文件压缩成 a_b.tar.gz:
shell1
tar -zcvf a_b.tar.gz a.txt b.txt
运行结果:
压缩 /home 下的所有文件(非压缩 /home 目录):
shell1
tar -zcvf test.tar.gz /root/* # 要区分/root/和/root/*
解压 a_b.tar.gz 到当前目录:
shell1
tar -zxvf a_b.tar.gz
解压 a_b.tar.gz 到 /opt/tmp 下:
shell1
tar -zxvf a_b.tar.gz -C /opt/tmp/ # 注意:指定路径需要在路径前添加参数-C(大写),并且路径必须存在
组的管理
组的介绍
- 概述:在 linux 中的每个用户必须属于一个组,不能独立于组外。
- 文件 / 目录:
- 所有者:文件归属的用户
- 所在组:所有者所在的用户组的用户
- 其他组:非所在组的其它用户
所有者
查看文件所有者
定义:一般为文件的创建者,谁创建了该文件,就自然成为该文件的创建者。
语法:
shell1
ls -ahl # 查看文件所有者,a(显示全部文件),h(human,使用M,k作为文件大小单位显示),l(列表显示)
案例:创建一个组 police,再创建一个用户 tom 属于组 police,然后使用 tom 来创建一个文件
shell1
2
3
4
5
6groupadd police # 创建police用户组
useradd -g police tom # police用户组下创建用户tom
passwd tom # 设置用户tom的密码
使用tom用户登录服务器
touch 1.txt # 创建文件1.txt
ls -ahl # 使用ls命令查看1.txt文件的所有者运行结果:
修改文件所有者:
所在组
定义:当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组
语法:
shell1
2ls -ahl # 查看文件所在组
chgrp 用户组 文件 # 修改文件所在组为用户组案例:/root 下创建文件 aorange.txt 文件,使用 chgrp 指令修改文件所在组为 police
shell1
2
3
4touch aorange.txt # 创建文件
ls -ahl # 查看文件所在组
chgrp police aorange.txt # 修改文件所在组
ls -ahl # 再次查看文件所在组运行结果:
同时修改文件所有者和所在组:
其他组
定义:除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
权限的管理
权限介绍

rwx 权限
作用到文件:
- r(read):可查看
- w(write):可修改,但不代表具有删除的权限(对文件所在目录具有 w 权限时,才可删除)
- x(execute):可被执行
作用到目录:
- r:可读,ls 查看目录内容
- w:可写,目录内创建、删除、重命名
- x:可执行,cd 进入该目录
注意:关于子目录数量
修改权限
说明:使用 chmod 指令,可以修改文件或者目录的权限
使用 +、-、= 变更权限:
语法:
shell1
2
3
4u:所有者,g:所在组,o:其他组,a:所有用户(u+g+o)
chmod u=rwx,g=x,o=x 文件/目录名 # 给文件/目录赋权限
chmod o+w 文件/目录名 # 给文件/目录的其他组(o)添加一个写(w)权限
chmod a-x 文件/目录名 # 给文件/目录的所有用户都减一个执行权限案例:
使用数字变更权限:
最佳实践
警察和土匪
题设:
shell1
2
3police,bandit # 用户组
jack,jerry # 警察用户
xh,xq # 土匪用户题目:
创建组
shell1
2groupadd police
groupadd bandit创建用户
shell1
2
3
4
5
6
7
8useradd -g police jack
passwd jack
useradd -g police jerry
passwd jerry
useradd -g bandit xh
passwd xh
useradd -g bandit xq
passwd xq使用 jack 用户登录并创建一个文件,自己可以读写,本组人可以读,其他组没有任何权限
shell1
2touch a1.txt
chmod 640 a1.txt运行结果:
jack 修改文件权限,让其他组人可以读,所在组用户可以写
shell1
chmod o+r,g+w a1.txt
运行结果:
验证同组可以修改:
xh 投靠警察,看看是否可以读写
不足之处,欢迎留言,会及时回复,及时更正!
创作不易,感谢支持!