Linux 实操篇 组管理和权限管理、定时任务调度、Linux磁盘分区和挂载
一、组管理和权限管理
(1)Linux组基本介绍
在linux中的每个用户必须属于一个组,不能独立于组外
在linux中每个文件有所有者、所在组、其他组的概念
(2)文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然地成为该文件的所有者
1.2.1查看文件的所有者
- 指令:
ls -ahl
- 说明:




1.2.2修改文件的所有者
- 指令:
chown 用户名 文件名 - 应用案例:将文件apple.txt的所有者修改成tom
chown tom apple.txt - 注意:使用该命令修改文件所有者时,文件的所在组 默认不会改变
(3)组的创建
1.3.1基本指令
groupadd 组名
1.3.2应用实例
- 创建一个组,monster:
groupadd monster - 创建一个用户fox,并放入monster组中:
useradd -g monster fox
(4)文件/目录 所在组
当某个用户创建了一个文件后,这个文件的所在组默认就是该用户所在的组
1.4.1查看文件/目录所在组
- 基本指令:
ls -ahl - 应用实例:使用fox创建一个文件,看看该文件属于哪个组?

1.4.2修改文件/目录所在组
- 基本指令:
chgrp 组名 文件名 - 应用实例:使用root用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到fruit组

(5)其它组
除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
(6)改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的,用root的管理权限可以改变某个用户所在的组
1.6.1改变用户所在组
usermod -g 新组名 用户名usermod -d 目录名 用户名 改变该用户登录的初始目录(特别说明:用户需要有进入到新目录的权限)
1.6.2应用实例
- 题目:将zwj这个用户从原来所在组,修改到wudang组
- 指令:
usermod -g wudang zwj
(7)权限的基本介绍

- 第一列一共有10位,分别用0-9表示,下面是0-9位的说明:
- 第0位确定文件类型(d,-,l,c,b)

- 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。 —User
- 第 4-6 位确定所在组(同用户组的)拥有该文件的权限。—Group
- 第 7-9 位确定其他用户拥有该文件的权限。—Other
(8)RWX权限详解,难点
1.8.1rwx作用到文件
- [r]代表可读(read):可以读取,查看
- [w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
- [x]代表可执行(execute):可以被执行
1.8.2rwx作用到目录
- [r]代表可读(read):可以读取,ls查看目录内容
- [w]代表可写(write):可以修改,对目录内创建+删除 或者 重命名目录
- [x]代表可执行(execute):可以进入该目录
(9)文件及目录权限实际案例 
- 10个字符确定不同用户能对文件干什么
- 第一个字符代表文件类型:-代表该文件是普通文件
- 其余字符每3个一组(rwx)
- 第一组rwx:文件拥有者的权限是读、写和执行
- 第二组rw-:所在组的用户的权限是读、写但不能执行
- 第三组r--: 其他组的用户的权限是读不能写和执行
- 可用数字表示:r=4,w=2,x=1,因此rwx=4+2+1=7,数字可以进行组合
(10)修改权限—CHMOD
1.10.1基本说明
通过chmod(change mod)指令,可以修改文件或目录的权限
1.10.2第一种方式:+、-、=变更权限
- u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
- chmod u=rwx,g=rx,o=x 文件/目录名
- chmod o+w 文件/目录名
- chmod a-x 文件/目录名
- 案例演示:
- 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限
chmod u=rwx,g=rx,o=rx abc - 给abc文件的所有者除去执行的权限,增加组写的权限
chmod u-x,g+w abc - 给abc文件的所有用户添加读的权限
chmod a+r abc
- 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限
1.10.3第二种方式:通过数字变更权限
- r=4 w=2 x=1 rwx=4+2+1=7
- chmod u=rwx,g=rx,o=x 文件目录名 相当于 chmod 751 文件目录名
- 案例演示:将/home/abc.txt 文件的权限修改成rwxr-xr-x,使用给数字的方式实现

(11)修改文件所有者—CHOWN
1.11.1基本介绍
chown newowner 文件/目录 #改变所有者chown newowner:newgroup 文件/目录 #改变所有者和所在组-R 如果是目录,则使其下所有子文件或目录递归生效
1.11.2案例演示
- 请将/home/abc.txt文件的所有者修改成tom
- 请将/home/test目录下所有的文件和目录的所有者都修改成tom
chown tom /home/abc.txtchown -R tom /home/test
(12)修改文件/目录所在组—CHGRP
1.12.1基本介绍
chgrp newgroup 文件/目录 #改变所在组
1.12.2案例演示
- 请将/home/abc.txt文件的所在组修改成shaolin(少林)
chgrp shaolin /home/abc.txt - 请将/home/test目录下所有的文件和目录的所在组都修改成shaolin(少林)
chgrp -R shaolin /home/test
(13)最佳实践—警察和土匪游戏

- 创建组、创建用户

- jack创建一个文件,自己可以读写,本组人可以读,其他组没有任何权限


- jack修改该文件,让其他组可以读,本组人可以读写:

- xh投靠警察,看看xh是否可以读写

- 结论:如果想对目录内的文件进行读/写等操作,必须先拥有对该目录的相应权限
二、定时任务调度
(1)crond 任务调度
2.1.1概述
- crontab 进行 定时任务的设置
- 任务调度:系统在某个时间执行的特定的命令或程序
- 任务调度分类:
- 系统工作:如有些重要工作必须周而复始地执行
- 个别用户工作:个别用户可能希望执行某些程序,如对mysql数据库的备份

2.1.2基本语法
crontab [选项]
2.1.3常用选项
- -e:编辑当前用户的定时任务表,会用默认文本编辑器打开文件供你添加、修改或删除任务
crontab -e - -l:列出当前用户的定时任务表
crontab -l - -r:删除当前用户的定时任务表,操作不可逆
crontab -r - -u <用户名>:以指定用户的身份执行 crontab 操作,需足够权限(如 root)才能用
sudo crontab -u jack -e #编辑用户jack的任务表sudo crontab -u jack -l #列出用户jack的任务表sudo crontab -u jack -r #删除用户jack的任务表 - -h:显示 crontab 命令的帮助信息,列出可用选项及说明
crontab -h
2.1.4快速入门
- 设置个人任务调度:corontab -e
- 在调度文件中输入任务:*/1 * * * * ls -l /etc/ > /tmp/to.txt



- 特殊符号说明:



2.1.5应用实例
- 每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中:
*/1 * * * * date >>/tmp/mydate - 每隔1分钟,将当前日期和日历都追加到/home/mycal文件中:
- 每天凌晨2:00将mysql数据库testdb,备份到文件中。提示:指令为mysqldump -u root -p密码 数据库
2.1.6crond相关指令
- 重启任务调度(CentOS7及以上)
systemctl restart crond - 重启任务调度(CentOS6及以下)
service crond restart
(2)at 定时任务


2.2.1基本介绍
- .at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行
- 默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
- at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
- 在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看
ps -ef|grep atd - 示意图

2.2.2at命令格式
- at [选项] [时间]
- Crtl + D 结束at命令的输入(按两次)
2.2.3at命令选项










2.2.4at时间定义
- 具体时间点:

- 特定日期与时间组合:

- 相对计时法:

- 特定时间表述:

2.2.5应用案例
- 案例1:2天后的下午5点执行 /bin/ls/home

- 案例2:atq命令来查看系统中没有执行的工作任务

- 案例3:明天17点钟,输出时间到指定文件内 比如/root/date100.log

- 案例4:2分钟后,输出时间到指定文件内 比如/root/date200.log

- 案例5:删除已经设置的任务,atrm 编号(也可以使用at -d 任务编号:来删除设置的任务)

三、Linux磁盘分区和挂载
(1)Linux分区
3.1.1原理介绍
- 单一根目录与统一文件结构:在 Linux 系统中,无论存在多少个分区以及这些分区分配给哪些目录使用,系统只有一个根目录(
/),并形成一个独立且唯一的文件系统结构。每个分区都是这个整体文件系统的组成部分 - 挂载机制:Linux 采用 “挂载” 的方式来管理存储设备。整个文件系统包含了一系列的文件和目录,通过挂载操作,可以将一个分区(如硬盘分区、外部存储设备等)与文件系统中的某个目录关联起来。挂载后,该分区的存储空间就如同是该目录的一部分,用户可以通过这个目录来访问分区中的文件和目录

- 示意图:

3.1.2硬盘说明
- IDE硬盘分区标识:IDE硬盘用 hd 表示,后面跟盘号(a - d 对应不同IDE通道的主从盘)和分区号。1 - 4 号是主分区或扩展分区,5 及以后是逻辑分区,如 hda3、hdb2

- SCSI等硬盘分区标识:SCSI、SATA、NVMe 等硬盘用 sd 表示,盘号和分区号规则和IDE硬盘一样,像 sda5、sdb3
- 如图所示:

3.1.3查看所有设备挂载情况
- -a(all):显示所有块设备,包含空设备(如未挂载、无分区的设备)

- -d(nodeps,即no dependencies的缩写):只显示设备本身,不显示设备的子分区

- -f(fs,即file system的缩写):显示文件系统相关信息,如文件系统类型、UUID 等

- -o(output):自定义输出列,可指定要显示的信息字段

- 输出信息说明:










UUID(通用唯一识别码)主要是用来标识硬盘分区
(2)挂载的经典案例
3.2.1如何增加一块硬盘
右键虚拟机,选择[设置],点击添加,选择硬盘,然后一路[下一步],中间只有选择磁盘大小的地方需要修改,直到完成。然后重启系统(才能识别)!

3.2.2虚拟机增加硬盘步骤1
- 分区命令 fdisk /dev/sdb

- 开始对/sdb分区


- 说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q

3.2.3虚拟机增加硬盘步骤2
格式化磁盘:
- 格式化命令:-t是type的缩写,意味着要创建的文件系统的类型是什么(make filesystem)
mkfs -t ext4 /dev/sdb1 - 其中ext4是分区类型
- 格式化之前,sdb1还没有UUID

- 输入命令,格式化磁盘


- 再看,此时就拥有UUID了

3.2.4虚拟机增加硬盘步骤3
- 挂载:将一个分区与一个目录关联起来
mount 设备名称 挂载目录例如:mount /dev/sdb1 /newdisk(必须先创建/newdisk目录)
- 卸载:
umount 设备名称 或者 挂载目录例如:umount /dev/sdb1 或者 umount /newdisk
- 注意:用命令行挂载重启后会失效
3.2.5虚拟机增加硬盘步骤4
- 永久挂载:通过修改/etc/fstab(filesystem table)实现自动挂载


- 添加完成后 执行 mount -a 即刻生效(或者执行reboot也会自动生效)

- 最后两个数字的含义:

(3)磁盘情况查询
3.3.1查询系统整体磁盘使用情况
- 基本语法:df是disk free的缩写
df -h #以人类可读的格式显示df -T #显示文件系统类型 - 应用实例:


3.3.2 查看指定目录的磁盘占用情况
- 基本语法:du是disk usage的缩写

- 选项说明:
- -h:

- -s:


- -h:
- 查询指定目录的磁盘占用情况,不指定则默认查询当前目录
- 应用实例:查询/opt目录的磁盘占用情况,深度为1


(4)磁盘情况—工作使用指令
- 关于wc命令:

- 统计/opt文件夹下的文件的个数
ls -l /opt|grep "^-"|wc -l - 统计/opt文件夹下的目录的个数
ls -l /opt|grep "^d"|wc -l - 统计/opt文件夹下的文件的个数,包括子文件夹里的
ls -lR /opt|grep "^-"|wc -l - 统计/opt文件夹下目录的个数,包括子文件夹里的
ls -lR /opt|grep "^d"|wc -l


-
以树状显示目录结构:tree 目录(注意:如果没有tree指令,则使用yum install tree,前提网络是畅通的)

相关文章:
Linux 实操篇 组管理和权限管理、定时任务调度、Linux磁盘分区和挂载
一、组管理和权限管理 (1)Linux组基本介绍 在linux中的每个用户必须属于一个组,不能独立于组外 在linux中每个文件有所有者、所在组、其他组的概念 (2)文件/目录 所有者 一般为文件的创建者,谁创建了该…...
对CSS了解哪些?
CSS(Cascading Style Sheets,层叠样式表)是用来描述HTML文档外观和布局的语言。以下是对CSS的常见了解范围: 1. CSS 基础 选择器:如通用选择器 (*)、类型选择器、类选择器 (.class)、ID选择器 (#id)、后代选择器、伪类…...
虚拟机新建Ubuntu系统联网快速配置实现能正常ssh连接
1.写一个shell脚本 #!/bin/bash# 更新系统 sudo apt update -y# 安装openssh-server sudo apt install openssh-server -y# 启动SSH服务 sudo systemctl start ssh# 设置SSH服务开机自启 sudo systemctl enable ssh# 检查SSH服务状态 sudo systemctl status ssh# 允许SSH连接 …...
青少年编程都有哪些比赛可以参加
Python小学生可参加的赛事: 电子学会青少年编程考级、中国计算机学会编程能力等级认证、蓝桥杯、 信奥赛CSP-J/S初赛/NOIP(推荐C)、编程设计、信息素养、科技创新赛; 升学助力(科技特长生、大学)、企业、出国留学; python比赛&am…...
MySql中的事务、MySql事务详解、MySql隔离级别
文章目录 一、什么是事务?二、事务四大特性ACID 2.1、原子性(Atomicity)2.2、一致性(Consistency)2.3、隔离性(Isolation)2.4、持久性(Durability) 三、事务操作/事务的…...
10、k8s对外服务之ingress
service和ingress的作用 service的作用 NodePort:会在每个节点开放一个端口,端口号30000-32767。 也是只能用于内网访问,四层转发。实现负载均衡。不能基于域名进行访问。 clusterip:service的默认类型,只能在集群…...
【结束】JS如何不通过input的onInputFileChange使用本地mp4文件并播放,nextjs下放入public文件的视频用video标签无法打开
本地不用input标签获取video视频并播放 浏览器没有像JAVA这些语言之类的IO 代码: <div><video id"video_id" width"750" height"500" controls>Your browser does not support the video tag.</video> </div…...
【STM32】舵机SG90
1.舵机原理 舵机内部有一个电位器,当转轴随电机旋转,电位器的电压会发生改变,电压会带动转一定的角度,舵机中的控制板就会电位器输出的电压所代表的角度,与输入的PWM所代表的角度进行比较,从而得出一个旋转…...
科普:“git“与“github“
Git与GitHub的关系可以理解为:Git是一种软件工具,而GitHub则是一个在线平台,它们是“一家子”。二者的关联最直接体现在你通过Git在GitHub仓库中clone软件包到你的机器中来。 具体来说: 一、Git 定义:Git是一个开源的…...
个人简历html网页模板,科技感炫酷html简历模板
炫酷动效登录页 引言 在网页设计中,按钮是用户交互的重要元素之一。这样一款黑色个人简历html网页模板,科技感炫酷html简历模板,设计效果类似科技看板图,可帮您展示技能、任职经历、作品等,喜欢这种风格的小伙伴不要犹豫哦。该素材呈现了数据符号排版显示出人形的动画效…...
蓝桥杯备赛 Day8 二分
二分 1.要点 选取左闭右闭,[left,right] (1)二分查找:有序数组,且无重复元素寻找目标值key int left0,rightn-1,res-1;//未找到返回-1 while(left<right){int midleft((right-left)>>1); //注意右边括号,号优先于>>if(a[mi…...
CMMI5:请说明如何根据评价准则选择最佳解决方案?
一、明确评价准则及权重分配 确定评价准则:首先要清晰地列出所有相关的评价准则,这些准则通常涵盖多个方面,比如与项目目标的契合度(包括功能需求满足程度、性能需求达标情况、对项目进度的影响等)、技术可行性&#…...
<2.20>Leetcode哈希、双指针
还可以用双指针的做法 我们要找等于9 排序后从两边开始左右指针 2 3 7 9 如果29>9那么9肯定不能要 去掉 左边也一样 2 3 5 6 26小于9 那么2肯定不能要 去掉 package Leetcode; import java.util.*;public class 两数之和 {public int[] twoSum(int[] nums,int target…...
本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术
今天给大家分享的是一位粉丝的提问,本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问: 你好&…...
《鸿蒙开发-答案之书》获取视频第一帧和视频时间
《鸿蒙开发-答案之书》获取视频第一帧和视频时间 /*** 获取视频信息**let result await MySightUtil.getSightInfo(this.sightUri);*let base64 : string result[0];*let duration : number result[1]** param uri 视频地址* returns 第一个数据是缩略图 base64 字符串&…...
计算机科学与技术
计算机科学是一个庞大且关联性强的学科体系,初学者常面临以下痛点: - **知识点零散**:容易陷入"只见树木不见森林"的学习困境 - **方向不明确**:面对海量技术栈不知从何入手 - **体系缺失**:难以建立完整…...
vxe-table 如何实现跟 Excel 一样的数值或金额的负数自动显示红色字体
vxe-table 如何实现跟 Excel 一样的数值或金额的负数自动显示红色字体,当输入的值为负数时,会自动显示红色字体,对于数值或者金额输入时该功能就非常有用了。 查看官网:https://vxetable.cn gitbub:https://github.co…...
【Word转PDF】在线Doc/Docx转换为PDF格式 免费在线转换 功能强大好用
在日常办公和学习中,将Word文档转换为PDF格式的需求非常普遍。无论是制作简历、撰写报告还是分享文件,都需要确保文档格式在不同设备上保持一致。而小白工具的“Word转PDF”功能正是为此需求量身打造的一款高效解决方案。 【Word转PDF】在线Doc/Docx转换…...
AF3 _find_template_in_pdb 函数解读
AlphaFold3 中templates模块的_find_template_in_pdb函数用于在 mmCIF 文件中查找与给定模板序列匹配的链,通过三步匹配策略确保找到最佳的模板链。 源代码: def _find_template_in_pdb(template_chain_id: str,template_sequence: str,mmcif_object: mmcif_parsing.MmcifO…...
陶瓷膜分离技术保障食品工业原料用水安全
陶瓷膜分离技术在食品工业中应用广泛,尤其是在保障原料用水的安全性方面发挥着重要作用。下面将从几个方面介绍陶瓷膜分离技术如何保障食品工业原料用水的安全: 高效过滤杂质:陶瓷膜具有非常细小的孔径(通常在纳米级别),能够有效去…...
蓝桥杯 2.基础算法
蓝桥杯 2.基础算法 文章目录 蓝桥杯 2.基础算法基础算法时空复杂度枚举模拟编程11-16递归编程17进制转换编程18-19前缀和编程20-22差分编程23-27离散化贪心编程28-37二分双指针编程38-45构造编程46-49位运算编程50-55 排序冒泡排序选择排序插入排序快速排序归并排序编程56-65 基…...
ESP32-S3模组上兼容SCCB总线与I2C总线的解决方案(2)
接前一篇文章:ESP32-S3模组上兼容SCCB总线与I2C总线的解决方案(1) 二、问题求解 上一回说明了本系列文章的背景、所遇问题,以及乐鑫官方给出的解决方案,见以下测试用例: TEST_CASE("Camera driver uses an i2c port initialized by other devices test", &qu…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_os_specific_init函数
ngx_os_specific_init 声明在 src/os/unix/ngx_os.h ngx_int_t ngx_os_specific_init(ngx_log_t *log); 定义在 src\os\unix\ngx_linux_init.c ngx_int_t ngx_os_specific_init(ngx_log_t *log) {struct utsname u;if (uname(&u) -1) {ngx_log_error(NGX_LOG_ALERT, log,…...
Go 自动升级依赖版本
🚀 Go 自动升级依赖版本 在 Go 语言项目中,依赖管理使用 Go Modules(go.mod 和 go.sum)。如果想要自动升级依赖,可以使用以下方法。 1. 方式 1:升级所有依赖 go get -u ./...🔹 作用ÿ…...
fps僵尸:12.丧尸伤害检测
文章目录 设计丧尸攻击时启用伤害检测,攻击结束后取消伤害检测 思路需要在攻击动画中 调用&关闭伤害检测 实现注解动画通知:绑定动画与蓝图 设计 丧尸攻击时启用伤害检测,攻击结束后取消伤害检测 思路 需要在攻击动画中 调用&关闭…...
支持向量机(SVM)在 NLP 中的使用场景
支持向量机(Support Vector Machine, SVM)是一种强大的监督学习算法,广泛应用于分类任务中。由于其出色的分类性能和高效的计算特点,SVM 已经成为自然语言处理(NLP)领域中的一种经典模型。SVM 在 NLP 中的应用非常广泛,尤其在文本分类任务中,表现出色。 本文将探讨 SV…...
Linux中的Ctrl+C与Ctrl+Z
CtrlC与CtrlZ的区别 在Linux中,当我们在执行一个命令运行代码时,由于运行时间过长或中途出现报错,此时,我们可能需要终止该操作,这时候,该使用CtrlC还是CtrlZ呢? 1、CtrlC CtrlC:终…...
【深度学习】手写数字识别任务
数字识别是计算机从纸质文档、照片或其他来源接收、理解并识别可读的数字的能力,目前比较受关注的是手写数字识别。手写数字识别是一个典型的图像分类问题,已经被广泛应用于汇款单号识别、手写邮政编码识别等领域,大大缩短了业务处理时间&…...
go语言 创建kratos框架工程
go语言 创建kratos框架工程 1、准备 1.1、系统 只支持macos和linux系统, 这里主要是macos(linux类似) 1.2、需要的环境 1.2.1、go语言环境 $ brew install go # 会安装最新的go版本 $ go env -w GO111MODULEon # 设置go的环境1.2.2、 …...
Linux-GlusterFS操作子卷
文章目录 分布式卷添加卷分布式卷删除子卷删除总卷 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2025年02月20日19点30分 分布式卷添加卷 Node1上进行操作 扩容 #服务器端 gluster volu…...
