【Linux 初学篇】(3)时间日期和查找指令、压缩和解压、组的介绍、权限管理

前言: 本文是听的b站韩顺平老师 linux 课程的 34~51 集所做的笔记,大家可以配套该文章学习韩老师的 linux 课程。大家可以收藏起来,以后要用时,随用随查。

1. 时间日期指令

1.1 date 显示当前日期

显示当前时间指令:date

显示当前年份指令:date +%Y

显示当前月份指令:date +%m

显示当前是哪一天指令:date +%d

显示年月日时分秒指令:date "+%Y-%m-%d %H:%M:%S"

1.2 date 设置日期

指令:date -s 字符串时间

示例:设置当前时间为2020年11月3号20点2分10秒:date -s "2020-11-3 20:02:10"

1.3 cal 查看日历

指令:cal [选项] (不加选项则显示本月日历)

显示某年日历指令:cal 年份

2. 查找指令

2.1 find 从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端

指令:find [搜索范围] [选项]

选项说明:

选项 功能
-name 文件名 按照指定的文件名查找模式查找文件
-user 用户名 查找属于指定用户名所有文件
-size 文件大小n(+n:大于n;-n:小于n;n:等于n) 按照指定的文件大小查找文件

2.2 locate 快速定位文件路径

locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位指定的文件。locate 指令无需遍历整个文件系统,查询速度较快。

指令:locate 文件

注意:由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建locate 数据库。为了保证查询结果的准确度,管理员必须定期更新 locate 数据库

2.3 which 可以查看某个指令在哪个目录下

指令:which 要查看的指令

2.4 grep 过滤查找

指令:grep [选项] 查找内容 源文件

常用选项:

选项 功能
-n 显示匹配行及行号
-i 忽略字母大小

注意: grep 往往和管道符 “|” (表示将前一个命令的处理输出传递给后面的命令处理)一起使用

示例:在 hello.txt 文件中,查找 “yes” 所在行,并显示行号

方式一:cat /home/hello.txt | grep -n "yes"

方式二: grep -n "yes" /home/hello.txt

3. 压缩和解压指令

3.1 gzip 用于压缩文件

指令:gzip 文件

注意:只能将文件压缩为 .gz 文件

3.2 gunzip 用于解压文件

指令:gunzip 文件.gz

3.3 zip 用于压缩文件夹或目录

指令:zip [选项] 文件名.zip 将要压缩的内容

常用选项:-r:递归压缩,即压缩目录

3.4 unzip 用于解压文件夹

指令:unzip [选项] 文件名.zip

常用选项:-d 压缩后文件存放的目录

注意:不指明解压后的路径,则默认为当前目录

3.5 tar 打包文件或文件夹

tar 打包后的文件是 .tar.gz 的文件

指令:tar [选项] 文件名.tar.gz 打包的内容

选项说明:

选项 功能
-c 产生 .tar 打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包 .tar 文件
-C 解压后文件存放的目录

示例1:压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz

指令:tar -zcvf pc.tar.gz /home.pag.txt /home/cat.txt

示例2:将 pc.tar.gz 解压到当前目录

指令:tar -zxvf pc.tar.gz

示例3:将 /home/pc.tar.gz 解压到 /opt 中

指令:tar -zxvf /home/pc.tar.gz -C /opt

4. 组

4.1 介绍

在 linux 中的每个用户必须属于一个组,不能独立于组之外。在 linux 中,每个文件有所有者(创建该文件的用户)、所在组(创建该文件用户所在的组)、其他组的概念。

4.2 组的创建

指令:groupadd 组名

4.3 文件和目录的所有者

一般文件被哪个用户创建的,该用户就自然成为了该文件的所有者

查看文件所有者指令:ls -ahl

修改文件所有者指令:chown 用户名 文件名

4.4 文件和目录的所在组

当某个用户创建了一个文件后,该文件所在组就是该用户所在组

查看所在组指令:ls -ahl

修改文件所在组指令:chgrp 组名 文件名

4.5 其他组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其他组

4.6 改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限可以改变某个用户所在的组

改变用户所在组指令:usermod -g 新组名 用户名

改变用户登录的初始目录指令:usermod -d 目录名 用户名

注意:改变户用登录的初始目录,用户需要拥有进入该目录的权限

5. 权限管理

5.1 介绍

当我们在终端输入指令:ls -l,就会有如下的内容在这里插入图片描述

那这些信息都分别有哪些含义呢?

前十位:即第0位到第9位

  • 第0位: 确定文件类型(d、-、l、c、b)

    l:是链接,相当于 windows 的快捷方式

    d:是目录,相当于 windows 的文件夹

    -:是普通文件

    c:是字符设备文件,如鼠标。键盘

    b:是块设备,如硬盘

  • 第1-3位: 确定所有者拥有该文件的权限(rwx)

  • 第4-6位: 确定所在组拥有该文件的权限(rwx)

  • 第7-9位: 确定其他用户拥有该文件的权限(rwx)

第十一位的数字:

如果这是一个文件,则该数字为1,如果这是一个目录,则该数字=该目录的子目录数

第一个root:

这里表示用户

第二个root:

这里表示所在组

后面的一串数字:

表示文件大小,单位是字节

再后面的日期:

表示最后一次修改该文件或者目录时的时间

最后的字符串

表示文件名或目录名

5.2 rwx 权限解释

我们上述的第1-9位数都通过 rwx 表示对权限的表示,那么 rwx 都分表意味着什么呢?

  • rwx 作用到文件:

    [r] 代表可读(read):可以读取查看

    [w] 代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件

    [x] 代表可执行(execute):可以被执行

  • rwx 作用到目录:

    [r] 代表可读(read):可以读取,ls 查看目录内容

    [w] 代表可写(write):可以修改,对目录内创建+删除+重命名文件

    [x] 代表可执行(execute):可以进入该目录

注意:

  • 可以用数字表示 rwx:r=4、w=2、x=1,因此 rwx=7

5.3 chmod 修改权限

通过 chmod 指令可以修改文件或者目录的权限

  • 方式一: +、-、= 变更权限

    u:表示所有者、g:表示所在组、o:表示其他组、a:表示所有人(u、g、o的总和)

    1)chmod u=rwx,g=rx,o=x 文件名/目录名

    2)将其他组赋予写的权限的指令:chmod o+w 文件名/目录名

    3)将所有人的执行的权限都去掉的指令:chmod a-x 文件/目录名

  • 方式二: 通过数字变更权限

    r=4、w=2、x=1、rwx=4+2+1(可以组合,如3=wx)

    指令:chmod 751 文件名/目录 等价于 chmod u=rwx,g=rx,o=x 文件名/目录名

5.4 chown 修改文件/目录所有者

通过 chown 指令可以修改文件或目录所有者

改变所有者指令:chown 新的所有者 文件/目录

改变所有者和所在组指令:chown 新的所有者:新的所在组 文件/目录

注意:

如果要修改目录,并使其所有子文件和目录递归生效,则要加上:-R

5.5 chgrp 修改文件/目录所在组

通过 chgrp 指令可以修改文件或目录所在组

改变所在组指令:chgrp 新的所在组 文件/目录

注意:

如果要修改目录,并使其所有子文件和目录递归生效,则要加上:-R

通过 chown 指令可以修改文件或目录所有者

改变所有者指令:chown 新的所有者 文件/目录

改变所有者和所在组指令:chown 新的所有者:新的所在组 文件/目录

注意:

如果要修改目录,并使其所有子文件和目录递归生效,则要加上:-R

5.5 chgrp 修改文件/目录所在组

通过 chgrp 指令可以修改文件或目录所在组

改变所在组指令:chgrp 新的所在组 文件/目录

注意:

如果要修改目录,并使其所有子文件和目录递归生效,则要加上:-R

猜你喜欢

转载自blog.csdn.net/weixin_51367845/article/details/120695592