CentOS8基础篇2:文件系统

2023-11-10

一、文件系统概述

1.文件系统的基本概念

操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。它规定了文件的存储方式及文件索引方式等信息。文件系统主要由三部分组成,分别是与文件管理相关的软件、被管理的文件和实施文件管理所需的数据结构。

2.文件系统类型

xfs是CentOS 8默认的文件系统类型。

ext2是Linux自带的文件系统类型,Linux在早期的发行版本中使用ext2作为默认使用的文件系统。

ext3是在ext2的基础之上发展演变而来,具有ext2没有的优点。

Reiserfs是SuSE Linux默认的文件系统类型。

swap文件系统在Linux中作为交换分区的文件系统使用。

网络文件系统(Network File System,NFS)。

ISO9660是光盘文件使用的标准文件系统。

二、Linux的树形目录结构

1.常用目录介绍

2.特殊目录

符号

意义

.

当前工作目录

..

父目录

~

用户主目录

-

前一个工作目录

3.文件的命名

Linux支持长文件名,最长可以达到256个字节。Linux的文件名中不能含有空格和以下特殊字符:

! @  #  ¥  % ~ & × ( ) [ ] { } ' " \ / | ; < > << >> 

Linux操作系统中的文件名和命令都需要区分大小写

4.绝对路径和相对路径

(1)绝对路径

绝对路径是以根目录为起点,完整地表示到目标文件或目录的路径。

(2)相对路径

相对路径是以当前目录为起点,完整地表示到目标文件或目录的路径。

三、Linux的文件管理命令

1.用mkdir命令创建目录

mkdir(make directory的缩写)命令用于创建新的目录,可以同时创建一个或多个目录。

命令格式:mkdir      [选项]           目录名称

选项

功能说明

-m

在创建目录时设定权限模式

-p

创建目录结构中指定的每一个目录,如果目录不存在则创建目录,如果目录已存在也不会被覆盖

-v

或--verbose:每次创建新目录都显示信息

〖例2.1〗在当前位置创建目录web。

#mkdir  web

〖例2.2〗在/home下创建目录web,假设目前位于系统的根目录中。

方法一:

#mkdir  home/web  //相对路径方法

方法二:

#mkdir  /home/web    //绝对路径方法

方法三:

#cd  home

#mkdir  web

〖例2.3〗在root用户主目录中创建目录work1和work2,在/tmp目录下创建www目录,假设目前位于root用户主目录中。

#mkdir  work1  work2  /tmp/www

〖例2.4〗在root用户主目录中创建目录树web1/web2/web3/web4,假设目前位于root用户主目录中。

#mkdir  -p  web1/web2/web3/web4

2.用cd命令切换目录

该命令用于改变当前目录,使用户进入指定的目录,并使该指定目录成为当前目录。

命令格式:  cd       [目录名称]

〖例2.5〗切换当前位置为/home

#cd  /home

〖例2.6〗目前位于系统根目录,创建/home/student目录,并进入student目录。

#mkdir  home/student

#cd  home/student

〖例2.7〗切换到当前目录的父目录。

#cd  ..

〖例2.8〗返回当前用户的主目录

方法一:

#cd

方法二:

#cd ~    //~表示主目录

3.用pwd命令查看当前路径

pwd(print working directory的缩写)命令用于显示当前目录的绝对路径。

命令格式:     Pwd

4.用ls命令查看当前目录下的信息

该命令用于列出一个或多个目录下的内容(目录或文件)。这是一个应用非常广泛的命令,支持很多的选项,以实现更详细的功能。

命令格式: ls   [选项]        [目录名称]

选项

功能说明

-a

列出目录下的所有文件,包括以 . 开头的隐含文件(all)

-d

将目录像文件一样显示,而不是显示其下的文件(directory)

-i

输出文件 i 节点的索引信息(inode)

-l

列出文件的详细信息(long)

-m

横向输出文件名,并以“,”作为分格符

-x

按列输出,横向排序

-R

列出所有子目录下的文件

-S

以文件大小排序 (Size)

-1

一行只输出一个文件 (1个文件)

--help

在标准输出上显示帮助信息

〖例2.9〗查看当前目录下的所有文件,含隐藏文件。

#ls  -a

〖例2.10〗以长格式方式查看/home目录下的所有文件信息。

方法一:

#ls  -l -a  /home

方法二:

#ll  -a  /home

5.用touch命令创建/更新文件

该命令用于创建一个新的空文本文件。

命令格式:  touch   文件名

〖例2.11〗在当前位置创建文件file1和file2。

#touch  file1  file2

6.用cp命令复制文件及目录

cp(copy的缩写)命令可用于目录或文件的复制。

命令格式:cp          [选项]  源文件   目标文件

选项

功能说明

-a

保留链接、文件属性,复制目录时可递归的复制目录

-f

如果目标文件或目录已经存在,则将其覆盖,并不作提示 (force)

-i

如果目标文件或目录已经存在,则对用户进行提示,可以用字母y确认,其他字母都是否认

-r

复制目录,实现将源目录下的文件和子目录一起复制到目标目录中

〖例2.12〗将文件file1复制到/home目录下并重命名为file2。

#cp  file1  /home/file2

〖例2.13〗将文件file1复制到/home目录下并重命名为file2,如果/home下已经存在file2文件,则备份原file2文件。

#cp  -b  file1 /home/file2

〖例2.14〗将work1目录复制到/home目录下。

#cp  -r  work1  /home

7.用mv命令移动/重命名文件及目录

mv(move的缩写)命令用于移动或重命名目录或文件。Linux操作系统中没有单独的重命名命令,因此,可利用该命令来间接实现。

命令格式: mv       [选项]  源文件   目标文件

〖例2.15〗将文件file1重命名为file2。

#mv  file1  file2

〖例2.16〗将文件file2移动到/tmp目录下并重命名为file3,如果/tmp下已经存在file3文件,则备份原file3文件。

#mv  -b  file2  /tmp/file3

〖例2.17〗将目录work2移动到/tmp目录下。

#mv  work2  /tmp

〖例2.18〗将文件file2移动到/tmp目录下并重命名为file3

#mv  file2  /tmp/file3

8.用rm命令删除文件

rm(remove的缩写)命令用来删除文件或目录。可以删除一个或多个文件或目录,也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是断开了链接,原文件保持不变。

命令格式:  rm     [选项]    目标文件

选项

功能说明

-f

强制删除文件或目录  (force)

-i

对用户进行提示,(inform)可以用字母y确认,其他字母都是否认

-r

目录删除,将指定目录下的所有文件及其子目录一并删除

〖例2.19〗删除文件file。

#rm  file

〖例2.20〗删除目录work。

#rm  -r  work

〖例2.21〗强制删除目录work。

#rm  -rf  work

9.用rmdir命令删除目录

rmdir(rmove directory的缩写)命令的删除对象必须是空目录,且必须在上级目录进行删除操作。

命令格式:rmdir  [选项] 目录名

选项

功能说明

-p

删除指定的目录树

-v

--verbose 删除目录过程中输出诊断信息

--help

显示命令帮助信息

10.用find命令查找文件

该命令用于在相应路径下查找满足条件的文件。

命令格式:find        查找目录的路径     查找条件选项   对查找条件的设定

选项

功能说明

-name

通过文件名查找文件

-user

通过用户名查找文件

-type

通过文件类型查找文件

-size

通过文件大小查找文件

-atime

通过文件的最后访问日期查找文件(单位:天)

-mtime

通过文件的最后修改日期查找文件(单位:天)

-newer

查找比指定文件更新的文件

-amin

查找在指定时间内曾被存取过的文件(单位:分钟)

-cmin

查找在指定时间内被更改过的文件(单位:分钟)

-perm

查找符合指定权限数值的文件

〖例2.22〗在/root目录下,查找所有文件拥有者是root的文件。

#find  /root  -user  root

〖例2.23〗查找/etc目录下所有以pass字符串开头的文件。

#find  /etc  -name  pass*

11.获取帮助

在字符界面下常使用man命令获得帮助

在命令行下使用info获取帮助

项目一:Linux下文件管理的实践

操作过程:

(1)根据项目描述要求在/home/guestuser1/目录下分别创建work1和work2两个子目录,由于已经明确所要生成目录的绝对路径,所以可以通过mkdir命令直接生成指定的目录,执行命令:

$mkdir  /home/guestuser1/work1

$mkdir  /home/guestuser1/work2

需要注意的是,在生成目录时,可以使用绝对路径,也可以使用相对路径。如果只写出一个目录的名字,则新的目录将会被创建在当前目录中。

(2)要进入指定的路径,可以直接用cd命令加绝对路径的方式进行操作,执行命令:

$cd  /home/guestuser1/work1

(3)显示当前路径可以验证上一步操作的正确性,执行命令:

$pwd

(4)由于是在当前位置创建文件file1,可以使用相对路径的操作方法来实现,执行命令:

$touch  file1

(5)由于要求显示包括隐藏文件在内的所有文件,因此需要添加选项-a,执行命令:

$ls  -a

(6)由于要求将当前目录下的文件拷贝到另一个目录中,因此不需要写源文件的绝对路径,只需要写出被拷贝的对象名file1就可以,执行命令:

$cp  file1  /home/guestuser1/work2

(7)为了验证file1文件拷贝是否成功,查看/home/guestuser1/work2目录下的内容,命令格式:

$ls  /home/guestuser1/work2

(8)目前位于系统/home/guestuser1/work1路径下,所以删除目录/home/guestuser1/work1中的file1文件,执行命令:

$rm  file1

(9)删除目录/home/guestuser1/work1,首先要切换出当前位置,执行命令:

$cd  ..

$rm  -r  /home/guestuser1/work1

(10)由于需要将文件file1改名成file2,并不涉及到对文件的备份问题,所以直接进行mv操作,执行命令:

$cd  /home/guestuser1/work2

$mv  file1  file2

(11)需要查找的范围是当前目录,所以不需要指明查找目录的路径。而查找所有以“file”开头的文件,则查找的依据是文件的名称,所以条件选项选择-name,执行命令:

$find  -name  file*

需要注意的是,查找结果是文件存放的相对路径。其中“./file2”,代表的是当前目录下的文件file2。也就是说“.”代表当前目录。另外,“..”代表上层目录。如果指定从根目录下开始查找,则查找结果是文件存放的绝对路径。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CentOS8基础篇2:文件系统 的相关文章

  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 为什么 Linux 没有 DirectX API?

    在考虑现代显卡的 Windows 系统上 DirectX API 的驱动程序端实现时 我想知道为什么此实现在非 Windows 系统 尤其是 Linux 上不可用 由于明显缺乏此功能 我只能假设有一个我无视的充分理由 但在我的原始理解中 我
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Google BQ:运行参数化查询,其中参数变量是 BQ 表目标

    我正在尝试从 Linux 命令行为 BQ 表目标运行 SQL 此 SQL 脚本将用于多个日期 客户端和 BQ 表目标 因此这需要在我的 BQ API 命令行调用中使用参数 标志 parameter 现在 我已经点击此链接来了解参数化查询 h
  • 如何在 Ubuntu 中创建公共 HTML 文件夹?

    简单的问题 但由于某种原因我无法在谷歌上找到确切的答案 我在 Slicehost 上安装了全新的 Ubuntu 并且想在我的主目录中为包含一堆静态 HTML 文件的简单网站创建一个公共目录 我该怎么做呢 只是打字的问题吗mkdir publ
  • 如何阻止ubuntu在使用apt安装或更新软件包时弹出“Daemons using outdatedlibraries”? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我最近新安装了 Ubuntu 22 04 LTS 我发现每次使用 apt 安装或更新软件包时 它都会询问我有关Which servic
  • GMail 421 4.7.0 稍后重试,关闭连接

    我试图找出为什么它无法使用 GMail 从我的服务器发送邮件 为此 我使用 SwiftMailer 但我可以将问题包含在以下独立代码中
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 在生产服务器上使用 Subversion 使文件生效的最佳方法是什么?

    目前我已经设置了 subversion 这样当我在 Eclipse PDT 中进行更改时 我可以提交更改 它们将保存在 home administrator 中项目文件 该文件具有 subversion 推荐的 branches tags
  • 如何使用Android获取Linux内核的版本?

    如何在 Android 应用程序中获取 Linux 内核的版本 不是 100 确定 但我认为调用 uname r 需要 root 访问权限 无论如何 有一种不太肮脏的方法可以做到这一点 那就是 System getProperty os v
  • 如何让 Node.js 作为后台进程运行并且永不死掉?

    我通过 putty SSH 连接到 linux 服务器 我尝试将其作为后台进程运行 如下所示 node server js 然而 2 5 小时后 终端变得不活动 进程终止 即使终端断开连接 我是否也可以使进程保持活动状态 Edit 1 事实
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的

随机推荐

  • 809协议nodejs编写笔记

    一 总体流程 数据首先通过receiver接受层接收 去掉标识头和标识尾 再进入depacker解包层进行解包 把标识头分解出来并解析 之后发给handler处理层根据不同的消息id选择使用不同的业务逻辑 如果有应答 则通过sender发送
  • 7.12 redis未授权访问漏洞

    在1 txt添加存在redis未授权访问漏洞的IP redis py输入脚本 redis cli exe h IP p 端口号
  • async/await 异步函数

    1 async异步函数的使用 await async写法 async function foo1 const foo2 async gt 2 async异步函数的执行流程 都是同步代码 跟普通函数代码没区别 async function f
  • RTP - 视频流广播

    这是用RTP RFC3350 按RFC2550封装MPEG ES流数据的发送程序 学习RTP的路真的辛苦 在网上收集的有关RTP的程序都是那种只负责RTP数据包发送的库 如jrtplib等 他们的DEMO 程序都只是用来发发字符串 编编聊天
  • mac mongodb Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols

    mac 下 mongodb 执行命令 mongod 报错 标题为报错的第一句 因为一般人百度的时候都是根据第一句百度 所以起的这个标题 具体报错如下图 我的具体信息如上 可以发现 报错的主要信息在于 没有找到 data 数据的存放路径导致的
  • 【华为OD统一考试A卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 【数据结构前置知识】初识集合框架和时间,空间复杂度

    文章目录 1 什么是集合框架 2 集合框架的重要性 3 背后所涉及的数据结构以及算法 3 1 什么是数据结构 3 2 容器背后对应的数据结构 3 3 相关java知识 3 4 什么是算法 4 时间复杂度 1 如何衡量一个算法的好坏 2 算法
  • js高级 6.闭包

    闭包的理解 如何产生闭包 当一个嵌套的内部 子 函数引用了嵌套的外部 父 函数的变量 或函数 时 就产生了闭包 闭包到底是什么 使用chrome浏览器查看 理解一 闭包是嵌套的内部函数 大多数人 理解二 包含被引用变量 或函数 的对象 极少
  • 进程与线程408

    文章目录 1 进程与线程 1 1 进程的概念与特征 1 2 进程的状态与转换 1 3 进程的组成 1 4进程控制 1 5 进程的通信 2 处理机调度 2 1 调度的基本概念 2 2 调度算法的评价指标 2 3 调度的实现 2 4 经典的调度
  • 单相电流型逆变电路

    电流型逆变电路 引言 电流型三相桥式逆变电路 直流电源为电流源的逆变电路称为电流型逆变电路 电流型逆变电路主要特点 直流侧串大电感 电流基本无脉动 相当于电流源 交流输出电流为矩形波 与负载阻抗角无关 输出电压波形和相位因负载不同而不同 直
  • C# DropDownList绑定添加新数据的几种方法

    第一种 在前台手动绑定 适用于固定不变的数据项
  • 第2课 微信开发者工具使用slider进度条标签编写rgb颜色选择功能:

    微信小程序编写rgb颜色选择功能 效果图如下 以下是wxml文件代码
  • 银行应用软件:零售银行业务中谁才是赢家

    资本界的谷歌 这就是杰里米 阿莱尔现在正在创建的 也就是 一家消费者金融公司 为消费者提供存款 寄款和收款产品 这些也是零售银行的基础公共设施 42 他 认为对任何有上网设备的人来说 这都是一个强大 实时及免费的服务 而他的区块链公司世可国
  • PHP微信公众开发笔记(一)

    笔记是先写在印象笔记上的 晚上没事的时候整理整理 PHP微信公众开发笔记系列 日期 2014 9 1 今天开始正式开始做班上的微信公众平台的开发者服务了 因为是第一次做这个 对PHP也不了解 所以一边学PHP 一边整理微信的公众平台 当做是
  • Qt中的JSON操作_3: JSON在Qt中的应用举例(写入和读出的关键是利用QJsonDocument实现Json格式的文件转换为字符串)

    接上篇 Qt中的JSON操作 2 JSON在Qt中的使用 本篇主要讲利用Json在Qt中封装的类实现读写文件的举例 我们在Qt中的JSON操作 1 JSON的基本知识介绍中举了一个Json对象的例子 对象1中嵌入对象2 对象2中嵌入数组 对
  • error ‘defineProps‘ is not defined no-undef

    error defineProps is not defined no undef 例如defineProps和defineEmits生成no undef警告 示例 eslintrc js module exports env vue se
  • SpringBoot获取项目日志

    目的 对于布署在远端的服务 我们想快速的获取到日志 对于使用了日志服务 也可能因为上报间隔太长 日志不够实时 所以想通过一些方式 可以不用进入到容器内也可以简单快速获取到日志 而且是实时的日志 目标就是获取最新的n条日志 搜索啥的功能也不需
  • Python(1)--Python安装

    本篇作为学习Python笔记 来记录学习过程 安装环境 windows10 官方下载地址 https www python org 有很多的版本 我这里选择了3 7 2 executable表示可执行版 需要安装后使用 embeddable
  • Python基础 NumPy数组相关概念及操作

    NumPy是Python的一种开源的数值计算扩展库 提供 数组支持以及相应的高效处理函数 它包含很多功能 如创建n维数组 矩阵 对数组进行函数运算 数值积分 线性代数计算 傅里叶变换和随机数产生等 Why NumPy 标准的Python用L
  • CentOS8基础篇2:文件系统

    一 文件系统概述 1 文件系统的基本概念 操作系统中负责管理和存储文件信息的软件机构称为文件管理系统 简称文件系统 它规定了文件的存储方式及文件索引方式等信息 文件系统主要由三部分组成 分别是与文件管理相关的软件 被管理的文件和实施文件管理