LInux目录结构

2023-10-27


img

Linux的目录结构

Linux的目录结构

Linux的目录结构是一个树型结构。

Windows 系统可以拥有多个盘符, 如 C盘、D盘、E盘

image-20230110222519461

image-20230110222542108

Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面

image-20230110222612640

Linux路径的描述方式

在Linux系统中,路径之间的层级关系,使用:/ 来表示

image-20230111073528005

/usr/local/hello.txt

注意:

  • 开头的/表示根目录
  • 后面的/表示层级关系

在Windows系统中,路径之间的层级关系,使用: \ 来表示

image-20230111073645815

D:\data\work\hello.txt

注意:

  • D:表示D盘
  • \表示层级关系

目录各功能介绍

下面我们介绍一下各个目录的作用

目录 说明
/bin(/usr/bin;/usr/local/bin) bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
/sbin(/usr/sbin;/usr/local/sbin) s 是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
/home 存放普通用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/root 该目录为系统管理员,也称作超级权限者的用户主目录。
/lib lib 是 Library(库) 的缩写。这个目录里存放着系统开机所需要的最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/etc etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/usr usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/src 内核源代码默认的放置目录。
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/boot 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/proc proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里。
/srv srv是Service的缩写,该目录存放一些服务启动之后需要提取的数据。
/sys 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。
/tmp tmp 是 temporary(临时) 的缩写,这个目录是用来存放一些临时文件的。
/dev dev 是 Device(设备) 的缩写,该目录下存放的是 Linux 的外部设备,类似于Windows的设备管理器,把所有的硬件以文件形式存储。
/media linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
/run 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
/opt opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/usr/local 这是另一个给主机安装软件所摆放的目录,一般是通过编译源码安装的程序。
/var var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

HOME目录和工作目录

image-20230111085857046

直接输入ls命令,表示列出当前工作目录下的内容,当前工作目录是?

Linux系统的命令行终端,在启动的时候,默认会加载:

当前登录用户的HOME目录作为当前工作目录,所以ls命令列出的是HOME目录的内容

HOME目录:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名

  • 如,图中的Linux用户是itheima,其HOME目录是:/home/itheima
  • Windows系统和Linux系统,均设有用户的HOME目录,如图:

image-20230111085915493

image-20230111085930612

课后练习

请根据语言描述,写出对应的Linux路径

  1. 在根目录下有一个文件夹test,文件夹内有一个文件hello.txt,请描述文件的路径

    /test/hello.txt

  2. 在根目录下有一个文件itheima.txt,请描述文件的路径

    /itheima.txt

  3. 在根目录下有一个文件夹itcast,在itcast文件夹内有文件夹itheima,在itheima文件夹内有文件hello.txt,请描述文件的路径

    /itcast/itheima/hello.txt

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

LInux目录结构 的相关文章

  • RAM 到 RAM 的 DMA 传输

    我的一个朋友告诉我 在 x86 架构上 DMA 控制器无法在两个不同的 RAM 位置之间传输 它只能在RAM和外设 如PCI总线 之间传输 这是真的 因为 AFAIK DMA 控制器should能够在位于总线上并具有地址的任意设备之间 特别
  • 如何使用c在Linux中获取当前时间戳(以纳秒为单位)

    我知道我们可以使用clock gettime CLOCK MONOTONIC 我尝试问的问题是 如果我需要以纳秒为单位的时间 从时代来看 这将是一个巨大的数字 例如 自纪元以来的秒数是13438461673 so 13438461673 1
  • 如何区分触摸板生成的 WM_MOUSE*** 消息和鼠标设备生成的 WM_MOUSE*** 消息?

    我试过了GetMessageExtraInfo 这里提到 检测WM MOUSEMOVE是否是由触摸 笔引起的 https stackoverflow com questions 29857587 detect if wm mousemove
  • 有人可以解释一下以下内存分配 C 程序的性能行为吗?

    在我的机器上 时间 A 和时间 B 交换取决于是否A是 定义或未定义 这会改变两个的顺序 callocs 被称为 我最初将此归因于寻呼系统 奇怪的是 当mmap被用来代替calloc 情况更加奇怪 两个循环花费的时间相同 正如预期的那样 作
  • 如何正确调用 LsaLogonUser 进行交互式登录?

    我正在尝试使用 LsaLogonUser 创建交互式登录会话 但它总是返回STATUS INVALID INFO CLASS 0xc0000003 从网上查到的内存布局KERB INTERACTIVE LOGON结构很棘手 但我很确定我做得
  • 是否可以确定哪个键盘发送了按键?

    我有一个 Windows Media Center 遥控器 Windows 将其识别为键盘 当我使用 Windows Media Center 运行多显示器设置并在一个屏幕上播放视频时 遥控器的输入将与常规键盘一起定向到活动窗口 因此 当我
  • 从 .NET 应用程序登录 Windows

    我认为它应该是一个Windows服务 当给定某些条件时 它应该执行登录到机器的操作 机器将在 登录屏幕 中检查网络服务 以了解登录时应使用的用户名和密码 这可以吗 我不想要 自动登录 Windows 功能 Thanks AFAIK 无法完成
  • Linux 是否允许从信号处理程序进行任何系统调用?

    我的理解是 一般来说 如果您从信号处理程序调用非异步信号安全函数 则行为是未定义的 但我听说 Linux 允许您安全地调用任何系统调用 这是真的 另外 SIGSEGV 处理程序的唯一可移植行为是中止或退出 但我知道如果返回 linux 实际
  • Linux GCC 上 的 C++ 编译问题

    尝试过谷歌并在这里搜索 但没有运气 我正在尝试将一些使用 Windows 的代码移植到 Linux 上 然后我得到了大量的编译错误 我所做的只是 include
  • Powershell:别名和函数有什么区别?

    Im setting up my powershell profile to create aliases of commonly used commands On Microsoft s documentation https learn
  • 强制 shell 在 SunGrid 引擎中使用 conda 变量中的 python [重复]

    这个问题在这里已经有答案了 我正在尝试在 SunGrid 引擎中执行 python 文件 并且从 anaconda3 环境变量中执行它 我的代码很简单 from future import print function import url
  • 批量-用特殊字符替换字符串

    我想使用批处理文件替换文件中的字符串 该字符串是 我想用以下方式替换它 我发现了几篇帖子 比如这个 如何替换 Windows 批处理文件中的子字符串 https stackoverflow com questions 5273937但该示例
  • 适用于 Python 的旧版本 Windows 二进制库 Wheel 的存储库?

    作为很多用户 我使用很棒的Christopher 的 Windows 二进制轮子 http www lfd uci edu gohlke pythonlibs vlfd当尝试在 Windows 上安装一些 python 包 例如 GDAL
  • 如何在每个批处理脚本运行后清除变量?

    看来 由于我使用 SET 在批处理脚本中声明变量 如果我在 cmd 中运行多次 变量值将持续存在 除非我显式重置它们 我是否必须使用 setlocal 和 endlocal 来确保一次运行中的变量不会在不关闭 CMD 的情况下持续到另一次运
  • 如何安装 Node 和 NPM 以便不必使用 sudo?

    我正在尝试在 Ubuntu 14 04 计算机上设置 Node js 和 NPM 但遇到了一些问题 在我的第一次尝试中 我不断得到EACCES尝试安装软件包时出错 有时甚至使用sudo 所以我彻底卸载了node和npm 现在我正在尝试找出如
  • 适用于 Windows 的 PHP 支持的 GUI 应用程序

    我知道 PHP 是一种解释性语言 对于基于 Web 的事物来说 不是为在实际操作系统上运行 GUI 应用程序而设计的 但是有没有办法呢 基本上 是否有一个框架 系统允许我创建 本机 基本上是二进制文件 exe 看起来像带有本机控件和所有内容
  • 强制 Java 最低版本以“java -version:”运行在 Windows 上不起作用

    我想强制应用程序运行的 JVM 最低版本为 1 6 或更高版本 即 1 6 我的理解是 您可以使用 version 命令行参数来执行此操作 我尝试了一下 在Linux下似乎可以正常工作 但在Windows下却不行 LINUX 我在 Linu
  • 如何检查QProcess是否正确执行?

    QProcess process sdcompare QString command sdcompare QStringList args sdcompare command sdcompare diff args sdcompare lt
  • WinSock.h 和 WinSock2.h 使用哪个?

    有谁知道 WinSock h 和 WinSock2 h 之间的区别 我知道它们不使用相同的库 lib 但我不知道 WinSock2 是否仅添加了新功能 或者是否还改进了 WinSock 1 功能 我正在使用 IP TCP 套接字 并希望使用
  • Linux 堆栈大小

    我正在寻找 Linux 内核中堆栈的良好描述 但我发现找到任何有用的东西出奇地困难 我知道大多数系统的堆栈限制为 4k 而其他系统则限制为 8k 我假设每个内核线程 下半部分都有自己的堆栈 我还听说 如果中断发生 它会使用当前线程的堆栈 但

随机推荐

  • 过滤器实现网站访问计数

    创建一个过滤器 实现网站访问计数器的功能 并在web xml文件的配置中将网站访问量的初始值设置为5000 创建名称为CountFilter的类 创建名称为CountFilter的类 该类实现javax servlet Filter接口 是
  • tf-faster-rcnn config.py 参数详解

    import os import os path as osp import numpy as np pip install easydict if you don t have it from easydict import EasyDi
  • Django 项目学习

    目录 一 环境问题 1 python环境安装 2 django安装 3 IDE选择 二 Django命令 实际使用在后面文章中介绍 三 Django项目和应用的关系 1 Django项目中目录介绍 3 Django应用中目录介绍 四 Dja
  • 嵌入式开发——uboot如何启动内核(以zImage详解)

    1 vmlinuz vmlinux Image zImage与uImage的区别 参考博客 vmlinuz vmlinux Image zImage与uImage的区别 uboot启动内核的大致步骤 1 首先uboot要通过读取SD卡 fl
  • 单路服务器芯片组的发展

    服务器的质保一般为3到5年 但是有的服务器会使用超过十年 所以学习服务器硬件知识 不仅要学习新的知识 还要学习老的 旧的知识 一 单路服务器芯片组发展简介 Q3 06 英特尔发布了3000系列芯片组 其中包括3000和3010芯片组 使用7
  • Android框架BRVAH使用指南

    BRVAH BaseRecyclerViewAdapterHelper 是一个强大并且灵活的RecyclerViewAdapter 集成了大部分列表常用需求解决方案 1 框架引入 将JitPack存储库添加到您的构建文件中 项目根目录下bu
  • Recat 鼠标移动实时显示坐标

    一 React实时显示鼠标坐标事件 从react解构两种方法 import useState useEffect from react 定义方法 状态管理 function useOnMouse var page setPage useSt
  • 机器学习之KNN和决策树

    1 K 临近算法 KNN算法 一 优缺点和适用范围 1 优点 精度高 对异常值不敏感 无数据输入假定 2 缺点 计算复杂度高 空间复杂度高 3 适用数据范围 数值型和标称型 二 原理和算法思想 原理 训练样本集中每个数据都存在标签 输入没有
  • 最新版校园招聘进大厂系列----------(5)百度篇 -----未完待续

    哈喽 大家好 我是 奇点 江湖人称 singularity 刚工作几年 想和大家一同进步 一位上进心十足的 Java ToB端大厂领域博主 喜欢java和python 平时比较懒 能用程序解决的坚决不手动解决 如果有对 java 感兴趣的
  • H264标准学习-base1

    参考博文 https blog csdn net xiexingshishu article details 39323515 https blog csdn net fanbird2008 article details 47122091
  • go使用excelize导出excel

    由于xlsx库两年没有更新了 所以今天又写了个使用excelize到处excel 传参格式仍可参照用xlsx格式 go语言使用tealeg xlsx导出excel 借我三行代码的博客 CSDN博客 type UserData struct
  • SpringBoot2.0 Actuator 监控参数说明

    基于SpringBoot2 0 Actuator metrics的监控 基于Oracle JDK9 G1 引言 SpringBoot2在spring boot actuator中引入了micrometer 对1 x的metrics进行了重构
  • 基于YOLOv5的光学遥感图像舰船目标检测算法

    源自 系统工程与电子技术 作者 成倩 李佳 杜娟 摘 要 针对YOLO you only look once v5算法在应用于光学遥感图像舰船目标检测任务时所面临的小目标误检率 漏检率较高的情况 提出一种基于YOLOv5改进的光学遥感图像舰
  • linux 关闭防火墙 及mysql 无密码登陆

    Linux中怎么去关闭防护墙和mysql的无密码登陆及修改密码 做为一个自己参考的记录 CentOS 防火墙关闭 关闭防火墙命令 systemctl stop firewalld service 开启防火墙 systemctl start
  • 统计某个班男女生人数_sql练习题

    Code 1 有如下表格和数据 2 ID Name Class Sex 3 4 1 张1 一班 男 5 2 张2 一班 男 6 3 张3 二班 女 7 4 张4 一班 男 8 5 张5 二班 女 9
  • kettle案例——数据清洗与校验(完全去重)

    1 源数据预览 2 打开kettle新建一个转换并添加下述步骤然后用跳连接 3 双击CSV文件输入进行配置 点击浏览导入文件 然后点击获取字段 最后点击预览看数据是否抽取进来 4 双击唯一行 哈希值 进行配置 在用来比较的字段处 添加要去重
  • matlab 海岸线绘制,m_map1.4 matlab中

    m map1 4 m map Contents m m map1 4 m map map html m map1 4 m map m coast m m map1 4 m map m contour m m map1 4 m map m c
  • 利用linux内核将多个文件编译成一个ko文件

    利用linux内核将多个文件编译成一个ko文件 1 如果一个驱动直接编译进内核 直接按照以下方式书写 obj y generic serial o vme scc o obj y a o 2 如果一个驱动要编译成模块 且一个模块由1个源文件
  • vue-cli3项目中使用flexible和rem适配移动端的一些踩坑

    最近在做一个移动端的项目 需要做一些适配处理 其实以前一直都是浑水摸鱼式的 虽然看了很多关于移动端适配的方案 感觉都很厉害 但一直迟迟不曾实践 ps 好像大部分中小公司对这方面都没啥要求啊 在网上找了一番后 发现手淘的flexible re
  • LInux目录结构

    文章目录 Linux的目录结构 Linux的目录结构 Linux路径的描述方式 目录各功能介绍 HOME目录和工作目录 Linux的目录结构 Linux的目录结构 Linux的目录结构是一个树型结构 Windows 系统可以拥有多个盘符 如