AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1770368
Accepted
puncher
puncher
Asked: 2023-02-24 03:03:00 +0800 CST2023-02-24 03:03:00 +0800 CST 2023-02-24 03:03:00 +0800 CST

没有前导斜线的路径

  • 772

在路径中,您可以使用相对路径和绝对路径。

  • /: 根目录
  • ./: 当前目录
  • ../: 父目录

但是,当您不使用前导斜杠时,例如,cd path/to/dir它就像您在使用cd ./path/to/dir.

有区别吗?./如果不是,那么没有它时它的工作原理是什么?

path
  • 2 2 个回答
  • 31 Views

2 个回答

  • Voted
  1. Best Answer
    user1686
    2023-02-24T03:24:52+08:002023-02-24T03:24:52+08:00

    标准文件访问没有区别。像这样的路径./foo是有效的,因为.作为路径组件是有效的,并且没有必要故意使它们无效,因此即使您不需要使用变体,它们仍然有效./。

    具体来说有一个区别:像和cd这样的路径在 cd 到它们时不能保证引用当前目录——shell 将另外尝试使用解析它们,而显式锚定的路径 using不会这样做。这与可执行文件的 $PATH 查找非常相似。foofoo/bar $CDPATH./

    其他程序也可能对裸文件名有不同的处理方式(通常类似地对不包含的名称执行路径搜索/)。作为一个不同的例子,“systemd-tmpfiles foo.conf”将在标准系统目录中寻找 foo.conf——而不是在当前目录中。

    使用的能力./最终会以其他方式发挥作用。特别是,因为这样的路径以 开头.,这意味着它不-以or或其他可能的特殊字符开头@;例如,您可以 rm 之类的路径./--help。

    (它对于编写连接路径的通用代码也很有用,例如,$dir/foo如果将 $dir 设置为.,它仍然可以按预期工作,而无需为当前目录设置特殊情况。)

    • 1
  2. harrymc
    2023-02-24T03:25:00+08:002023-02-24T03:25:00+08:00

    当您使用 时./,您声明您引用的是当前文件夹中的文件。如果不使用path它,您可能不打算从当前文件夹执行命令。

    在早期的 Linux 时代,开发人员担心恶意软件会将其程序伪装成当前文件夹中的标准 Linux 应用程序。例如,如果您使用了su并且它被发现在当前文件夹中并窃取了您的登录名和密码。

    .\ 作为预防措施,一些 Linux 发行版仍然不接受从当前文件夹执行程序而不在可执行文件名称前添加。(我被咬过不止一次。)

    • 1

相关问题

  • 长路径文件已成功复制,但无法在 Windows 10 中打开

  • 将 C:\mingw\bin 添加到路径变量中,gcc 仍然无法识别

  • nmap删除用户路径

  • 单个点是 Windows 中的有效文件名吗?

  • 如何设置默认工作目录路径?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve