Linux区分文件类型,file指令,目录权限,umask掩码,共享文件,Linux中的一些有趣指令

news2024/12/26 2:13:38

file指令,Linux区分文件类型,目录权限,umask掩码,共享文件,Linux中的一些有趣指令

  • 1.Linux中是如何区分文件类型的
  • 2. file指令
  • 3.目录权限
  • 4.umask掩码
  • 5.粘滞位
  • 6.Linux中的一些有趣指令

在这里插入图片描述

所属专栏:Linux学习❤️
🚀 >博主首页:初阳785❤️
🚀 >代码托管:chuyang785❤️
🚀 >感谢大家的支持,您的点赞和关注是对我最大的支持!!!❤️
🚀 >博主也会更加的努力,创作出更优质的博文!!❤️
🚀 >关注我,关注我,关注我,重要的事情说三遍!!!!!!!!❤️

1.Linux中是如何区分文件类型的

  • 我们知道在Windows下我们是通过文件的后缀名来区分文件的类型的。那么在Linux中也是通过后缀名来区分的吗?在Linux中文件时不通过后缀名来区分文件类型,那么我们怎么来区分文件的类型呢?通常通过件属性的第一个字符来区分文件的类型。

在这里插入图片描述

文件类型所属意思
d文件夹
-普通文件(文本,源代码,图片视频,库,可执行文件等)
l软链接(类似Windows的快捷方式)
b块设备文件(例如硬盘、光驱等)
p管道文件
c字符设备文件(例如屏幕等串口设备)
s套接口文件
  1. “-”表示普通文件,例如我们touch出来的一个文件:
    在这里插入图片描述
  2. "d"表示一个普通目录,例如我们用mkdir创建一个目录出来:
    在这里插入图片描述
  3. "b"——block,快设备文件,就有点类似于我们windows下的D盘C盘之类的。
  4. "c"——字符设备文件,就是我们常见的键盘,显示器,这就是为什么我们之前说Linux下一切皆文件。
    而这个以c开头的文件主要是显示的,比如我们再开一个对话窗口。
  • 没添加对话框之前:
    在这里插入图片描述
  • 添加对话框之后:
    在这里插入图片描述
    就会多出一个以c开头的文件。
  1. “l"——链接文件:
    在这里插入图片描述
    链接文件有指向特点。
  • 上面我们说了,LInux中是通过文件后缀来区分文件的,那也就是说,假如我有一个a.out的可执行文件,我们直接 ./a.out执行这个文件,这个文件是可以执行的。那么我们现在把这个文件改成 a.txt再次执行,发现还是可以执行的,所以在LInux中判断一个文件是否可以被执行主要两个方面,1.这个文件可不可以执行,2.这个文件有没有可执行权限。
  • 但是现在我们用gcc ./a.txt执行这个文件,会发现执行不了了,这是因为,虽然Linux系统下是不通过后缀区分文件的,但是Linux下的工具 例如gcc/g++这些工具是会通过后缀区分文件的,所以这个时候如果我们改了可执行文件的后缀之后,gcc就不认识这个文件是可执行文件了,也就编译不了这个文件。

2. file指令

功能说明:辨识文件类型。
语法:file [选项] 文件或目录…
常用选项:
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容

在这里插入图片描述

3.目录权限

之前我们将文件权限的时都只是针对一个普通文件文件而言的,那么如果我如果要进入一个目录的话需要什么文件呢?

  1. 去掉r读权限:
    在这里插入图片描述

  2. 去掉”w"写权限:
    在这里插入图片描述

  3. 去掉“x"执行权限:
    在这里插入图片描述

从上面的排除法我们可以知道,只有拥有"x”执行权限我们才可以进入目录。
那么r和w权限有什么用呢?

  • 我们先恢复最初目录的权限,并在目录底下创建几个文件:

在这里插入图片描述

  • 现在我们去掉目录的r权限:

在这里插入图片描述
我们会发现,目录没有了r权限后无法查看目录里面的信息,但是能创建文件。

  • 现在我们去掉文件的 w 写权限:

在这里插入图片描述
我们会发现,目录没有了w权限后可以查看目录里面的信息,但是不能创建文件也不能删除文件以及修改文件信息。

总结:
1.可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
2.可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
3.可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

4.umask掩码

  • 当我们创建一个文件或者目录的时候,我们每次创建的时候,这个目录/文件的权限都是固定的。
    在这里插入图片描述

八进制的权限表示封顶是777,那为什么创建一个普通文件时664,而目录时775呢?
其实我们的目录的起始权限时777,
普通文件的起始权限时666。
但是系统当中除了有起始文件,还有一个概念叫umask叫做权限掩码。
它可以定制一个文件创建时的默认权限。这个默认权限就是最终创建出来的权限。

在系统当中想看到掩码只需要输入umask就行:
在这里插入图片描述
则是一个八进制的2转换成二进制就是:000 000 010而这个就叫做权限掩码。这个掩码的用途是:从起始权限中去掉umask中出现的权限(注意:这里的去掉不是减法,而是去掉对应位置的)。
比如:我们的目录和文件:
在这里插入图片描述
也就是是说:默认权限 = 起始权限 & (~umask)

  • 同样的我们也可以修改umask:umask 起始掩码
    在这里插入图片描述

5.粘滞位

  • 我们一个系统下可以有多个用户,root是超级用户,不受任何权限控制,可以在普通用户之间随意切换,也可以在普用户里面进行操作,但是对于普通用户来讲,只能在自己的用户底下进行操作。或者得到部分root的权限进行操作。但是我们的root用户只有一个,而普通用户占大多数,有时候我们的普通用户可能需要将各自的文件放到一起,普通用户之间可能需要查看其他用户的文件。而如果每次需要查看其他普通用户的文件时都要登入对方的用户,这样岂不是很麻烦?于是为了解决这个问题,Linux系统提供了一个公共区域文件tmp文件,这个文件任何普通用户都可以进行文件的查看,创建,删除,修改,就很好的解决了这个问题。

在这里插入图片描述

  • 在这个目录底下,实现了文件共享:

在这里插入图片描述

  • 我们也可修改qfw用户添加的文件

在这里插入图片描述

  • 要是qfw用户他想它文件不被任何人操作,也可以修改他的权限
    在这里插入图片描述

  • 细心的伙伴会发现,在tmp这个文件中other权限后面还有一个符号t
    在这里插入图片描述

  • 我们先把这个t删除掉:
    在这里插入图片描述

  • 这个时候chuyang用户就生气了,qfw用户既然你不想让我访问你的文件,那我就删掉这个文件:
    在这里插入图片描述
    此时chuyang老铁就把这个文件给删除了

  • 那么问题来了,如果说因为我不给你权限你就删除了,那这不就是Linux底下的一个bug吗,所以为了这个Linux就又给tmp这个文件加了一个权限t,叫做粘滞位。

  • 当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由一、超级管理员删除二、该目录的所有者删除三、该文件的所有者删除

6.Linux中的一些有趣指令

我们在Linux中显示一个会动的小火车:

yum install -y sl

输出sl就可以出现一个会动的小火车:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1133263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络-TCP协议

面向连接的运输:TCP TCP连接 TCP被称为面向连接的,因为在应用程序开始互传数据之前,TCP会先建立一个连接,该连接的建立涉及到三次“握手”。 TCP的连接不是一条真实存在的电路,而是一条逻辑链接,其共同状…

EL表达式和JSTL标签库

2023.10.25 EL表达式是什么&#xff1f; EL表达式&#xff0c;Expression Language&#xff08;表达式语言&#xff09;&#xff0c;可以代替JSP中的java代码&#xff0c;让JSP文件中的程序看起来更加整洁&#xff0c;美观。 由于JSP中夹杂着各种java代码&#xff0c;例如<…

MySQL---表的增查改删(CRUD进阶)

文章目录 数据库约束表的设计一对一一对多多对多 新增查询聚合查询分组查询联合查询内连接外连接自连接子查询合并查询 数据库约束 数据库约束就是指&#xff1a;程序员定义一些规则对数据库中的数据进行限制。这样数据库会在新增和修改数据的时候按照这些限制&#xff0c;对数…

[ACTF2020 新生赛]Exec

【解题过程】 1.打开链接 得到一个能ping 的网站&#xff0c;可以推测这个可以在终端运行的网站。 2.解题思路 在执行的时候我们可以想到命令执行的“&#xff1b;”分号的作用&#xff1a;命令用分号分隔开来&#xff0c;表示它们是两个独立的命令&#xff0c;需要依次执行。…

【Docker】Docker的网络

Docker提供了多种内置的网络模式&#xff0c;用于在容器之间建立网络连接。这些网络模式&#xff0c;包括桥接网络、主机网络、无网络模式。我们将主要探讨每种网络模式的优缺点、适用场景。 桥接网络 桥接网络是Docker的默认网络模式。在桥接网络中&#xff0c;Docker会为每…

Pytorch代码入门学习之分类任务(一):搭建网络框架

目录 一、网络框架介绍 二、导包 三、定义卷积神经网络 3.1 代码展示 3.2 定义网络的目的 3.3 Pytorch搭建网络 四、测试网络效果 一、网络框架介绍 网络理解&#xff1a; 将32*32大小的灰度图片&#xff08;下述的代码中输入为32*32大小的RGB彩色图片&#xff09;&…

论多段图的最短路径问题(我认为本质上还是暴力枚举法)

比如说这道题&#xff1a;我向前推进 从0到11的最短路径 按照图可以分5段&#xff0c;v1 是第一阶段 0&#xff0c;v2是第二段 有1&#xff0c;2&#xff0c;3&#xff0c;4 从0开始&#xff0c;路径为0&#xff0c;所以m&#xff08;1&#xff0c;0&#xff09;0&#xff1b…

单片机核心/RTOS必备 (ARM汇编)

ARM汇编概述 一开始&#xff0c;ARM公司发布两类指令集&#xff1a; ARM指令集&#xff0c;这是32位的&#xff0c;每条指令占据32位&#xff0c;高效&#xff0c;但是太占空间。Thumb指令集&#xff0c;这是16位的&#xff0c;每条指令占据16位&#xff0c;节省空间。 要节…

reqable(小黄鸟)+雷电抓包安卓APP

x 下载证书保存到雷电模拟器根目录(安装位置) 在根目录打开cmd执行命令 F:\Program\leidian\LDPlayer9>adb push reqable-ca.crt /system/etc/security/cacerts/364618e0.0 reqable-ca.crt: 1 file pushed, 0 skipped. 0.8 MB/s (1773 bytes in 0.002s)如果是powershell…

Hadoop3.0大数据处理学习4(案例:数据清洗、数据指标统计、任务脚本封装、Sqoop导出Mysql)

案例需求分析 直播公司每日都会产生海量的直播数据&#xff0c;为了更好地服务主播与用户&#xff0c;提高直播质量与用户粘性&#xff0c;往往会对大量的数据进行分析与统计&#xff0c;从中挖掘商业价值&#xff0c;我们将通过一个实战案例&#xff0c;来使用Hadoop技术来实…

Node编写更新用户头像接口

目录 定义路由和处理函数 验证表单数据 ​编辑 实现更新用户头像的功能 定义路由和处理函数 向外共享定义的更新用户头像处理函数 // 更新用户头像的处理函数 exports.updateAvatar (req, res) > {res.send(更新成功) } 定义更新用户头像路由 // 更新用户头像的路由…

Liunx-Kubernetes安装

安装Kubernetes Kubernetes有多种部署方式&#xff0c;目前主流的方式有kubeadm、minikube、二进制包 minikube&#xff1a;一个用于快速搭建单节点kubernetes的工具kubeadm&#xff1a;一个用于快速搭建kubernetes集群的工具二进制包&#xff1a;从官网下载每个组件的二进制…

浏览器多开,数据之间相互不干扰

方法很简单 在浏览器快捷方式中&#xff0c;快捷键点开属性&#xff0c;在目标中添加--user-data-dirD:\chrome\1

【蓝桥每日一题]-贪心(保姆级教程 篇1)#拼数 #合并果子 #凌乱yyy

目录 题目&#xff1a; 拼数 思路&#xff1a; 题目&#xff1a; 合并果子 思路&#xff1a; 题目&#xff1a;凌乱yyy 思路&#xff1a; 题目&#xff1a;拼数 思路&#xff1a; 思路很简单。举个例子&#xff1a;对于a321,b32。我们发现ab32132,ba32321&#xff0c;那么…

TypeScript学习 | 泛型

简介 泛型是指在定义函数、接口或类的时候&#xff0c;不预先指定具体的类型&#xff0c;而在使用的时候再指定类型的一种特性 作用 可以保证类型安全的前提下&#xff0c;让函数、接口或类与多种类型一起工作&#xff0c;从而实现复用 基本使用 举个例子&#xff1a; 创…

【TGRS 2023】RingMo: A Remote Sensing Foundation ModelWith Masked Image Modeling

RingMo: A Remote Sensing Foundation Model With Masked Image Modeling, TGRS 2023 论文&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9844015 代码&#xff1a;https://github.com/comeony/RingMo MindSpore/RingMo-Framework (gitee.com) …

解决:vscode和jupyter远程连接无法创建、删除文件的问题(permission denied)

目录 问题&#xff1a;vscode和jupyter远程连接服务器无法创建、删除文件的问题原因&#xff1a;代码文件的权限不够解决方法&#xff1a;1.ls -l查看目录所在组&#xff0c;权限2.chown修改拥有者和所在组 问题&#xff1a;vscode和jupyter远程连接服务器无法创建、删除文件的…

【兔子王赠书第3期】《案例学Python(进阶篇)》

文章目录 前言推荐图书本书特色本书目录本书样章本书读者对象粉丝福利丨评论免费赠书尾声 前言 随着人工智能和大数据的蓬勃发展&#xff0c;Python将会得到越来越多开发者的喜爱和应用。因为Python语法简单&#xff0c;学习速度快&#xff0c;大家可以用更短的时间掌握这门语…

Spring学习笔记—JDK动态代理

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Spring专栏 ✨特色专栏&#xff1a; M…

Unity中Shader的ShaderLOD

文章目录 前言一、ShaderLOD的使用步骤1、ShaderLOD使用在不同的SubShader中&#xff0c;用于区分SubShader所对应的配置2、在 C# 中使用 Shader.globalMaximumLOD 赋值来选择不同的 SubShader,以达到修改配置对应Shader的效果3、在设置LOD时&#xff0c;是需要和程序讨论统一 …