跟老韩学Linux第三天

本文详细讲解了Linux用户组的概念、文件权限操作(包括chown, chmod, chgrp),以及crontab任务调度和磁盘分区挂载的实践。通过实例演示如何创建和修改用户组,掌握文件权限的设置,以及编写并添加到crond任务中的脚本。
摘要由CSDN通过智能技术生成

跟老韩学Linux第三天

学习内容:

  1. 用户组
  2. 权限

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


一、用户组

组的概念:Linux中的每一个用户必须属于一个组,不能独立于组外。在Linux中每个文件都有 所有者 所有组 其他组的概念。
在这里插入图片描述
一般谁创建了该文件,谁就是文件的所有者

查看或修改文件所有者

查看文件的所有者: ls -ahl
修改文件的所有者: chown 用户名 文件名
红框就是文件的所有者

组的创建及修改

组的创建基本指令: groupadd 组名
在这里插入图片描述
foxc创建的文件,所有者是fox,所有组是monster

修改文件的所在组: chgrp 组名 文件名
在这里插入图片描述

其他组

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

改变用户的所在组

在添加用户时,可以指定将用户添加到那个组当中(没有指定默认创建一个和用户同名的组)。同样使用root权限可以改变某个用户的所在组

基本语法:
usermod -g 新组名 用户名
usermod -d 目录名 用户名 (改变该用户登陆的初始目录。用户需要有进入新目录的权限!!)


权限

ls -l 可以显示文件的权限
在这里插入图片描述
0 - 9 位的含义:

  1. 第0位:确定文件的类型(d,-,l,c,b)
    . i是链接,相当于windows的快捷方式
    . d是目录,相当于文件夹
    . c是字符设备文件(鼠标,键盘)
    . b是块设备,比如硬盘…

  2. 第 1-3 位确定文件所有者对该文件的权限(User)

  3. 第 4-6 位确定文件所在组的用户对该文件的权限(Group)

  4. 第 7-9 位确定其他用户对该文件的权限(Other)

rwx对应到文件和目录的权限

项目文件目录
r (read)可读可以读取查看文件可以ls查看目录内容
w (write) 可写可以修改文件(但不代表可以删除,删除需要对文件所在的目录有写权限)可以修改,对目录内创建+删除+重命名目录
x (execute)可执行文件可以被执行可以进入该目录

rwx也可以用二进制表示 r=4 w=2 x=1
在这里插入图片描述在这里插入图片描述

修改权限

基本指令: chmod 指令

方式一:使用+ - =
u:所有者 g:所有组 o:其他人 a:所有人(u+g+o)

  1. chmod u=rwx,g=rw,o=x 文件/目录
  2. chmod o+w 文件名/目录
  3. chmod a-x 文件名/目录

在这里插入图片描述
方式二: 通过数字变更权限
chmod u=rwx,g=rw,o=x 文件/目录 => chmod 741 文件/目录
在这里插入图片描述

修改文件的所有者

基本语法:
chown newowner 文件/目录 改变所有者
chown newowner:newgroup 文件/目录 改变所有者和所在组

-r 如果是目录,对其下所有文件和目录递归生效

在这里插入图片描述

修改文件/目录所在组

基本语法: chgrp newgroup 文件/目录
在这里插入图片描述

crond 任务调度

任务调度:系统在某个时间执行特定的命令或者程序

基本语法: crontab [选项]
在这里插入图片描述
有两种任务调度方式:

  1. 写脚本
  2. 简单调度,一条指令可以完成

在这里插入图片描述
在这里插入图片描述
占位符详细说明:
每一个 * 之间需要用空格分开

项目含义范围
第一个*一个小时当中的第几分钟0-59
第二个*一天当中的第几小时0-23
第三个*一个月当中第几天1-31
第四个*一年当中第几个月1-12
第五个*一周当中的星期几0-7(0和7都代表星期天)

特殊符号说明

特殊符号含义
*代表任何时间,比如第一个 * 就代表每一分钟都执行一次的意思
代表不连续的时间,如 “0 8,12,16 * * *” 就代表每天八点,12点,16点都执行一次命令
-代表连续的时间范围,如"0 5 * * 1-6 " 代表周一到周六的凌晨五点执行命令
*/n代表每隔多久执行一次 如" */10 * * * * " 代表没十分钟执行一次命令

在这里插入图片描述

自己写一个脚本,并加入到crond当中

写脚本->设置权限->进行调度

vim my.sh  //创建脚本文件

//脚本文件里面的内容
date >> /home/mycal //追加date信息到/home/mycal 文件
cal >> /home/mycal //追加日历信息到/home/mycal 文件

//利用root身份给脚本文件授予执行权限
chmod u+x my.sh

//执行shell脚本的方法
./my.sh

//将脚本文件添加到任务调度当中去
crontab -e //设置个人任务调度
*/1 * * * * /home/my.sh  //每分钟都执行一次my.sh脚本文件

在这里插入图片描述
在这里插入图片描述


at定时任务

  1. at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行
  2. 默认情况下,atd每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
  3. at命令是一次性定时计划任务,执行一次后将会将任务扔掉!
  4. ps -ef | grep atd => 用于检测atd是否在运行

at命令格式:
at [选项] [时间]
Ctrl + D 结束at命令的输入
在这里插入图片描述
命令选项:

选项含义
-m当指定任务被完成后,将给用户发送邮件
-Iatq的别名
-datrm的别名
-v显示任务将被执行的时间
-c打印任务的内容到标准输出
- V显示版本信息
- q <队列>使用指定的队列
-f <文件>从指定的文件读入任务而不是从标准输入读入
-t <时间参数>以时间参数的形式提交要运行的任务

at时间定义
在这里插入图片描述

**实例: **

at now + 1 minutes //(一分钟后执行)
//会出现at>
at>  date >> to.txt//要执行的任务
//输入完at后,输入两次ctrl+d


atq  //用于查询任务

在这里插入图片描述

Linux分区

原理 Linux不管有几个分区,分给哪一目录使用,它归根结低就只有一个根目录,一个独立且唯一地文件架构,Linux中每个分区都是用来组成整个文件系统的一部分
硬盘分区挂载到目录上
在这里插入图片描述
下面这张图可以看到sda1挂载到/boot目录下.所有存在/boot目录下的文件都存在sda1分区当中
在这里插入图片描述

多个分区挂载到同一个目录下面

当一个硬盘的分区满了,可以再加一个硬盘,分区挂载到目录上
sda是第一个硬盘,sdb是第二个硬盘
在这里插入图片描述

查看所有设备的挂载情况

**命令: ** lsblk 或者 lsblk -f

UUID:唯一标识符号
在这里插入图片描述

挂载/解除挂载

挂载: 将一个分区与一个目录联系起来
命令:
mount 设备名称 挂载目录
mount /dev/sdb1 /newdisk
命令行挂载重启后会失效!
永久挂载:
在这里插入图片描述
取消挂载:
umount 设备名称/挂载目录
umount /dev/sdb1 或 umount /newdisk

磁盘使用情况查询

基本语法: df -h (查询指定目录占用情况,默认当前目录)

-s:指定目录
-h:带计量单位
-a:含文件
- -max-depth=1 :子目录深度
-c 列出明细的同时增加汇总值

在这里插入图片描述
在这里插入图片描述
实用工作指令:

  1. 统计/opt文件夹下文件的数目: ls -l /opt | grep"^-" | wc -l
  2. 统计/opt文件夹下目录的数目: ls -l /opt | grep"^d" | wc -l
  3. 统计/opt文件夹下(包括子文件夹)文件的数目: ls -lR /opt | grep"^-" | wc -l
  4. 统计/opt文件夹下(包括子文件夹)目录的数目: ls -lR /opt | grep"^d" | wc -l
  5. 以树状显示目录结构: tree (如果没有tree,使用 yum install tree 安装)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值