斜杠往哪斜、路径绝对还是相对,终端目录切换不再迷茫

目录

  • 路径表示
    • 绝对路径
    • 相对路径
    • 两者区别
  • 路径中斜杠的用法
    • 正反斜杠对比表
    • 一个常见的问题
  • 终端切换目录常用cd指令
    • 同一盘符内
    • 跨盘符

路径表示

在计算机文件系统中,路径是用来指定文件或目录位置的一种方式。路径可以是绝对路径或相对路径:

绝对路径

绝对路径是从文件系统的根目录开始的完整路径,它包含了从根目录到目标文件或目录的每一个目录名
在Windows系统中,绝对路径通常以盘符开始,例如 C:\Users\Username\Documents\file.txt
在类Unix系统(如Linux或macOS)中,绝对路径以根目录的正斜杠 / 开始,例如 /home/username/Documents/file.txt。

相对路径

相对路径是相对于当前工作目录的路径,它不从根目录开始,而是从当前目录或指定的参照点开始
在相对路径中,. 表示当前目录,… 表示上一级目录。

  • ./ 代表的是当前目录,也可以省略直接写文件名或者目录名。
  • ../代表的是上一级目录,也就是父级目录。
  • ../../ 代表源文件所在目录的上上级目录,依次类推。

两者区别

  • 绝对路径不依赖于当前工作目录,因此无论用户在文件系统中的哪个位置,指向的文件或目录都是相同的。
  • 相对路径依赖于当前工作目录,因此相同的相对路径在不同的工作目录下可能指向不同的文件或目录。

路径中斜杠的用法

在这里插入图片描述
斜杠 “/”—— 撇;反斜杠 “\”—— 捺;先斜杠,后反斜,就是“人”。

在计算机文件系统中,正斜杠/ 和反斜杠 \ 用于表示路径中的目录分隔符,而//\\ 通常用于特定的上下文或特殊情况。下面详细解释它们的用法和区别:

  • /(正斜杠)
    • 类Unix系统(如Linux、macOS)中,/ 是标准的目录分隔符;而web应用最新使用在Unix系统上面,所以 目前所有的网络地址都用/ 作为分隔符。如https://www.csdn.net/?spm=1001.2101.3001.4476
    • 也可以用于 表示根目录
  • //(双正斜杠)
    • 在某些情况下,// 用于表示网络位置或共享资源的路径。
    • 在Unix-like系统中,// 后面通常跟一个主机名,表示一个网络文件系统,例如://192.168.1.1/share。
    • 在Windows系统中,// 后面跟一个驱动器号,表示一个网络驱动器的映射,例如://192.168.1.1/share。
    • 在URL中,// 用于分隔协议和域名,例如:https://www.example.com。
  • \(反斜杠)
    • 在Windows文件浏览系统中,\ 是标准的目录分隔符,用于分隔目录和子目录,例如:C:\Users\Username\Documents
    • 在Windows文件路径中,盘符后紧跟一个反斜杠,例如:C:</font>。
  • \\(双反斜杠)
    • 在Windows系统中,\ 用于表示一个转义字符,用于在路径中包含特殊字符,如\n。在文件目录表示中,为了避免转义字符的问题,通常需要使用两个反斜杠\\
    • 在Windows网络路径中,\ 后面跟一个计算机名,表示访问该计算机上的共享资源,例如:\ServerName\SharedFolder。

正反斜杠对比表

斜杠类型用途操作系统网址
/除号、间隔符、目录分隔用作目录时,适用于unix系统和Windows系统在网址(URL)中,/ 可作为请求目录
\只能用作目录用作目录时,适用于Windows系统\ 不能用于网址(URL)中

一个常见的问题

有时我们会看到这样的路径写法,C:\\Windows\\System,也就是用两个反斜杠来分隔路径,这种写法在网络应用或编程中经常看到,事实上,上面这个路径可以用C:/Windows/System来代替,不会出错。但是如果写成了C:\Windows\System,那就可能会出现各种错误,这个路径字符串交给C编译器编译,实际写入内存的字符串并没有包含反斜杠\,甚至紧跟在反斜杠后面的字母也一起被转义成了其它的字符,再次调用的话势必会出问题。
字符串解析不仅仅局限于C编译器,Java编译器、一些配置文件的解析、Web服务器等等,都会遇到对字符串进行解析的这个问题,由于传统的Windows采用的是单个斜杠的路径分隔形式,导致在对文件路径进行解析的时候可能发生不必要的错误,所以就出现了用双反斜杠\\分隔路径的形式。不管解析引擎是否将反斜杠解析成转义字符,最终在内存中得到的都是"",结果也就不会出问题了。
❗️❗️❗️所以在编程过程中,涉及读取文件的操作,需要注意这一点❗️❗️❗️

终端切换目录常用cd指令

同一盘符内

  • cd+直接路径切换到指定为文件
    在这里插入图片描述

  • cd\切换到根目录
    在这里插入图片描述

  • cd.. cd../切换回上一层目录
    在这里插入图片描述

跨盘符

  • 要直接切换到其他盘的子目录,首先需要切换到指定盘符的根目录
    在这里插入图片描述
  • 不加cd(没反应),直接写指定盘符即可,不能加\会报错
    在这里插入图片描述
  • 切换到根目录后,就可以切换对应的子目录了
    在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/458818.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cmake 编译 vtk

1. 下载 VTK 源码 vtk 源码&#xff0c;点击&#xff1a;官网下载 在官网选择合适的版本下载&#xff0c;这里下载的是 vtk 8.2.0 版本 2. 下载 CMake CMake 工具&#xff0c;点击&#xff1a;镜像下载 下载版本比较新的 CMake 版本&#xff0c;这里使用的是 CMake 3.29.2 版…

在不支持AVX的linux上使用PaddleOCR

背景 公司的虚拟机CPU居然不支持avx, 默认的paddlepaddle的cpu版本又需要有支持avx才行,还想用PaddleOCR有啥办法呢? 是否支持avx lscpu | grep avx 支持avx的话,会显示相关信息 如果不支持的话,python运行时导入paddle会报错 怎么办呢 方案一 找公司it,看看虚拟机为什么…

C++基础:constexpr,类型转换和选择语句

constexpr 提到constexpr&#xff0c;我们会发现它和const类比 常和const类比constexpr符号常量必须给定一个在编译时已知的值&#xff0c; 若某个变量初始化时的值在编译时未知&#xff0c;但初始化后绝不变。 #include<iostream> #include<vector> #include&l…

【机器学习基础】激活函数

激活函数 1. Sigmoid函数2. Tanh&#xff08;双曲正切&#xff09;函数3. ReLU函数4. Leaky ReLU函数 1. Sigmoid函数 观察导数图像在我们深度学习里面&#xff0c;导数是为了求参数W和B&#xff0c;W和B是在我们模型model确定之后&#xff0c;找出一组最优的W和B&#xff0c;使…

Go使用exec.Command() 执行脚本时出现:file or directory not found

使用 Go 提供的 exec.Command() 执行脚本时出现了未找到脚本的 bug&#xff0c;三个排查思路 &#xff1a; exec.Command(execName, args…) 脚本名字不允许相对路径 exec.Command(execName, args…) execName 只能有脚本名&#xff0c;不允许出现参数 如果你是使用 Windows …

Python爬虫:商品详情的“八卦记者”

亲爱的代码侦探们&#xff0c;今天咱们不聊那些让人头秃的bug&#xff0c;也不谈那些让人眼花的架构图。咱们来聊聊那些在代码世界里挖掘商品秘密的“八卦记者”——Python爬虫。 Python爬虫&#xff1a;商品详情的“八卦记者” 想象一下&#xff0c;你在代码的世界里&#xf…

[笔记] ffmpeg docker编译环境搭建

文章目录 环境参考dockerfile 文件步骤常见问题docker 构建镜像出现 INTERNAL_ERROR 失败? 总结 环境 docker 环境 系统centos 7.9 (无所谓了 你用docker编译就无所谓系统了) ffmpeg3.3 参考 https://blog.csdn.net/jiedichina/article/details/71438112 dockerfile 文件 …

《等保测评新视角:安全与发展的双赢之道》

在数字化转型的浪潮中&#xff0c;企业面临的不仅是技术革新的挑战&#xff0c;更有信息安全的严峻考验。等保测评&#xff0c;作为国家网络安全等级保护的一项重要措施&#xff0c;不仅为企业的安全护航&#xff0c;更成为推动企业高质量发展的新引擎。本文将从全新的视角&…

如何将markdown文件转换为pdf

最近笔者在用vscode写markdown&#xff0c;但是提交时往往需要交pdf。所以就涉及到如何将markdown转化为pdf格式。 首先&#xff0c;需要在vscode上安装插件 markdown Preview Enhanced 之后在vscode的右上角即可看到下述图标&#xff0c;点击&#xff0c;vscode右半面就会显示…

【论文阅读】PGAN

1. WHY 问题 图像超分辨率一直是一个热门研究课题&#xff0c;具有重要的应用价值。基于生成对抗网络GAN的单幅图像超分辨率方法显示重建图像与人类视觉特征更一致。因此&#xff0c;基于 GAN 的网络优化已成为图像超分辨率的主流。然而&#xff0c;一些最新研究表明&#xf…

【JIT/极态云】技术文档--函数设计

一、简介 函数是计算机编程中非常重要的概念。它是一段代码&#xff0c;可以在程序中多次调用&#xff0c;用于完成特定的任务。 函数通常接受输入参数&#xff0c;执行特定的操作&#xff0c;并返回一个结果。这个结果可以被程序中的其他代码使用。 二、新建函数 在函数列表…

Springboot整合spring-boot-starter-data-elasticsearch

前言 <font style"color:rgb(36, 41, 47);">spring-boot-starter-data-elasticsearch</font> 是 Spring Boot 提供的一个起始依赖&#xff0c;旨在简化与 Elasticsearch 交互的开发过程。它集成了 Spring Data Elasticsearch&#xff0c;提供了一套完整…

mysql-Innodb锁相关内容

1、InnoDB存储引擎包含的锁类型 共享锁&#xff08;S锁&#xff09;和排他锁&#xff08;X锁&#xff09;意向锁记录锁间隙锁Next-key锁插入意向锁Auto-INC 锁空间索引的谓词锁 2、共享锁&#xff08;S锁&#xff09;和排他锁&#xff08;X锁&#xff09;-- 锁定数据行 共享…

使用Git进行团队协作开发

使用Git进行团队协作开发 Git简介 安装Git 在Windows上安装Git 在macOS上安装Git 在Linux上安装Git 设置Git用户信息 创建Git仓库 基本Git命令 添加文件 提交更改 查看状态 克隆仓库 推送更改 获取更改 分支管理 创建分支 切换分支 合并分支 删除分支 解决合并冲突 检查冲突…

docker安装、设置非sudo执行、卸载

安装 sudo snap install docker 设置docker非sudo执行 sudo groupadd docker sudo usermod -aG docker $USER newgrp docker sudo chown root:docker /var/run/docker.sock 卸载docker 1.删除docker及安装时自动安装的所有包 apt-get autoremove docker docker-ce docker-…

数据结构_二叉树

二叉树的性质 满二叉树 完全二叉树 完全二叉树的特点 二叉树的存储结构 顺序存储 链式存储 二叉链表 三叉链表 二叉树遍历算法 先序遍历 先序遍历&#xff1a;ABDC 中序遍历 后序遍历 层次遍历

Win11安装基于WSL2的Ubuntu

1. 概述 趁着还没有完全忘记&#xff0c;详细记录一下在Win11下安装基于WSL2的Ubuntu的详细过程。不得不说WSL2现在被微软开发的比较强大了&#xff0c;还是很值得安装和使用的&#xff0c;笔者就通过WSL2安装的Ubuntu成功搭建了ROS环境。 2. 详论 2.1 子系统安装 在Win11搜…

Unity编辑器 连接不到SteamVR问题记录

问题表现&#xff1a;之前正常的工程&#xff0c;某天打开后运行&#xff0c;在SteamVR未打开时&#xff0c;Unity工程运行后无法调用起来Steam VR&#xff0c;无任何反应&#xff0c;但用其他软件则可以调用起来SteamVR&#xff0c;并且运行正常&#xff0c;在重装了XR的一些插…

nfs作业

nfs作业 服务机&#xff1a; 编写配置文件&#xff1a; [rootlocalhost ~]# vim /etc/exports 配置文件内容&#xff1a; /nfs/shared *(ro,sync) /nfs/upload 192.168.36.0/24(rw,anonuid210,anongid210,sync) /home/tom 192.168.36.132(rw) 创建目录&#xff0c;文件&am…

qt QMainWindow详解

一、概述 QMainWindow继承自QWidget&#xff0c;并提供了一个预定义的布局&#xff0c;将窗口分成了菜单栏、工具栏、状态栏和中央部件区域。这些区域共同构成了一个功能丰富的主窗口&#xff0c;使得应用程序的开发更加简单和高效。 二、QMainWindow的常用组件及功能 菜单栏&…