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目录结构是一个标准化的文件系统层次结构,非常有组织性并且易于管理。而与Windows 操作系统不同,Linux将所有文件和设备都组织在一个单一的根目录下。以下是Linux的标准目录结构: /:根目录,包含…...
投票活动小程序开发搭建
由于小程序是基于微信开发者工具编写的,因此我先介绍一下需要使用的工具和技术: - 微信开发者工具:用于开发、调试和发布小程序。 - 小程序云开发:用于存储数据和进行后端逻辑处理。 - uni-app框架:uni-app 是一个使…...
代码随想录day18
513.找树左下角的值 本题用前中后序都可以(都是先遍历左再遍历右,保证最后一定是左侧的节点),因为没有中节点的处理逻辑,用全局变量记录最大深度,只要遇到叶子结点并且当前深度比最大深度大,就更…...
QT+OpenGL高级光照 Blinn-Phong和Gamma校正
QTOpenGL高级光照1 本篇完整工程见gitee:QtOpenGL 对应点的tag,由turbolove提供技术支持,您可以关注博主或者私信博主 Blinn-Phong 冯氏光照:视线与反射方向之间的夹角不小于90度,镜面光分量会变成0.0(不是很合理&am…...
【Ubuntu系统内核更新与卸载】
【Ubuntu系统内核更新与卸载】 1. 前言2. 内核安装2.1 系统更新2.2 官网下载 3. 内核卸载3.1 需求分析3.2 卸载方法 1. 前言 我们在搭建环境时常常遇到内核版本不匹配的问题,需要我们安装新的内核版本;有时又会遇到在安装软件时报错boot空间已满无法安装…...
RL - 强化学习 马尔可夫奖励过程 (MRP) 的状态价值
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址: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实现端口的绑定
前言:在对ServerBootstrap 进行属性赋值之后,通过bind 方法完成端口的绑定,并开始在NioEventLoop中进行轮询进行事件的处理;本文主要探究ServersocketChannel 在netty 中是如何完成注册,以及端口的绑定 1 Nio selecto…...
【改进的多同步挤压变换】基于改进多同步挤压的高分辨率时频分析工具,用于分析非平稳信号(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
有关 python 切片的趣事
哈喽大家好,我是咸鱼 今天来讲一个我在实现 python 列表切片时遇到的趣事 在正式开始之前,我们先来了解一下切片(slice) 切片操作是访问序列(列表、字符串…)中元素的另一种方法,它可以访问一…...
ChatGPT 会带来失业潮吗?
(永久免费,扫码加入) 最近在翻知乎上的一些文章,很多都是跟ChatGPT有关的。因为本身是搞Python编程的,知乎推荐系统给我推荐了一篇廖雪峰老师的文章,觉得很有意思。 一共1119个赞,还是很厉害的&…...
如何对待工作中的失误
在日复一日的工作中,我们免不了会产生一些失误,会因此感到沮丧和失望。但如何正确地对待和处理这些失误才是最重要的,它直接影响到我们的工作表现和个人成长。一起来谈谈作为职场人的你时如何处理工作中的失误的吧! 一、在面对失…...
微信小程序快速入门【一】
微信小程序快速入门【一】 文章目录 微信小程序快速入门【一】👨🏫内容1:背景👨⚖️内容2:准备工作👨💻内容3:新建一个小程序🍉文末推荐 👨…...
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 可以保证在同一时刻,只有一个线程可以执行某一个方法,或者某一段代码块。许多程序员把同步的概念仅仅理解为一种互斥的方式。即,当一个对象被一个线程修改的时候,可以阻止另一个线程观察到内部不一致的状态。…...
Docker网络模型(九)禁用容器网络
禁用容器网络 如果你想完全禁用容器上的协议栈,你可以在启动容器时使用 --network none 标志。在容器内,只有回环设备被创建。下面的例子说明了这一点。 创建容器 $ docker run --rm -dit \--network none \--name no-net-alpine \alpine:latest \ash通…...
JavaScript 教程---互联网文档计划
学习目标: 每天记录一章笔记 学习内容: JavaScript 教程---互联网文档计划 笔记时间: 2023-6-5 --- 2023-6-11 学习产出: 1.入门篇 1、JavaScript 的核心语法包含部分 基本语法标准库宿主API 基本语法:比如操作符…...
做好功能测试需要的8项基本技能【点工进来】
功能测试是测试工程师的基础功,很多人功能测试还做不好,就想去做性能测试、自动化测试。很多人对功能测试的理解就是点点点,如何自己不用心去悟,去研究,那么你的职业生涯也就停留在点点点上了。在这里,我把…...
在弹出框内三个元素做水平显示
最终效果图要求是这样: js代码: // 显示弹出窗口 function showPopup(node) {var popup document.createElement(div);popup.className popup;var inputContainer1 document.createElement(div);/* inputContainer1.className input-container1; */…...
纠删码技术在vivo存储系统的演进【上篇】
作者:vivo 互联网服务器团队- Gong Bing 本文将学术界和工业界的纠删码技术的核心研究成果进行了相应的梳理,然后针对公司线上存储系统的纠删码进行分析,结合互联网企业通用的IDC资源、服务器资源、网络资源、业务特性进行分析对原有纠删码技…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
