当前位置: 首页 > news >正文

Linux目录结构(与window目录结构对比+绝对路径和相对路径)

一、Linux目录结构

Linux目录结构是一个标准化的文件系统层次结构,非常有组织性并且易于管理。而与Windows

操作系统不同,Linux将所有文件和设备都组织在一个单一的根目录下。以下是Linux的标准目录结构:

  • /:根目录,包含了整个文件系统。

  • /bin:二进制可执行文件,例如cat、ls、ping等。

  • /boot:启动时使用的核心文件和引导加载程序。

  • /dev:设备文件,包括硬件设备和外部设备(如USB驱动器、打印机和调制解调器等)。

  • /etc:系统级配置文件,包括网络配置、用户账户、安全和服务启动脚本等。

  • /home:用户主目录,每个用户都有自己的子目录。

  • /lib和/lib64:共享库文件,支持/bin和/sbin中的命令。

  • /media:可移动介质,例如CD-ROM、闪存驱动器等。

  • /mnt:临时挂载点,系统管理员可以将其他文件系统挂载到此目录中。

  • /opt:第三方应用程序目录,通常在此处安装非默认软件。

  • /proc:虚拟文件系统,提供有关运行进程和系统状态的信息。

  • /root:超级用户(root)的主目录。

  • /run:文件系统中运行时数据的放置处,例如PID文件和套接字文件等。

  • /sbin:超级用户使用的系统二进制命令,用于管理系统和网络。

  • /srv:服务数据目录,例如Web服务器、FTP服务器等。

  • /sys:虚拟文件系统,包含了所有硬件设备、内核和驱动程序。

  • /tmp:临时文件目录,系统管理员和应用程序可以在此处创建和删除文件。

  • /usr:常规用户使用的应用程序和文件,包括/bin、/sbin、/lib和/usr/share等子目录。

  • /var:变量文件,包含日志文件、数据库文件、缓存文件以及其他一些变量数据。

与Linux不同,Windows操作系统采用了不同的目录结构:

  • C:\:Windows中安装的默认操作系统驱动器盘符,包含了整个文件系统。

  • C:\Program Files\:标准程序安装位置,包括与Windows系统预装程序无关的所有应用程序。

  • C:\Program Files (x86)\:32位Windows中的标准程序安装位置,使32位应用程序可以在64位Windows中运行。

  • C:\Windows\:Windows系统文件和系统级应用程序的主要目录。

  • C:\Users\:每个用户的个人文件夹和配置文件。

二、Windows目录结构

windows磁盘中用反斜杠(又称为右斜杠)\ 表示路径的分隔。在浏览器中用正斜杠/ 来表示路径的分隔。而Java中路径分隔使用正斜杠(又称为左斜杠) /,不推荐使用反斜杠\(反斜杠需要转义:两个反斜杠表示一个正杠)。

//在相对路径下创建Test.txt 文件
Filefile=newFile("Test.txt");
//在相对路径下 创建 newFile\\Test  目录
Filefile1=newFile("newFile\\Test");
//在相对路径下创建 newTestFile 文件夹
FilenewTestFile=newFile("newTestFile");

路径开头是斜杠以Java项目所在的磁盘为起始路径

File file1 = new File("/");
System.out.println("file1 的绝对路径为:" + file1.getAbsolutePath());
File file2 = new File("/new.txt");
System.out.println("file2 的绝对路径为:" + file2.getAbsolutePath());

  • 以直接文件名开头java的相对路径是以java所在项目的为起始点

  • 在Java中不存在…/ 只有 ./表示当前目录,…/表示上一级目录,如果输入…/Java程序会把…当作文件夹名

拼接路径建议使用File.separator,Windows都可以识别,而Linux只能识别 '/',使用File.separator就不用担心这个问题了。

三、绝对路径和相对路径

Linux cd路径 [root@myai jdk1.8.0_261]# cd bin/和[root@myai jdk1.8.0_261]# cd /bin 有什么区别?

cd bin/ 会将当前目录更改为 jdk1.8.0_261/bin/,也就是将当前工作目录切换到了 jdk1.8.0_261 目录下的 bin 子目录中。(其实cd bin/ 中的/加不加都行,cd bin 表示的也是同一个意思,或者还有一个写法,就是cd ./bin 也是同样的效果)

而 cd /bin 则会将当前目录更改为系统根目录下的 /bin 目录,也就是切换到了系统的可执行文件所在目录下。

两者的区别在于,前者是相对路径,后者是绝对路径。相对路径是相对于当前工作目录的路径,而绝对路径则是从系统根目录开始的完整路径。

/表示根目录

./表示文件所在的当前目录

../表示文件所在的上级目录

../../表示

这个放在Windows下也是一样的(Linux中是ls ,而Windows是dir)

当然,如果要进入D盘下的5.15文件夹(有绝对路径和相对路径两个方法)

这个错误提示可能是因为在 Windows 操作系统中,命令中的斜杠应该使用反斜杠来表示路径,而非正斜杠。此外,在切换磁盘时,应该使用冒号而非斜杠。因此,正确的命令应该是:cd /d D:\5.15 来切换到 D 盘下的 5.15 目录。

要想进一步查看这个5.15文件夹中的内容,可以继续查看,但是,我在5.15文件夹中只有一个jx-system的文件夹为什么会列出三个文件夹呢?

这是因为在 Windows 操作系统中,每个文件夹(或目录)都有两个隐藏的系统文件夹分别是 "." 和 ".."。其中 "." 表示当前文件夹,而 ".." 则表示当前文件夹的上一层目录,即父目录。这两个隐藏的系统文件夹会在执行 dir 命令时显示出来。因此,当进入 5.15 文件夹后,在执行 dir 命令时,会列出该目录下的三个文件夹,分别是当前目录(".")、父目录("..")和 jx-system 子目录。

当然,除了 dir 命令之外,还有一些命令可以查看文件和目录。以下是一些常用的命令:
  • ls (Linux, macOS) 或 dir (Windows):列出当前目录下的所有文件和子目录;

  • type (Windows) 或 cat (Linux, macOS):显示文本文件的内容;

  • more (Windows) 或 less (Linux, macOS):分页显示文本文件的内容;

  • head 和 tail (Linux, macOS):分别显示文件的前 N 行和后 N 行;

  • grep (Linux, macOS) 或 findstr (Windows):在文件中搜索指定的字符串或模式;

  • wc (Linux, macOS) 或 measure-object (Windows):统计文件的行数、单词数和字符数等信息。

这些命令的具体用法可以通过在命令行中输入 <command> /? 或 man <command> (其中 <command> 为命令名)来查看其帮助文档。

比如,type 命令需要指定要查看的文件名或路径,否则会出现“命令语法不正确”的错误提示。如果你想查看当前目录下的所有文件和子目录,应该使用 dir 命令。

如果你想查看当前目录下的某个文本文件的内容,可以在 type 命令后面加上文件名,并以回车键结束,例如:

D:\5.15\jx-system>type readme.txt

这将会显示 readme.txt 文件的内容。如果你希望将 readme.txt 的内容输出到控制台窗口中,可以使用 type 命令并将输出重定向到 more 命令中,例如:

D:\5.15\jx-system>type readme.txt | more

这将会把 readme.txt 文件的内容逐页显示在控制台窗口中。

相关文章:

Linux目录结构(与window目录结构对比+绝对路径和相对路径)

一、Linux目录结构 Linux目录结构是一个标准化的文件系统层次结构&#xff0c;非常有组织性并且易于管理。而与Windows 操作系统不同&#xff0c;Linux将所有文件和设备都组织在一个单一的根目录下。以下是Linux的标准目录结构&#xff1a; /&#xff1a;根目录&#xff0c;包含…...

投票活动小程序开发搭建

由于小程序是基于微信开发者工具编写的&#xff0c;因此我先介绍一下需要使用的工具和技术&#xff1a; - 微信开发者工具&#xff1a;用于开发、调试和发布小程序。 - 小程序云开发&#xff1a;用于存储数据和进行后端逻辑处理。 - uni-app框架&#xff1a;uni-app 是一个使…...

代码随想录day18

513.找树左下角的值 本题用前中后序都可以&#xff08;都是先遍历左再遍历右&#xff0c;保证最后一定是左侧的节点&#xff09;&#xff0c;因为没有中节点的处理逻辑&#xff0c;用全局变量记录最大深度&#xff0c;只要遇到叶子结点并且当前深度比最大深度大&#xff0c;就更…...

QT+OpenGL高级光照 Blinn-Phong和Gamma校正

QTOpenGL高级光照1 本篇完整工程见gitee:QtOpenGL 对应点的tag&#xff0c;由turbolove提供技术支持&#xff0c;您可以关注博主或者私信博主 Blinn-Phong 冯氏光照&#xff1a;视线与反射方向之间的夹角不小于90度&#xff0c;镜面光分量会变成0.0&#xff08;不是很合理&am…...

【Ubuntu系统内核更新与卸载】

【Ubuntu系统内核更新与卸载】 1. 前言2. 内核安装2.1 系统更新2.2 官网下载 3. 内核卸载3.1 需求分析3.2 卸载方法 1. 前言 我们在搭建环境时常常遇到内核版本不匹配的问题&#xff0c;需要我们安装新的内核版本&#xff1b;有时又会遇到在安装软件时报错boot空间已满无法安装…...

RL - 强化学习 马尔可夫奖励过程 (MRP) 的状态价值

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131084795 GitHub 源码: https://github.com/SpikeKing/Reinforcement-Learning-Algorithm 马尔可夫奖励过程 (MRP) 的状态价值是指在某…...

Mybatis之批处理流式查询

文章目录 1 批处理查询1.1 引言1.2 流式查询1.2.1 定义1.2.2 流式查询接口1.2.3 使用流式查询关闭问题1.2.3.1 SqlSessionFactory1.2.3.2 TransactionTemplate1.2.3.3 Transactional 注解 1.2.4 完整示例1.2.4.1 mapper接口和SQL1.2.4.2 Service操作 1.3 游标查询1.3.1 定义1.3…...

Spring架构篇--2.7.3 远程通信基础--Netty原理--bind实现端口的绑定

前言&#xff1a;在对ServerBootstrap 进行属性赋值之后&#xff0c;通过bind 方法完成端口的绑定&#xff0c;并开始在NioEventLoop中进行轮询进行事件的处理&#xff1b;本文主要探究ServersocketChannel 在netty 中是如何完成注册&#xff0c;以及端口的绑定 1 Nio selecto…...

【改进的多同步挤压变换】基于改进多同步挤压的高分辨率时频分析工具,用于分析非平稳信号(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

有关 python 切片的趣事

哈喽大家好&#xff0c;我是咸鱼 今天来讲一个我在实现 python 列表切片时遇到的趣事 在正式开始之前&#xff0c;我们先来了解一下切片&#xff08;slice&#xff09; 切片操作是访问序列&#xff08;列表、字符串…&#xff09;中元素的另一种方法&#xff0c;它可以访问一…...

ChatGPT 会带来失业潮吗?

&#xff08;永久免费&#xff0c;扫码加入&#xff09; 最近在翻知乎上的一些文章&#xff0c;很多都是跟ChatGPT有关的。因为本身是搞Python编程的&#xff0c;知乎推荐系统给我推荐了一篇廖雪峰老师的文章&#xff0c;觉得很有意思。 一共1119个赞&#xff0c;还是很厉害的&…...

如何对待工作中的失误

在日复一日的工作中&#xff0c;我们免不了会产生一些失误&#xff0c;会因此感到沮丧和失望。但如何正确地对待和处理这些失误才是最重要的&#xff0c;它直接影响到我们的工作表现和个人成长。一起来谈谈作为职场人的你时如何处理工作中的失误的吧&#xff01; 一、在面对失…...

微信小程序快速入门【一】

微信小程序快速入门【一】 文章目录 微信小程序快速入门【一】&#x1f468;‍&#x1f3eb;内容1&#xff1a;背景&#x1f468;‍⚖️内容2&#xff1a;准备工作&#x1f468;‍&#x1f4bb;内容3&#xff1a;新建一个小程序&#x1f349;文末推荐 &#x1f468;‍&#x1f…...

TiDB亿级数据亚秒响应查询集群部署

目录 1 集群部署1.1 环境要求1.1.1 操作系统建议配置1.1.2 服务器建议配置 1.2 环境准备1.3 安装TiUP1.3.1 什么是TiUP1.3.2 安装TiUP组件1.3.3 配置TiUP环境1.3.4 检查TiUP 工具是否安装1.3.5 安装 cluster 组件1.3.6 升级cluster组件 1.4 编辑部署文件1.4.1 常见的部署场景1.…...

并发——同步访问共享的可变数据

关键字 synchronized 可以保证在同一时刻&#xff0c;只有一个线程可以执行某一个方法&#xff0c;或者某一段代码块。许多程序员把同步的概念仅仅理解为一种互斥的方式。即&#xff0c;当一个对象被一个线程修改的时候&#xff0c;可以阻止另一个线程观察到内部不一致的状态。…...

Docker网络模型(九)禁用容器网络

禁用容器网络 如果你想完全禁用容器上的协议栈&#xff0c;你可以在启动容器时使用 --network none 标志。在容器内&#xff0c;只有回环设备被创建。下面的例子说明了这一点。 创建容器 $ docker run --rm -dit \--network none \--name no-net-alpine \alpine:latest \ash通…...

JavaScript 教程---互联网文档计划

学习目标&#xff1a; 每天记录一章笔记 学习内容&#xff1a; JavaScript 教程---互联网文档计划 笔记时间&#xff1a; 2023-6-5 --- 2023-6-11 学习产出&#xff1a; 1.入门篇 1、JavaScript 的核心语法包含部分 基本语法标准库宿主API 基本语法&#xff1a;比如操作符…...

做好功能测试需要的8项基本技能【点工进来】

功能测试是测试工程师的基础功&#xff0c;很多人功能测试还做不好&#xff0c;就想去做性能测试、自动化测试。很多人对功能测试的理解就是点点点&#xff0c;如何自己不用心去悟&#xff0c;去研究&#xff0c;那么你的职业生涯也就停留在点点点上了。在这里&#xff0c;我把…...

在弹出框内三个元素做水平显示

最终效果图要求是这样&#xff1a; js代码&#xff1a; // 显示弹出窗口 function showPopup(node) {var popup document.createElement(div);popup.className popup;var inputContainer1 document.createElement(div);/* inputContainer1.className input-container1; */…...

纠删码技术在vivo存储系统的演进【上篇】

作者&#xff1a;vivo 互联网服务器团队- Gong Bing 本文将学术界和工业界的纠删码技术的核心研究成果进行了相应的梳理&#xff0c;然后针对公司线上存储系统的纠删码进行分析&#xff0c;结合互联网企业通用的IDC资源、服务器资源、网络资源、业务特性进行分析对原有纠删码技…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...