当前位置: 首页 > 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资源、服务器资源、网络资源、业务特性进行分析对原有纠删码技…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...

Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践

在 Kubernetes 集群中&#xff0c;如何在保障应用高可用的同时有效地管理资源&#xff0c;一直是运维人员和开发者关注的重点。随着微服务架构的普及&#xff0c;集群内各个服务的负载波动日趋明显&#xff0c;传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...

C++--string的模拟实现

一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现&#xff0c;其目的是加强对string的底层了解&#xff0c;以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量&#xff0c;…...