Linux文件类型与权限及其修改
后面我们写代码时,写完可能会出现没有执行权限什么的,所以我们要知道文件都有哪些权限和类型。
首先

就像我们之前目录结构图里面有个/dev,它就是存放设备文件的,也就是说,哪怕是一个硬件设备,例如打印机啥的,它也把它映射成一个文件。这就是一切皆是文件。
但它不是以文件的后缀名来区分文件类型的。

如上图,就是在进到 家目录:/home/stu ~ 两者等价,底下的quzijie文件夹(目录文件)里面,再用mkdir来创建一个文件夹(目录文件),名字叫class03(mkdir建立的目录文件其文件名的颜色一般是蓝色),创建完然后进到class03里面,这时class03里面是空的。
此时其绝对路径是/home/stu/quzijie/class03.
现在在class03文件夹里面用touch建一个普通文件,名字叫xxx.yyy。

可以看到成功了,这说明不管文件后缀名是什么,即使是.yyy这种,Linux也能创建成功,它不以后缀名来区分文件类型。

同理,再建一个y.x文件,后缀名是.x也能成功。
这些并不是我们在Windows上所熟知的什么.txt是文本文件类型的后缀名,.pdf是图片类型的后缀名。
那么来看Linux是以什么来判断文件类型的,Linux是在文件属性中专门有一列内容来记录文件类型的。

如图,用命令ll,我们可以看到,第一列内容,就告诉了你文件类型![]()

d:表示这是一个目录文件(文件夹),./:是当前目录class03,../:是上一层目录quzijie。
-:表示这是一个普通文件,xxx.yyy,y.x都是刚刚用touch建立的普通文件。

例如再在class03里面用mkdir建一个目录文件test,然后ll。可以看到test目录文件前面的就是d。
这里是一些常用的文件类型标识

上图中的普通文件一堆标识就是说这些是用touch建立的文件,而touch建立的普通文件用cd是进不去的,因为cd只能进去目录文件(文件夹),要用mkdir建立。如图,ll进去文件y.x文件的那一行第一个字符是-,就代表是普通文件

而cd test就可以进去test,虽然ls显示test里面什么都没有为空,此时绝对路径就是/home/stu/quzijie/class03/test. cd进入一个新目录文件,其路径名就加一个(/新进入的目录名)
一般cd后紧接着都是ls,看看进去的文件夹里面有什么

或者用 ls -l 就等同于 ll 进去看到一个目录文件夹里的所有文件信息,此时test里面没有东西所以是总计0,那我们 cd .. 退回到test的上一层目录文件class03里面,再 ls -l去看class03目录文件夹里面的所有文件信息,如下

然后我们看这些文件信息都是什么东西

文件类型下来就是文件权限,一共有9列,可分为前3列(文件所有者即创建者u的读r,写w,执行x的3列访问权限,这3列所代表的顺序不能变1读2写3执行),中间3列是文件的同组组员用户的3种访问权限,后3列是其他人的3种访问权限。
其相应位置显示相应字母就代表相应的人拥有了相应权限,显示(-)就是你没有相应的权限。要看文件权限就是 ls -l 或者 ll 进入可看

权限下来是链接数,
对于普通文件来说,有几个链接了这个文件,那么链接数就是几。
对于目录文件来说,就是一级子目录的个数。
链接数下来是拥有者即文件所属者
我们前面建立的文件或文件夹其所属者都是stu,stu就是一开始我们给自己取的用户名。
所属者下来是它的同组人也是stu,因为Linux是多用户系统,但目前我们这里只有自己这一个用户,所以所属组,同组人也是自己这个用户stu。
所属组下来是文件的大小,下来是文件最后一次的修改时间,最后就是文件名。
以上就是Linux里面文件的所有详细的属性信息,用 ls -l来看。
下来是一个重点——如何修改文件的权限——chmod的用法,用来修改文件权限的2种方法。

先来在class03目录底下touch一个普通文件main.c

然后 ls -l 看一下main.c都有什么权限

可以看到main.c的所有者和同组人有读和写的权限,但没有执行权限;而其他人只有一个读的权限。
修改用户权限法一——文字设定法——+,-,=
那么现在如果要给其他人加上一个写的权限——要怎么做。————chmod o+w main.c
(chmod 空格 3类用户中的某一个或a(all代表3类用户都包含)(+,-,=)3类权限中的什么 空格 文件名)

可以看到 chmod o+x main.c之后 ls -l显示,main.c的执行权限x就加上了

再执行一遍也没有报错

要是要把这个x权限去掉,就是将刚刚的o+x改为o-x就行,在例如给u加上x权限

给所有人都加上x权限

这里u,g,o,a就是一个参数,所以跟后面的+,-,=符号之间不要有空格
现在对于main.c文件而言所有人都有执行x权限了,那么main.c文件就变成绿色的了。

要是把所有人的执行权限x都去掉,chmod a-x main.c,现在main.c文件就变成黑色的了,虽然都是普通文件。


现在给属主把写权限w去掉后,现在文件main.c的所有者user再想要往文件main.c里面写东西的话就写不进去了。就是因为没有写权限。
一般出问题后先打开看看是不是权限问题
二.还有另一种修改权限的方法,直接使用等于号—— =

对于文件的哪一类操作用户想要有哪些操作权限,就让那类用户直接=它需要的所有权限,例如上图中,文件所有者user需要读r和写w权限,就是——u=rw。
那现在要同时给2类操作用户来修改权限,属主user和同组用户group,要怎么做——不同类的操作用户之间用逗号,隔开


上图就是同时修改2类操作用户的权限
修改用户权限法二——数字设定法——用的最多
如果要同时对3类用户都进行权限修改,此时用文字设定法就比较麻烦,用数字设定法更好

先来看一下这个421是怎么来的
3种权限rwx分别都占着位置,对应二进制里面也是占着3个位置
rwx
100——对应为r--,也就是4
010——对应为-w-,也就是2
001——对应为--x,也就是1


这里的nnn对应的就是ugo
nnn
ugo
n为根据rwx有无的数值和
例如6 6 4——就是
rw- rw- r--
7 7 7——
rwx rwx rwx

下图在工作中一般是不允许的,例如其他人o是没有写w权限的,不能让其他人随便就把我的文件给改动了
就像下面原始创建的普通文件y.x,一开始就是默认的664,(正常情况下多数都给664)其他人只有读r权限,因为Linux是多用户系统,所以所有者和同组人可以有读和写的权限


如图,touch出的普通文件(yy.xxy)都是664,你可以自己给它改一下改成644
再给main.c改个641

相关文章:
Linux文件类型与权限及其修改
后面我们写代码时,写完可能会出现没有执行权限什么的,所以我们要知道文件都有哪些权限和类型。 首先 就像我们之前目录结构图里面有个/dev,它就是存放设备文件的,也就是说,哪怕是一个硬件设备,例如打印机啥的…...
RPC 框架 openfeign 介绍和学习使用总结
一、基本概念 RPC 远程过程调用(Remote Procedure Call)的缩写形式 Birrell 和 Nelson 在 1984 发表于 ACM Transactions on Computer Systems 的论文《Implementing remote procedure calls》对 RPC 做了经典的诠释。 RPC 是指计算机 A 上的进程&am…...
大厂真题:【DP/贪心】字节跳动2023秋招-小红的 01 串
题目描述与示例 题目描述 小红拿到了一个 01 串,她准备将若干个字符1 染成红色,将若干个字符0 染成蓝色,但有个限制:如果一个0 和一个1 相邻,那么它们不能同时染色。 小红想知道,最多可以染多少个字符&a…...
【技术类-01】doc转PDF程序卡死的解决方案,
摘要: 1、报错: raise AttributeError("%s.%s" % (self._username_, attr))) 2、表现:doc转PDF卡死(白条不动或出现以上英文) 3、解决:在docx保存代码行后面加上time.sleep(3) 4、…...
探索未来,开启无限可能:打造智慧应用,亚马逊云科技大语言模型助您一臂之力
文章目录 什么是大模型?大模型训练方法亚马逊云科技推出生成式AI新工具 —— aws toolkit使用教程 总结 什么是大模型? 近期,生成式大模型是人工智能领域的研究热点。这些生成式大模型,诸如文心一言、文心一格、ChatGPT、Stable …...
HTML点击链接强制触发下载
常见网页中会有很多点击链接即下载的内容,以下示范一下如何实现 <a href"文件地址" download"下载的文件名字(不包括后缀)">强制下载</a> 下面举个例子: <a href"./image/test.jpg"…...
Paimon 与 Spark 的集成(一)
Paimon Apache Paimon (incubating) 是一项流式数据湖存储技术,可以为用户提供高吞吐、低延迟的数据摄入、流式订阅以及实时查询能力。Paimon 采用开放的数据格式和技术理念,可以与 ApacheFlink / Spark / Trino 等诸多业界主流计算引擎进行对接…...
批量导入SQL Server中的建表、建存储过程和建调度作业的文件
要批量导入SQL Server中的建表、建存储过程和建调度作业的文件,可以按照以下步骤进行操作: 确保你拥有适当的权限:在导入这些文件之前,请确保你具有足够的权限来创建表、存储过程和调度作业。通常需要具备数据库管理员(…...
启动Hbase出现报错
报错信息:slave1:head: cannot open/usr/local/hbase-2.3.1/bin/../logs/hbasewanggiqi-regionserver-slavel.out’ for reading: No such file or direslave2: head: cannot open/usr/local/hbase-2.3.1/bin/../logs/hbasewangqiqi-regionserver-slave2.out’ for …...
【数据结构】——栈、队列简答题模板
目录 一、栈(一)栈的基本概念(二)栈的应用(三)栈的代码实现(四)递归算法(五)栈与队列的区别 二、队列(一)队列的基本概念(…...
基于若依的ruoyi-nbcio流程管理系统仿钉钉流程json转bpmn的flowable的xml格式(排它条件网关)
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 这个章节来完成并行网关与排它条件网关的功能 1、前端 目前就修改了排它条件网关的前端条件部分…...
【华为OD题库-007】代表团坐车-Java
题目 某组织举行会议,来了多个代表团同时到达,接待处只有一辆汽车,可以同时接待多个代表团,为了提高车辆利用率,请帮接待员计算可以坐满车的接待方案,输出方案数量。 约束: 1.一个团只能上一辆车࿰…...
利用servlet实现对书籍书名、单价、数量等信息的添加,计算总价
1.题目要求 利用servlet实现对书籍书名、单价、数量等信息的添加,计算总价。 要求:输入两次表单信息,在一个成功返回的页面里面显示两次的数据。 2.Book实体类 package com.hjj.sevletgk.hw7.book;/*** author:嘉佳 Date:2023/10/8 15:16*…...
一键批量转码:将MP4视频转为MP3音频的简单方法
随着数字媒体设备的普及,视频和音频格式转换的需求也越来越常见。其中,将MP4视频批量转换为MP3音频的需求尤为普遍。无论是为了提取视频中的背景音乐,还是为了在手机或电脑上方便地收听视频音频,这个过程都变得非常重要。接下来我…...
java入门,记一次微服务间feigin请求的问题
一、前言 记录工作中遇到的开发问题,而不是写博客凑字数。 二、微服务调用 1、通过本服务调用另外一个服务,需要定义一个接口,并用FeignClient 注解进行注解 value "服务名" 要调用的服务名 服务得到路径,对应的是c…...
HarmonyOS应用开发者高级认证(88分答案)
看好选择题,每个2分多答对2个刚好88分,祝你顺利。 其它帮扶选择题。 一、判断 只要使用端云一体化的云端资源就需要支付费用(错)所有使用Component修饰的自定义组件都支持onPageShow,onBackPress和onPageHide生命周期…...
离散Hopfield神经网络分类——高校科研能力评价
大家好,我是带我去滑雪! 高校科研能力评价的重要性在于它对高等教育和科研体系的有效运作、发展和提高质量具有深远的影响。良好的科研能力评价可以帮助高校识别其在不同领域的强项和薄弱点,从而制定战略,改进教学和科研ÿ…...
Run highlighted commands using IDE
背景 有时候在 IEDE 的命令行中输入命令,会弹出如下提示,或者命令被着了背景色了,是怎么回事? 其实就是提示你可以使用 IDEA 的功能替代命令行。比如使用ctrlenter或cmdenter之后使用的就是 IDEA 里的功能 直接enter运行&#x…...
vscode文件跳转(vue项目)
在 .vue 文件中,点击组件名打开 方式1: 在 vue 组件名上,桉住ctrl 鼠标左键 // 重新打开一个tab 方式2: 在 vue 组件名上,桉住ctrl shift 鼠标左键 // 在右侧拆分,并打开一个tab .vue文件的跳转 按住 …...
嵌入式Linux系统中内存分配详解
Linux中内存管理 内存管理的主要工作就是对物理内存进行组织,然后对物理内存的分配和回收。但是Linux引入了虚拟地址的概念。 虚拟地址的作用 如果用户进程直接操作物理地址会有以下的坏处: 1、 用户进程可以直接操作内核对应的内存,破坏…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...
命令行关闭Windows防火墙
命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)方法二:CMD命令…...
Java并发编程实战 Day 11:并发设计模式
【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天,今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案,它们不仅提供了优雅的设计思路,还能显著提升系统的性能…...
