linux的基本文件类型有哪几种

linux的基本文件类型有5种:1、普通文件,是指不包含有文件系统信息的结构信息的文件,是用户所接触到的文件;2、目录文件,是用于存放文件名以及其相关信息的文件,可以包含下一级文件目录或普通文件,是内核组织文件系统的基本节点;3、链接文件,是指向一个真实存在的文件链接;4、设备文件,作用是访问外部设备;5、管道文件,作用是用于不同进程的信息传递。

linux的基本文件类型有哪几种

本教程操作环境:linux7.3系统、Dell G3电脑。

Linux 中一切皆为文件,文件类型也有多种,使用 ls -l 命令可以查看文件的属性,所显示结果的第一列的第一个字符用来表明该文件的文件类型,如下:

linux的基本文件类型有哪几种

1、普通文件

linux中普通文件是指不包含有文件系统信息的结构信息的文件,是用户所接触到的文件,如数据文件、文档文件、音频文件等。

使用 ls -l 命令后,第一列第一个字符为 “-” 的文件为普通文件,如上图所示,普通文件一般为灰色字体,绿色字体的是可执行文件,红色字体的是压缩文件。

文件的权限:

  以普通文件为例,使用 ls -l 命令,可以看到结果的第一列是 -rwxrwxrwx 的形式,其中第一个字符 “-” 表示这个文件为普通文件,它也可以是其他的字符,不同的字符代表不同类型的文件。其后的一串字符表明了该文件的权限,其中:

1)r 表明该文件具有可读权限,若该位置为 “-” ,则表明文件不可读;

2)w 表明该文件具有写权限,若该位置为 “-” ,则表明文件不可写;

3)x 表明该文件具有可执行权限,若该位置为 “-” ,则表明文件不具有可执行权限;

4)第一个 rwx 表示该文件的所有者对该文件的权限;第二个 rwx 表示该文件所属组对该文件的权限;第三个 rwx 表示其他用户对该文件的权限。

创建一个普通文件:

  可以使用 touch 命令来创建一个文件:

touch newfile

删除一个普通文件:

  可以使用 rm 命令来删除一个文件:

rm newfile

2、目录文件

Linux 中的目录也是文件。linux中目录文件是用于存放文件名以及其相关信息的文件,可以包含下一级文件目录或普通文件,是内核组织文件系统的基本节点。

目录文件中保存着该目录下其他文件的 inode 号 和文件名等信息,目录文件中的每个数据项都是指向某个文件 inode 号的链接,删除文件名就等于删除与之对应的链接。目录文件的字体颜色是蓝色,使用 ls -l 命令查看,第一个字符为”d”(directory)。

目录文件的权限

1)r 表明该目录文件具有可读权限,即可以使用 ls 命令查看该目录的存储情况;

2)w 表明该目录文件具有写权限,即可以往该目录下添加、修改、删除文件;

3)x 表明该目录文件具有可执行文件,即可以使用 cd 命令进入到该目录下。

  可以使用 chmod 指令来改变文件的权限。

创建一个目录:

  可以使用 mkdir 命令来创建一个目录文件:

mkdir directory

删除一个目录:

文心大模型 文心大模型

百度飞桨-文心大模型 ERNIE 3.0 文本理解与创作

文心大模型 56 查看详情 文心大模型

  可以使用 rmdir 命令来删除一个空目录:

rmdir directory

  如果该目录下有其他文件,则可以使用 rm -r 命令来递归删除该目录下的所有文件。需要注意的是,使用该命令将会删除该目录及目录下的所有数据,过程不可逆,需要谨慎使用:

rm -r directory

3、链接文件

linux中链接文件是指向一个真实存在的文件链接,是一种特殊文件,链接文件可以分为硬链接文件和符号链接文件两种。

链接文件一般指的是一个文件的软连接(或符号链接),使用 ls -l 命令查看,第一个符号为  “l”,文件名为浅蓝色,如下:

linux的基本文件类型有哪几种

这里,test_softlink 就是一个链接文件,从结果上还可以看到它是文件 test.txt 的软链接,删除原文件 test.txt 的话,对应的软链接文件 test_softlink 也会消失。可以使用 ln 命令来创建一个文件的链接文件:

1)软链接

  软链接(又称符号链接),使用 ln -s file file_softlink 命令可以创建一个文件的软链接文件:

ln -s test.txt test_softlink

  软链接相当于给原文件创建了一个快捷方式,如果删除原文件,则对应的软链接文件也会消失。

2)硬链接

  硬链接,相当于给原文件取了个别名,其实两者是同一个文件,删除二者中任何一个,另一个不会消失;对其中任何一个进行更改,另一个的内容也会随之改变,因为这两个本质上是同一个文件,只是名字不同。使用 ls -i 命令查看,可以发现硬链接的两个文件的 inode 号是一样的:

linux的基本文件类型有哪几种

  同样的,使用 ln 命令可以创建一个文件的硬链接:

ln test.txt test_hardlink

4、设备文件

Linux 中的硬件设备如硬盘、鼠标等也都被表示为文件,即为设备文件。

linux中设备文件的作用是访问外部设备,是一种特殊文件,设备文件可以为外部设备提供标准接口。

设备文件一般存放在 /dev/ 目录下,文件名为黄色,如下:

linux的基本文件类型有哪几种

设备文件分两种:

1)块设备文件:

  块设备文件支持以块(block)为单位的访问方式。在 EXT4 文件系统中,一个 block 通常为 4KB 的大小,也就是说每次可以存取 4096(或其整数倍) 个字节的数据。应用程序可以随机访问块设备文件的数据,程序可以自行确定数据的位置,硬盘、软盘等都是块设备。使用 ls -l 命令查看,块设备文件的第一个字符是 “b”(block)。

2)字符设备文件:

  字符设备文件以字节流的方式进行访问,由字符设备驱动程序来实现这种特性,这通常要用到 open、close、read、write 等系统调用。字符终端、串口和键盘等就是字符设备。另外,由于字符设备文件是以文件流的方式进行访问的,因此可以顺序读取,但通常不支持随机存取。使用 ls -l 命令查看,字符设备文件的第一个字符是 “c”(char)。

5、管道文件(FIFO文件)

linux中管道文件的作用是用于不同进程的信息传递,常用于两个进程的数据或信息传递,管道文件一般建立在调整缓存中。

使用 ls -l 命令查看,第一个字符为 “p”(pipe)。可以使用 mkfifo 命令来创建一个管道文件:

mkfifo fifo_file

linux的基本文件类型有哪几种

在 FIFO 中可以很好地解决在无关进程间数据交换的要求,FIFO 的通信方式类似于在进程中使用文件来传输数据,只不过 FIFO 类型的文件同时具有管道的特性,在读取数据时,FIFO 管道中同时清除数据。 

相关推荐:《Linux视频教程》

以上就是linux的基本文件类型有哪几种的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/321130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
多模态AI能看图说话吗 上传图片并生成描述的基本操作
上一篇 2025年11月5日 09:51:37
宝宝巴士就儿歌 App 推送低俗广告致歉:系第三方平台接入,已全部下线
下一篇 2025年11月5日 09:51:44

相关推荐

  • Java javac 命令与当前工作目录解析

    在Java编译环境中,javac命令的“当前目录”指的是命令被执行的物理位置,而非源文件所在的目录。理解这一概念对于正确配置和管理Java项目的编译路径至关重要,特别是当默认的classpath设置为.时,它决定了编译器查找类文件的起点。 1. javac 命令与当前工作目录的定义 在操作系统中,当…

    2026年9月23日
    100
  • Bash Shell 中单引号和双引号的区别

    Bash Shell 中单引号和双引号的区别Bash Shell 中单引号和双引号的区别Bash Shell 中单引号和双引号的区别Bash Shell 中单引号和双引号的区别

    在 linux 命令行中,引号是处理文件名中的空格和特殊字符的常用工具。引号在 shell 脚本中具有“特殊功能”,可能让初学者感到困惑。让我们详细探讨不同类型的引号字符及其在 shell 脚本中的用法。 有四种不同类型的引号字符: 单引号 ‘双引号 “反斜杠 反引号 ` 除…

    2026年9月23日 用户投稿
    500
  • Linux中如何查看服务日志?journalctl与syslog使用指南

    Linux中如何查看服务日志?journalctl与syslog使用指南Linux中如何查看服务日志?journalctl与syslog使用指南Linux中如何查看服务日志?journalctl与syslog使用指南Linux中如何查看服务日志?journalctl与syslog使用指南

    排查linux服务问题时,首选journalctl或syslog类系统查看日志。journalctl适用于systemd系统,可查看内核消息、服务启动输出等,支持按时间、单元、优先级过滤;syslog适用于传统系统,需服务主动发送日志,支持集中管理。掌握两者使用能有效定位问题。 在Linux系统中排…

    2026年9月23日 用户投稿
    100
  • Reflection AI 完成 20 亿美元融资,打造“开放智能”

    美国人工智能初创企业 reflection ai 宣布成功募集 20 亿美元资金,其中英伟达领衔投资 8 亿美元,推动公司估值跃升至 80 亿美元。这家成立仅一年的科技新星,致力于打造“人人可及的前沿开放智能(open intelligence)”。 Reflection AI 表示,已集结一支由顶…

    2026年9月23日
    500
  • [272]如何把Python脚本导出为exe程序

    [272]如何把Python脚本导出为exe程序[272]如何把Python脚本导出为exe程序[272]如何把Python脚本导出为exe程序[272]如何把Python脚本导出为exe程序

    文章目录:一. PyInstaller简介二. PyInstaller在Windows下的安装三. 打包四. 小实例(Windows下) 附加:pyinstaller简介 PyInstaller能够将Python脚本打包成可执行程序,使得在没有Python环境的机器上也可以运行这些程序。 PyIns…

    2026年9月23日 用户投稿
    100
  • VSCode搭建Flutter开发环境(移动开发,完整配置指南)

    本文详细指导如何在VSCode中搭建高效的Flutter开发环境,包括安装JDK、配置JAVA_HOME、安装Android Studio并设置ANDROID_HOME、安装VSCode及Flutter和Dart插件、配置FLUTTER_HOME环境变量,通过flutter doctor检查并解决A…

    2026年9月23日
    100
  • 渗透测试|利用curl回传文件

    在处理低权限shell回传文件的问题时,如果无法使用scp命令且无法安装sshpass,可以考虑使用curl命令进行文件传输。以下是详细的伪原创内容: 至少我们曾经在一起过。 来自:一言 var xhr = new XMLHttpRequest();xhr.open(‘get’, ‘https://…

    2026年9月23日
    200
  • VSCode如何配置Scala开发环境 VSCode搭建Scala项目的完整教程

    首先安装jdk 11或17并正确配置java_home和path环境变量;2. 通过包管理器或官网安装sbt,用于项目构建与依赖管理;3. 在vscode中安装scala (metals)插件,以获得代码补全、错误检查等语言服务;4. 使用sbt new scala/scala-seed.g8创建项…

    2026年9月23日
    100
  • 无代码调整聚类热图分支顺序

    无代码调整聚类热图分支顺序无代码调整聚类热图分支顺序无代码调整聚类热图分支顺序无代码调整聚类热图分支顺序

    聚类热图的分支结构会因不同的聚类算法和距离计算方式而有所不同。在保持分支结构不变的前提下,我们有时需要调整热图分支的顺序,以满足特定的需求。这就是文章聚类热图如何按自己的意愿调整分支顺序的出发点。 现在,这种功能已经移植到BIC平台,具体操作如下: 使用之前的绘图数据: 采用默认的绘图参数: 生成的…

    2026年9月23日 用户投稿
    300
  • Java中ConnectException连接异常的解决方法

    答案:Java中ConnectException通常因服务未启动、网络不通或配置错误导致,需检查服务状态、IP端口配置及防火墙设置,并合理设置连接超时与重试机制。 Java中出现ConnectException通常表示应用程序尝试连接到远程服务器时失败,最常见的原因是目标主机拒绝连接或网络不通。这个…

    2026年9月23日
    200
  • VSCode高效配置Elixir:Phoenix框架、中文提示、模式匹配

    要高效配置vscode支持elixir开发,必须安装elixirls扩展并确保elixir和erlang环境正确;elixirls提供代码补全、跳转、格式化和调试功能,配合手动设置.heex、.leex文件关联为html可优化phoenix框架开发体验;通过安装中文语言包、设置files.encod…

    2026年9月23日
    200
  • 鸿蒙3.0将删除谷歌代码,只是为让国产系统更纯粹

    鸿蒙3.0将删除谷歌代码,只是为让国产系统更纯粹鸿蒙3.0将删除谷歌代码,只是为让国产系统更纯粹鸿蒙3.0将删除谷歌代码,只是为让国产系统更纯粹鸿蒙3.0将删除谷歌代码,只是为让国产系统更纯粹

    作为“聚光灯下诞生的国产系统”,华为鸿蒙系统自诞生之日起就引发了激烈的争论。尽管鸿蒙系统已升级至3.0版本,但关于“鸿蒙系统是否是安卓套壳”的讨论依然是焦点。不过,这可能并不是问题的核心。 鸿蒙系统是套壳吗?对于如今的国内科技企业来说,开发一个系统并不困难。然而,为什么最终存活下来的只有MIUI、F…

    2026年9月23日 用户投稿
    100
  • 分享一个服务器一键测试脚本

    superbench是一个测试linux服务器性能的脚本,让你快速方便了解一台服务器的综合性能,支持硬件基本信息、流媒体解锁检测、磁盘io检测、cpu性能测试、以及国内和国外网络测速、网络路由追踪。 以上就是分享一个服务器一键测试脚本的详细内容,更多请关注创想鸟其它相关文章!

    2026年9月22日
    200
  • Linus Torvalds 批评 Rust 代码格式化工具:称其“完全疯狂”

    近日,linux创始人linus torvalds在linux内核邮件列表中对rust语言的代码格式化工具rustfmt提出了尖锐批评,称其行为“完全疯狂”。 他提到,在Rust代码中,类似use crate::xyz;这样的导入语句,在经过自动格式化后经常被合并为一行,导致原本清晰的结构变得混乱,…

    用户投稿 2026年9月22日
    300
  • 解决TCPDF保存文件权限问题的完整指南

    本文旨在解决使用tcpdf在%ignore_a_1%中生成pdf并保存到服务器(’f’模式)时遇到的“permission denied”错误,尤其是在macos环境下。核心问题通常源于不正确的服务器文件路径或目标文件夹缺乏写入权限。教程将详细阐述如何构建正确的绝对文件路径,…

    2026年9月22日
    300
  • LINUX如何安全地关闭系统_LINUX正确的关机与重启命令

    使用shutdown命令可安全关机,如sudo shutdown -h now立即关机,或+5表示5分钟后关机,-c取消计划;2. poweroff立即断电;3. halt停止系统运行,加–poweroff关闭电源;4. reboot重启系统,也可用shutdown -r +3延迟重启;…

    2026年9月22日
    100
  • MySQL服务无法启动怎么办?常见解决方法

    MySQL服务无法启动怎么办?常见解决方法MySQL服务无法启动怎么办?常见解决方法MySQL服务无法启动怎么办?常见解决方法MySQL服务无法启动怎么办?常见解决方法

    mysql服务无法启动常见原因包括配置错误、端口占用、数据文件损坏或权限问题。解决方法如下:1. 查看错误日志,定位问题根源;2. 检查配置文件是否存在语法错误或路径问题;3. 确认端口(如3306)未被占用;4. 核查数据目录的权限与完整性;5. 必要时修复或重置数据目录,甚至重新安装mysql。…

    2026年9月22日 用户投稿
    100
  • Linux内核13-进程切换

    进程切换,也称为任务切换、上下文切换或任务调度,本文将探讨linux内核中进程切换的实现。我们首先理解几个关键概念。 1.1 硬件上下文 每个进程都有自己的地址空间,但所有进程共享CPU寄存器。因此,在恢复进程执行前,内核必须确保挂起时的寄存器值被重新加载到CPU寄存器中。 这些需要加载到CPU寄存…

    2026年9月22日
    300
  • 如何修改MySQL的默认端口号?

    如何修改MySQL的默认端口号?如何修改MySQL的默认端口号?如何修改MySQL的默认端口号?如何修改MySQL的默认端口号?

    修改mysql默认端口号需编辑配置文件,核心步骤为:1.定位my.cnf或my.ini文件;2.在[mysqld]段落中修改或添加port参数;3.保存后重启mysql服务。更改端口主要出于避免冲突、提升安全性和适应网络策略考虑。连接时需在客户端工具或代码中指定新端口,如命令行加-p参数、编程语言连…

    2026年9月22日 用户投稿
    1300
  • 在 Linux 中如何强制停止进程?kill 和 killall 命令有什么区别?

    在日常工作中,您可能会遇到两个用于在 linux 中强制结束程序的命令:kill和killall。虽然许多 linux 用户熟悉kill命令,但使用killall命令的人相对较少。尽管这两个命令名称相似且目的相同(终止进程),但它们在使用方式和效果上有显著区别。 那么,kill和killall之间有…

    2026年9月22日
    200

发表回复

登录后才能评论
关注微信