通过之前接触过终端、盘符、路径及路径切换命令 cd 、set-location。感觉现在对终端的操作没有那么陌生了。

        本篇主要记录一下终端操作过程中 “特殊字符目录名” 的事儿。本编记录的基础环境摘要:

        1、微信小程序项目创建界面的 “其他” 板块所创建的项目,项目名为 OTHER-1。

        2、登录模式为游客模式。

        3、开展的学习项为内部终端学习时遇到的特殊字符目录名。

一、特殊字符目录名

        1.1、终端中出现的一些蓝色目录

        终端学习 Tab 补全命令的时候曾遇到过 ' ' 单引号括起来的文件名,如图1。


微信开发者工具读取xlog日志 微信开发者工具目录_微信小程序

图1

        1.2、白色目录和蓝色目录的对比

        见到这些目录的时候就已经觉得有所不同。出于好奇,还是想了解一下,比较明显的区别就是颜色方面。正常情况下见得比较多的是目录颜色是白色的,而这些目录是蓝色的,如图2。


微信开发者工具读取xlog日志 微信开发者工具目录_微信开放平台_02

图2

       

        从 图2 可以看到蓝色目录都有 ' ' 单引号括起来。

       

        1.3、终端查到的有些目录在 Windows 系统未必能查到

        终端中 cd c:\ 加 Tab 匹配出来的这些蓝色目录有些能在 windows 的 c 盘根目录中找到,有些找不到,如图3。


微信开发者工具读取xlog日志 微信开发者工具目录_学习_03

图3

        以下是终端中 cd c:\ 加 Tab 匹配出来,在 windows c 盘根目录找不到的蓝色目录,如图4。


微信开发者工具读取xlog日志 微信开发者工具目录_学习_04

图4

       

        这些不能在 windows c 盘根目录下找到的蓝色目录,应该属于系统隐藏文件。因为,已经在文件选项把 “隐藏的项目” 打上勾,也没有显示出来,如图5。


微信开发者工具读取xlog日志 微信开发者工具目录_小程序_05

图5

       

        另外,学习过程中也发现终端中 cd c:\ 加 Tab 匹配出的白色目录,有些在 windows c 盘根目录下也没有找不到。应该也属于系统隐藏文件。如图6。


微信开发者工具读取xlog日志 微信开发者工具目录_微信小程序_06

图6

二、蓝色目录的含义

        接触过第一大点的情况后,查阅了一些资料去了解微信开发者工具终端中 ' ' 单引号蓝色目录。

        在微信开发者工具中,当使用 Tab 补全路径上的目录名时,蓝色用单引号括住的目录名通常表示这是一个带有空格或者特殊字符的目录名。

        例如,路径 "C:\Program Files (x86)" 中的 "Program Files (x86)" 包含了空格和括号,为了确保路径能够正确识别,开发者工具会使用单引号括住这部分目录名,来避免解析路径时出现错误。

        这种处理方式有助于确保在命令行或者代码中正确处理带有空格或者特殊字符的路径,保证路径能够被正确识别和操作。

        2.1、蓝色目录的测试用例

        通过对蓝色目录的概念理解,可以实践一下。在 d 盘分别创建两个文件夹,一个是正常英文字符串命名,一个带有特殊符号命名,这两个文件夹分别是 file 和 file(x86),如图7。


微信开发者工具读取xlog日志 微信开发者工具目录_学习_07

图7

        终端中输入 cd d:\ 加 Tab 查看 file 和 file(x86) 的输出区别。确实 file 是白色,而 file(x86) 则是 ' ' 单引号蓝色,如图8。


微信开发者工具读取xlog日志 微信开发者工具目录_微信开放平台_08

图8

        从测试用例的输出中已获悉微信开发者工具终端中显示的 ' ' 单引号蓝色目录名表示这是一个带有空格或者特殊字符的目录名。

        扩展,有次没有输出 cd 直接 d:\  Tab 了目录名,发现了 ' ' 单引号蓝色目录名前面多了一个 & 了符号,如图9。


微信开发者工具读取xlog日志 微信开发者工具目录_微信开放平台_09

图9

         D:\file\ 为黄色是因为前面没有 cd 命令,显眼的黄色提示着这种路径不规范,不能进行有效操作。而 & 'D:\file(x86)\' 的 & 符号代表什么意思呢?& 符号在命令行中通常用于连接多个命令,表示依次执行多个命令。

        根据当前命令行的执行,显然没有上下文的情况。就此查阅了资料得到了一些资讯,原来,在微信开发者工具中,当你在终端中使用 Tab 补全时,如果路径中的目录名包含特殊字符,例如空格或者括号等,那么路径会用单引号括住,而 & 符号则表示这部分路径是一个字符串。

        在例子 & 'D:\file(x86)\' 中的 & 符号实际上用于将路径 'D:\file(x86)\' 视为一个整体的字符串,以确保终端正确识别和处理包含特殊字符的路径。

        以上记录了关于终端中出现的一些蓝色目录的相关资讯。

三、为什么 Windows 系统级别的文件或目录需要加以隐藏?

        已执行的前置条件, Windows 的显示/隐藏文件和文件夹功能,已经把 “隐藏的项目” 打上勾。正常应该能够看到隐藏的文件和文件夹。如第一大点第三小点提及的有些目录终端能查到,而在 Windows 对应的路径上却查不到。

        通过资料学习得知,有一些特殊的系统文件夹,如 C:\System Volume Information\,即使打开了显示隐藏文件和文件夹的情况下,也无法直接在资源管理器中看到或访问。这些文件夹受到更加严格的访问权限控制,以确保系统的安全性和稳定性。

        这些文件夹通常包含有关系统配置、还原点、卷影拷贝以及其他系统保护信息等重要数据。为了避免用户误操作或删除这些文件,Windows 设计为普通用户无法直接查看或修改它们的内容。

        显然 Windows 为了确保系统的安全性和稳定性。某些目录及文件受到了更高级别的系统权限和安全控制,超过了显示/隐藏文件和文件夹选项所能调整的范围。

        从这点上也得知 Windows 的显示/隐藏文件和文件夹功能也有一定的权限控制。如果超出了它的权限范围,即便把 “隐藏的项目” 打上勾,Windows 系统级别的目录及文件也不会显示出来。

四、为什么终端能查到 Windows 不显示的文件或文件夹?

        通过第三点已知 Windows 为了确保系统的安全性和稳定性。某些目录及文件受到了更高级别的系统权限和安全控制,这些重要的目录及文件并不会展示给用户。

        那既然是这么重要的文件,为什么终端又能查到这些文件或文件夹呢?

        通过资料学习得知,在终端中能够查看这些重要文件或文件夹是因为终端(命令提示符或PowerShell)提供了更高级别的系统访问权限,允许用户以管理员身份进行操作。

        当终端中使用管理员权限运行时,你可以绕过一些 Windows Explorer(资源管理器)的权限控制,从而访问到一些普通用户无法直接看到的系统文件和文件夹,包括C:\System Volume Information\这样的系统保护文件夹。从这点上已可以得知为什么终端能查到 Windows 不显示的文件或文件夹。

        在终端中可以通过命令来进入这些系统特殊的目录并查看其中的内容,但这也需要谨慎操作,因为这些文件夹中的内容通常对系统很重要,任何不当的操作都可能会对系统稳定性造成影响。

        显然,终端以管理员身份可以绕过一些系统权限控制,允许用户访问隐藏的系统文件和文件夹。但需要注意,任何对这些文件的操作都需要特别小心,以免对系统造成不可逆转的损坏。

        通过这块的学习也能了解到终端的可操作性较强,终端操作可以精确控制系统和应用的行为,对于工程师而言更加灵活和具有更强的操作性。当然,这些 windows 隐藏的文件夹或文件从本身的出发点来看是不希望让普通用户接触的。所以,即便终端能够接触到这些系统级别的文件夹或文件,工程师们也应了解操作的后果,要对结果有一定的预测性(特别是对于服务器操作)。正因为终端对系统的可操作性比 Windows 高,对于高手而言可能就是终端其吸引处之一吧?       

五、学习总结

        本篇主要记录了终端中文件夹不同的表现形式、谈及了文件夹的级别以及访问权限方面的理解。

        1、微信开发者工具终端中显示的 ' ' 单引号蓝色目录名表示这是一个带有空格或者特殊字符的目录名。

        2、终端中 cd c:\ 加 Tab 匹配出来的文件夹(蓝色和白色),一些系统级别的文件夹或文件在 windows C 盘都没有展示出来。

        3、学习了文件夹的级别以及访问权限方面的知识,了解 Windows 为了确保系统的安全性和稳定性对系统级别的文件夹及文件进行了隐藏,不会显式的展示给用户。另外,也会对某些目录及文件设置更高级别的系统权限和安全控制。

        4、学习了终端 和 windows 文件操作的一些区别,谈及了 Windows 不会显式展示给用户的某些目录及文件,终端操作为什么能访问的一些理解。