Linux基础知识-文件目录结构及基本属性

news2024/11/17 20:39:50

1、前言

上一篇我们讲到了Linux 文件类型7种类型,本篇我们说说Linux文件目录结构。

2、Linux 目录树

所有可操作的计算机资源都存在于目录树这个结构中,对计算资源的访问,可以看做是对这棵目录树的访问。Linux 的目录结构如下:Linux 文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录:
image.png

/bin: 常用命令一般都在这里,主要存放二进制可执行文件(ls、cat、mkdir 等)。

/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

它主要存放用于系统引导时使用的各种文件;

/dev : 存放设备文件, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home: 主要存放所有用户文件的根目录,是用户主目录的基点,,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

/lib: lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。存放着和系统运行相关的库文件。

/lost+found: 这个目录一般情况下是空的,当系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就存放在这里。

/media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mnt: 系统管理员安装临时文件系统的安装点,系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt: 这是给主机额外安装软件所放置的目录。比如你安装一个tomcat 则就可以放到这个目录下。默认是空的。

/proc: proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root: 该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin: s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;

/selinux: 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv: 该目录存放一些服务启动之后需要提取的数据。

/sys: 该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。

该文件系统是内核设备树的一个直观反映。

当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/tmp:用于存放各种临时文件,是公用的临时文件存储点;。

/usr: usr 是 unix shared resources(共享资源) 的缩写,用于存放系统应用程序,类似于 windows 下的 program files 目录。

/usr/bin: 系统用户使用的命令和应用程序。

/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src: 内核源代码默认的放置目录。

/var: var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

3、重点关注目录

在 Linux 系统中,有几个目录是非常重要的,注意不要误删除或者随意更改内部文件。
/etc: 这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。

值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),
而/sbin, /usr/sbin 则是给 root 使用的指令。

/var: 系统上跑了很多程序,那么每个程序相应的日志就被记录到这个目录下,
具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

4、linux文件基本属性

Linux的多用户系统系统,不同用户处于不同的地位,拥有不同的权限。

4.1、 查看用户属性:ls -l

drwxr-xr-x 2 csdn csdn 4.0K 1月 27 22:14 Code

你可能除了知道最后面那一项是文件名之外,其它项就不太清楚了,那么到底是什么意思:
image.png
比如第一项文件类型和权限那一堆东西具体指什么,链接又是什么,何为最后修改时间,下面一一道来:
image.png

rwx:表示read、write和execute权限

4.2、 如何更改文件属性?

chgmod -R xyz 文件或目录

xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加
image.png

4.3、通过例子加深印象

不用着急现在我们来通过下面的讲解让你加深印象。
如果我们修改文件权限,我们可以学习下如何通过数字来计算权限:

读 权限用数字4表示
写权限用数字2表示
执行权限数字1表示
对应的字母与数字等价关系如下:
** r=4 w=2 x=1 **

4.3.1、如果我要给读写执行权限那怎么算呢?

如: rwx=4+2+1=7

我们以修改CodeTest目录的权限修改为 drwxr-xrwx 为例子举例。
思路如下:

  • 所有者权限不变。数值相加为7
  • 组权限不变。数值相加为5
  • 其它所有者权限要变更,数值相加为7
    结果:757

1、通过ll查看CodeTest目录权限,正常如下:
drwxr-xr-x 2 csn csn 4096 2月 22 18:12 CodeTest
2、计算权限数字:
思路如下:
#1.所有者权限不变。数值相加为7
#2.组权限不变。数值相加为5
#3.其它所有者权限要变更,数值相加为7
结果:757
3、 使用chmod 命令修改权限
chmod 757 CodeTest
使用ll验证,正常结果如下:
drwxr-xrwx 1 csn csn 4.0K 2月 22 18:12 CodeTest
数值记算看起来很麻烦,其实我们多练习,熟练之后根本就不需要思考。一定要多练习。

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

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

相关文章

常见日志框架使用及日志打印规范设计

文章目录一、slf4j 简介二、常用日志框架1)log4jpom 依赖log4j.properties 文件配置测试参考2)logbackpom 依赖logback.xml 配置测试参考3) java.util.logging4)commons loggingpom 依赖配置测试参考5)slf4j-simplepom…

MFC UI控件相关

文章目录UI控件相关CDialog::OnInitDialog() 对话框初始化手动添加UpdateData() 刷新窗口数据DoDataExchange()数据与控件动态绑定afx_msg: 声明一个消息响应函数void AFXAPI DDX_Control( CDataExchange* pDX, int nIDC, CWnd& rControl );DDV_MaxChars()UI控件相关 CDia…

20天学会Rust第一天之Helloword

阿sir今天开始学习Rust了,至于为什么学习呢? 以后再说 我们都知道,程序设计 数据结构 算法。 因此,我们依次学习Rust中数据结构的定义&算法的实现,然后用它们实现一个简单的“hello world” 数据结构 Rust提供…

什么是IoC和AOP

IoC是什么? 控制反转:面向对象的设计的理念。上层建筑依赖下层建筑 理解:行李箱设计 轮子 --> 底盘 --> 箱体 --> 行李箱 如果改动轮子,则底盘、箱体、行李箱都需要进行调整。 依赖注入:将底层类作为参数…

Spring之底层架构核心概念-BeanFactory 与ApplicationContext

目录1.BeanFactory2.ApplicationContext3.关系4.总结1.BeanFactory BeanFactory是一个接口 public interface BeanFactory {xxx... }2.ApplicationContext ApplicationContext 也是一个接口,继承自ListableBeanFactory, HierarchicalBeanFactory public interfa…

非零基础自学Golang 第15章 Go命令行工具 15.2 代码获取(get) 15.3 格式化代码(fmt)

非零基础自学Golang 文章目录非零基础自学Golang第15章 Go命令行工具15.2 代码获取(get)15.3 格式化代码(fmt)第15章 Go命令行工具 15.2 代码获取(get) go get命令用于从远程仓库中下载安装远程代码包,这是我们常用且非常重要的指令。 我们在开发程序时往往需要引…

Gateway网关-网关作用介绍

为什么需要网关? 如果允许任何人访问微服务,查看我们的敏感业务,这样数据是不是不安全。如果是我们的工作人员并且有相应的查看权限,我们才提供访问权限。那谁来做这件事呢?就是我们的网关。 网关的功能作用 1&#xf…

鼎镁科技冲刺上交所:年营收18亿 拟募资13亿

雷递网 雷建平 12月21日鼎镁新材料科技股份有限公司(简称:“鼎镁科技”)日前递交招股书,准备在上交所主板上市。鼎镁科技计划募资12.86亿元。其中,8.84亿元用于轻量化新材料生产、研发建设项目,2.53亿元用于…

消息号F5155处理办法

消息号F5155(没有公司代码XDJT中买卖双方的资金权限)处理办法 OBA4先检查用户的FI容差组 OB57查看分配用户给容差组,确认是否书写正确的容差组。

《疫情下的编程岁月》序言导读目录

导读 《疫情下的编程岁月》是一部为初学者编写的编程指南,作者是一名 13 岁的编程学习者和优质技术博主。在这部指南中,作者分享了自己在过去 5 年里学习编程技术的经历,并提供了宝贵的建议和技巧,帮助初学者更好地了解编程学习的…

math@间断点@微积分基本定理@变限积分求导公式

文章目录间断点第一类间断点跳跃间断点可去间断点例第二类间断点微积分定理第一基本定理变上限积分函数的导数定积分的角度原函数存在定理😊应用例例微积分第二基本定理变限积分求导公式例math间断点微积分基本定理变限积分的求导公式 间断点 第一类间断点 跳跃间…

SwiftUI开源库之 什么是 Lottie?Airbnb 的跨平台开源库,用于渲染矢量运动图形

什么是 Lottie Lottie是 Airbnb 的跨平台开源库,用于渲染矢量运动图形。我们在 Airbnb 广泛使用 Lottie,它还为整个行业的数千个其他应用程序中的动画提供支持。 发布了适用于 iOS 的Lottie 4.0 。这个主要的新版本通过由 Core Animation 提供支持的全新渲染引擎,为所有 L…

Flutter开发:仿iOS侧滑删除效果的实现

前言 在Flutter开发中,基于原生移动端开发的思想也会运用到混合开发中,尤其是原生移动的的好的特性和交互效果更是如此。在现在的发展情况下,Flutter下的混合开发已经越来越替代原生移动的开发,同时也会继承原生开发的优点&#x…

5年Java经验,定级阿里P7,所有经验全在这份Java核心知识笔记里了

前言 今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这次…

编译和使用hadoop遇到的问题——问题随手记【持续更新】

文章目录编译hadoop遇到的问题java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformNamejava.lang.ClassNotFoundException: org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos\$MasterService\$BlockingInterfacejava.lang.ClassNotFoundExceptio…

坚持长期主义 上汽大众ID.纯电品牌迎来加速发展阶段

那些真正能够引领行业发展和变革,并能够持续存活下去的企业,一定是以长期主义作为导向的。 2022年11月,上汽大众ID.纯电家族以月销近万辆、累计销量超10万辆的数据,演绎了一个坚持长期主义汽车大厂的“英雄本色”。长期主义是对抗…

R语言LME4混合效应模型研究教师的受欢迎程度

介绍 最近我们被客户要求撰写关于混合效应模型的研究报告,包括一些图形和统计输出。本教程对多层回归模型进行了基本介绍 。 相关视频:线性混合效应模型(LMM,Linear Mixed Models)和R语言实现 线性混合效应模型(LMM,Linear Mixed Models)和R语言实现…

结构化思维的理解与思考

结构化思维是一种将信息要素从无效转化为有序,提炼核心要点,将信息转化为有结构的知识,更好的帮助大脑理解和记忆,并支持我们清晰表达的通用能力。前言首先,我们先来完成一个游戏,以下有9个计算式&#xff…

微服务应用视角解读如何选择K8S的弹性策略

前言 微服务架构的出现,拆分了庞大的单体应用,让业务之间的开发与协作变得更加灵活。当面临业务流量增加的场景时,往往需要对一些应用组件进行扩容。K8S在应用层面提供了HPA,围绕HPA开源社区延伸出了KEDA这样的弹性组件&#xff…