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

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

文章目录

  • 1. 时间日期指令
    • 1.1 date 显示当前日期
    • 1.2 date 设置日期
    • 1.3 cal 查看日历
  • 2. 查找指令
    • 2.1 find 从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端
    • 2.2 locate 快速定位文件路径
    • 2.3 which 可以查看某个指令在哪个目录下
    • 2.4 grep 过滤查找
  • 3. 压缩和解压指令
    • 3.1 gzip 用于压缩文件
    • 3.2 gunzip 用于解压文件
    • 3.3 zip 用于压缩文件夹或目录
    • 3.4 unzip 用于解压文件夹
    • 3.5 tar 打包文件或文件夹
  • 4. 组
    • 4.1 介绍
    • 4.2 组的创建
    • 4.3 文件和目录的所有者
    • 4.4 文件和目录的所在组
    • 4.5 其他组
    • 4.6 改变用户所在组
  • 5. 权限管理
    • 5.1 介绍
    • 5.2 rwx 权限解释
    • 5.3 chmod 修改权限
    • 5.4 chown 修改文件/目录所有者
    • 5.5 chgrp 修改文件/目录所在组
    • 5.5 chgrp 修改文件/目录所在组

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,就会有如下的内容Linux|【Linux 初学篇】(3)时间日期和查找指令、压缩和解压、组的介绍、权限管理
文章图片

那这些信息都分别有哪些含义呢?
前十位:即第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 新的所在组 文件/目录
注意:
【Linux|【Linux 初学篇】(3)时间日期和查找指令、压缩和解压、组的介绍、权限管理】如果要修改目录,并使其所有子文件和目录递归生效,则要加上:-R

    推荐阅读