Unix / Linux 文件系统

Linux/Unix文件系统标签与UUID读取编程实战 本文还有配套的精品资源,点击获取 简介:本文件可能包含了用于Linux和Unix系统的编程项目或工具,其内容聚焦于读取文件系统的标签和UUID。文件系统的标签是可选的标识字符串,而UUID是全球唯一的128位数字,对于自动挂载文件系统至关重要。开发者可以通过系统调用如 statfs() 或使用库如 libuuid 来访问这些信息。本项目可能涉及到... 阅读详情

作为一名电脑使用者,不懂图形化操作文件系统就不算会使用电脑。那么作为一名程序员,如果不懂命令行操作 Linux 文件系统,就不敢说自己是一名合格的程序员。我们工作中使用 Unix / Linux 作为应用程序服务器,无非就是把我们编写好的软件部署到远程服务器,其中少不了对文件的各种操作,如果你不会操作文件那么将寸步难行。接下来我们来认识一下 Unix / Linux 文件系统。

1. 本地文件系统

在这里我们将讨论面向本地磁盘的文件系统(硬盘,CD-ROM,DVD-ROM,USB)。这类文件系统UFS(Unix File System),FAT(File Allocation File 通常是 Windows 和 DOS 系统的文件系统),NTFS(New Technology File System,通常是 Windows NT,2000,XP 的文件系统),UDF(Universal Disk Formt 通常是 DVD 文件系统),HFS+(Hierarchical File System 分级文件系统,例如 Mac OS X),ISO9660 通常为 CD-ROM 文件系统 和 EXT2 扩展文件系统(它是 Linux 默认的内核文件系统)等等。

说了这么多,那我们使用的虚拟机中的 CentOS 7 使用的是什么类型的文件系统呢?使用 df -T 来查看一下。

从 Type 一列我们看到它使用了 xfs 文件系统,这是一种高性能的日志文件系统,诞生于 1993 年,在 2000 年被移植到 Linux 系统上。上面介绍的都是面向磁盘的本地文件系统,其实还有面向网络的和临时的虚拟文件系统,例如上图中的 tmpfs 就是一种面向内存的临时文件系统。

2. 目录结构

要想熟练操作文件就必须了解系统的目录结构,Unix / Linux 使用分层的文件系统结构,"/" 是文件系统的根基,其他的所有的目录都是从这里开始。我们使用 tree 命令来查看从根目录开始的目录结构,只显示一层深度。如下:

bin 目录主要存放二进制可执行文件,例如上一篇文章我们使用的 passwd,cat,vi 等程序。boot 目录存放用于启动系统的文件。dev 目录存放设备文件。etc 目录存放系统配置文件,如 用户信息,hosts 信息。lib 存放共享库的文件。media 存放挂在的媒体文件。mnt 存放挂在的移动设备文件。opt 额外安装的软件可以指定安装到该目录下,便于管理。proc 存在系统当前正在运行的进程信息。root 我的系统用户主目录。run 未查到相关信息。sbin -> usr/sbin 存放系统管理的必须程序。srv 存放用户主动产生的文件,对外服务。sys 存放全局设备文件,例如总线控制等。tmp 存放临时文件。usr 可以存放任意的文件,例如被很多用户使用的联机帮助页。var 存放长度可变的文件,例如日志文件。

3. 常用的命令

要想操作文件,必须先学会文件系统的导航。接下来了解几个常用的导航命令吧!

  • pwd 显示当前所在的目录,我们执行命令的时候需要确认当前目录是否是我们预想的目录,因此这个命令经常使用。如下显示我们现在位于 /root 目录
  • cd(Change Directory)去到任何我们想去的目录,如我们想去到 /etc目录:
  • which 和 whereis,我们平常使用的一些工具,假如我们想知道他们真正位于什么目录,可以使用 which。例如我们想知道 cd 工具位于什么目录,可以如下操作: which 和 whereis 的不同之处在于 which 搜寻环境变量 PATH 里面指定的内容,whereis 将在 PATH 和 MANPATH 指定的目录中查找。
  • find 查找目录或者文件,例如我们需要在 /root 目录下去查找一个叫做 test 的文件:
  • file 查看文件的类型,例如查看 test 是什么类型的文件,显示结果为一个文本文件
  • ls 显示目录中的内容,假如我们想查看根路径的内容,则可以如下操作: -l 参数可以显示出文件的对应的详细内容,所有者,权限,大小,上次更改时间,符号链接。同时我们也可以加上 -a 参数显示所有文件,包括 . 开头的隐藏文件。

4. 文件的类型

也许你已经注意到了,用 ls 命令列出来的文件中的最左边有一些信息。例如 drwxr-xr-x,第一位代表的就是文件的类型,后面的9位代表的文件的权限。- 代表这是一个文本文件,或者可执行文件。b 代表这是一个块文件,例如硬盘。c 字符设备文件,如硬盘。d 代表这是一个目录文件。l 代表这是一个符号链接,可以理解为 Windows 系统中的快捷方式。p 代表这是一个管道,用于通讯。s 代表这是套接字,用于通讯。由于我们平时操作会用到符号链接,因此我们简要介绍下符号链接。Unix / Linux 使用 inode 来引用文件而不是文件名,inode 在一个分区中是唯一的。符号链接有 2 种,硬链接 和 软连接。首先我们来创建一个文件,然后分别为它创建一个硬链接和一个软连接。

接下来我们分别对源文件,硬链接,软链接进行写入操作,我们会发现,对它们中任何的一个的写入操作在其他的上面都会反映出来。

既然效果都一样,那么软链接和硬链接究竟有什么区别呢?硬链接使用 inode 来实现,软链接使用文件名来实现。因此,如果我们删除 file 文件,然后创建一个新的 file 文件。此时我们的软链接是依然生效的,而硬链接已经失效了。如下实验数据:

5. 文件的权限

我们使用 ls -l 命令查看文件的时候,最左边开始的字符串反映了文件的权限,如下例:

如上图我们可以清楚的明白各个用户对于文件的权限在哪里查看,那么对应的 r,w,x 分别就是读,写,执行权限。我们可以使用 chmod(change mode)来更改文件的权限,操作的时候有 2 中选择,一种是使用符号模式,即rwx,另外一种是绝对模式用8 个数字分别代表一种权限。使用 chmod 用户(a/u/g/o)+/- 权限(rwx) 文件名 命令格式来操作文件权限,实验结果:

同时我们也可以使用绝对模式来操作文件权限,例如 chmod 777 file,代表所有用户都用于对 file 文件的最大操作权限。绝对模式的数字代表的含义如下:

0 无权限,1 执行权限,2 写入权限,3 执行和写入权限,4 读取权限,5 读取和执行权限,6 读取和写入权限,7所有权限。此处留一道脑筋急转弯,为啥不用 3 代表 读取权限呢?

6. 查看文件

程序出错以后难免要去查看日志文件,此时查看文件的命令就尤为重要。我们可以使用 cat,more,less,head,tail等命令查看文件内容。cat 将内容一股脑全部打印在屏幕上,不适合查看内容多的文件。此时使用 more 就可以,查看完后按 enter 键,继续显示下一行,less 命令更加强大,可以使用 上下方向键来移动。head 查看文件头部的内容,tail查看尾部的内容。在查看一些不断输出的日志文件时候,我们可以使用 tail -f 命令来不断刷新显示的内容。

7. 查看分区空间使用率

如果有个笨蛋程序员写了一个死循环的程序,那么避免不了产生一个超级大日志文件撑爆服务器。那么我们如何查看分区的空间使用率呢?df(disk free)显示磁盘使用情况,例如:df -k

掌握以上命令以后,我们已经可以对 Unix / Linux  系统的文件一顿操作了,但是强大的系统远不止这点命令,就让我们在实战的过程中,边用边学习吧。

 

掌握Unix/Linux文件系统导航技巧 本文将详细探讨Unix/Linux系统中的文件和目录管理,包括绝对路径与相对路径的使用、目录结构的导航、查看和改变工作目录的命令、以及如何利用ls命令查看目录内容和文件属性。通过这些基础知识,读者将能够更有效地在Unix/Linux环境中工作。 阅读详情

相关推荐

SpringBoot不用三方框架,怎么动态调度定时任务,ScheduledExecutorService 详解

Spring Boot 提供了强大的定时任务支持,无需依赖任何第三方框架,即可轻松实现可配置的定时任务。通过使用 `@EnableScheduling` 注解启用定时任务支持后,我们可以利用 `@Scheduled` 注解来定义定时任务的方法,这些方法可以在指定的时间间隔或特定时间点自动执行。 我们还可以通过集成 `ScheduledExecutorService` 来实现灵活的定时任务管理。`ScheduledExecutorService` 是 Java 标准库的一部分,能够以固定速率或延迟执行任务,

横竖撇折点 1939

UNIX:文件系统

在Unix和类Unix系统中,inode(索引节点)是一个非常核心的概念,它是文件系统中的一个数据结构,用于存储文件或目录的元数据(metadata),除了文件的内容以外的所有信息。每个文件或目录在文件系统中都有一个与之对应的inode,其中包含了该文件的各种属性信息。

m0_61243666的博客 708

一款值得关注的开源企业管理ERP系统

盒木ERP是一款开源的现代化企业管理系统,采用前后端分离架构,后端基于Python+Django,前端使用Vue+Ant Design。系统涵盖采购、销售、库存、财务等核心业务模块,支持移动端操作和PDA扫码。具有开源免费、技术先进、功能完善等特点,适合中小企业使用或二次开发。项目提供详细部署指南,支持Docker容器化部署,是学习ERP系统开发和企业数字化转型的优秀选择。

1108

UNIX基础知识:UNIX体系结构、登录、文件和目录、输入和输出、程序和进程、出错处理、用户标识、信号、时间值、系统调用和库函数

操作系统可被定义为一种软件,它控制计算机硬件资源,提供程序运行的环境。我们通常将这种软件称为内核(kernel),因为它相对较小,而且位于环境的核心。内核的接口被称为系统调用(system call),公用函数库构建在系统调用接口之上,应用程序可以使用公用函数库提供的接口,也可以使用内核提供的接口(系统调用)。shell 是一个特殊的应用程序,为运行其他应用程序提供了一个接口。

天道酬勤 2655

【COMSOL】修改内置物理场方程 模拟水沸腾的蒸汽泡运动

在COMSOL中通过弱贡献(weak contribution)节点,可以向任何内置模型方程中添加约束。这里,以模拟水沸腾的蒸汽泡运动为例,来讲一讲当我们研究的方程与模块方程不一样时,应该怎么增加新的贡献项。

u012161192的博客 9011

Carla-UE4Editor导入RoadRunner地图文件(保姆级教程)

以Carla官网导入RoadRunner地图的标准文档为参考,里面增添了很多细节和注意事项,遇到问题的小伙伴过来看看吧。

DSK_981029的博客 1万+

文件管理(以Unix系统为例)

文章目录1) 什么是文件?2)如何管理文件的信息?3)什么是目录?4)如何管理目录?5)文件如何使用?6)文件的权限管理7)什么是文件系统?8)使用文件系统9)备份与恢复10)硬盘的结构 图片均来自网络,如有侵权,请告知删除。 1) 什么是文件? 如何把数据长期的存储在外部储存介质之上(比如硬盘) 什么是文件 一组相关数据的集合。 在操作系统眼中,文件是一个字节流(或者是一个字符流) 文件...

Pure_vv的博客 2150

Autosar 下电过程-基于ETAS工具

本文介绍基于ETAS工具对应的BIP包的下电过程,仅供参考。在最后调用SBC下电时,需要理清楚SBC的休眠流程,否则可能会出现休眠又唤醒情况。后面有空会介绍9471的休眠流程。

赞的博客 812

7.5 文件系统

简要介绍文件系统的基础概念。

wwwyuewww的专栏 1019

6、基于深度强化学习的无人机路径规划

本文介绍了一种结合人工势场法的改进DQN深度强化学习算法在无人机路径规划中的应用。通过设计合理的网络结构、状态空间、动作空间和融合引力-斥力机制的奖励函数,实现了无人机在复杂环境中的自主避障与目标导向飞行。采用轻量级神经网络提升实时性,并在Gazebo仿真环境中进行训练与测试,结果表明该算法具有快速收敛、高成功率和良好适应性。实验评估指标包括损失函数、最大Q值和任务成功率,验证了方法的有效性。文章还探讨了其在物流配送、农业植保和环境监测等领域的应用前景,并展望了多无人机协同与复杂环境适应性等未来研究方向。

html8的博客 241

深度解析大众点评反爬机制:构建高可用店铺评论采集系统(2026最新实战)

在中文互联网数据采集领域,大众点评(现归属美团)始终占据着特殊地位。其丰富的UGC(用户生成内容)包含了超过2亿条真实店铺评论、数百万家商户的详细POI信息以及用户行为数据,对商业分析、口碑监测、本地生活趋势研究具有不可替代的价值。然而,大众点评的安全团队投入了顶级资源构建反爬系统——从请求签名、行为验证到设备指纹,其防御强度甚至超过多数电商平台。本文将完整呈现一套2026年依然有效的技术方案,包括破解核心参数_token、动态代理池维护、无头浏览器指纹伪装等,最终产出一个生产级采集框架。目录。

2201_76125261的博客 813

Unix环境高级编程-文件系统详解

文件系统: 知识性的内容 一、目录和文件 1、获取文件属性 stat,fstat,lstat stat:通过文件路径,获取属性,面对符号链接文件时,获得的是所指向的文件的属性 fstat:通过文件描述符获取属性, lstat:面对符号链接文件时,获取的时符号链接文件的属性 2、文件访问权限 st_mode是一个16位的位图,用于表示文件类型,文件访问权限 以及特殊权限位 3、umask 作用:防止产生权限过松的文件,与某一个数做 & 运算 终端:umask 查看umask的值,可以修改 4、文

NINE_world的博客 1136

开放平台实现安全的身份认证与授权原理与实战:使用OAuth 2.0实现授权码模式

作者:禅与计算机程序设计艺术 1.背景介绍 随着互联网应用的飞速发展,各种网站、App、小程序等都将逐渐向用户提供了丰富的功能和服务。在这些应用中,用户通常需要登录才能使用这些服务,这就涉及到用户信息的安全问题。如果用户的信息被泄露或篡改,那么可能造成严重后果。因此,为这些应用提供安全且健壮的身份验

AI天才研究院 494

Unix/Linux文件系统

Unix/Linux文件系统 什么是文件系统?   文件系统是以合理有效的层次结构组织的文件和目录的集合。 Linux系统特性 “一切皆是文件”,在Linux系统中,无论是普通文件、目录、设备(字符设备、块设备)、套接字,都是文件。 类型不同的文件都通过相同的API操作。 Unix/Linux允许不同的文件系统共存,常见的文件系统(ext2/ext3/ext4/xfs/btrfs) 跨文件系统c...

Bsj' blog 354

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【Unix/Linux】文件系统介绍 入门

Unix Linux 文件系统 介绍

Aquaman_的博客 990

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

如何操作 Unix / Linux 文件系统

作为一名电脑使用者,不懂图形化操作文件系统就不算会使用电脑。那么作为一名程序员,如果不懂命令行操作 Linux 文件系统,就不敢说自己是一名合格的程序员。我们工作中使用 Unix / L...

SuperStonne的专栏 192

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Unix/Linux编程:/proc文件系统

类似于其他的几种Unix实现,Linux也提供了/proc文件系统,由一组目录和文件组成,挂载(mount)在/proc目录下 /proc文件系统是一种虚拟文件系统,以文件系统目录和文件组成,提供一个指向内核数据结构的接口。这为查看和改变系统属性开启了方便之门。 另外,还能通过一组以/proc/PID形式命名的目录(PID 即进程 ID)查看系统中运行各进程的相关信息 通常,/proc 目录下的文件内容都采取人类可读的文本形式,shell 脚本也能对其进行解析。程序可以打开、读取和写入/proc 目录下

OceanStar的博客 1109

Unix / Linux 文件系统操作

作为一名电脑使用者,不懂图形化操作文件系统就不算会使用电脑。那么作为一名程序员,如果不懂命令行操作 Linux 文件系统,就不敢说自己是一名合格的程序员。我们工作中使用 Unix / Linux 作为应用程序服务器,无非就是把我们编写好的软件部署到远程服务器,其中少不了对文件的各种操作,如果你...

chixiao9740的博客 164

如何理解linux的文件系统,到底该如何理解Unix/Linux的文件系统?看这篇就知道了...

上周在部署 rails 应用时遇到一个和文件权限有关的问题,后来通过查阅 “UNIX/Linux 系统管理技术手册” 这本书解决了问题, 解决问题后, 觉得不能浅尝而止于是又花了些时间把”UNIX/Linux 系统管理技术手册” 这本书的第 6 章” 文件系统” 读了几遍, 读完了还是觉得有些不过瘾, 那就写个读书笔记吧。文件树的组织关于 UNIX 家族的文件系统的组织说的好听点是约定优于配置,说...

weixin_39575007的博客 131

unix/linux系统中文件分为哪些类型?,到底该如何理解 Unix/Linux 的文件系统?看这篇就知道了...

原标题:到底该如何理解 Unix/Linux 的文件系统?看这篇就知道了作者:舠

weixin_32613887的博客 358

到底该如何理解 Unix/Linux 的文件系统?看这篇就知道了

作者:舠原文地址:https://baya.github.io/2015/01/18/%E7%90%86%E8%A7%A3Unix-Linux-%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.html上周在部署 rails 应用时遇到一个和文件权限有关的问题,后来通过查阅 “UNIX/Linux 系统管理技术手册” 这本书解决了问题, 解决问题后, 觉得不能浅尝而止于是又

运维派 468

主流Linux/Unix文件系统架构简介

原文地址: http://blog.chinaunix.net/uid-28989651-id-3833383.htmlLinux/Unix文件系统主流架构包括以下几种:(1) FFS-style文件系统:代表文件系统有最初的BerkeleyFFS和Ext2,具有的优点是简单、高性能、易于修复和恢复数据,但是每次系统崩溃需要全盘fsck,无数据一致性保障,无正规的防御磁盘崩...

weixin_33671935的博客 130

linux inode目录,Unix/Linux文件系统

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?1. 简介:文件和Inodes在Unix/Linux中,文件是没有结构的一个字节序列。文件中控制数据的程序(比如mysql)会添加任何所需要的结构。linux自己并不需要知道数据库文件的内部结构,对于linux而言只需要返回字节(bytes)1.1 甚至硬件设备都有文件名Unix/Linux尽可能的将每个设备都当做一系列...

weixin_29533307的博客 393

Unix/Linux文件系统的目录结构

完美解读Linux中文件系统的目录结构   发布时间:2007.03.16 03:28

涅 磐 1万+
上一篇: Unix / Linux 系统用户管理
下一篇: 定制 Shell 工作环境
hacker_nick
博客等级 码龄8年 12粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值