考虑以下设置:
~/Desktop/Public/subdir
~/Desktop/subdir --> ~/Desktop/Public/subdir (symbolic link)
Run Code Online (Sandbox Code Playgroud)
现在我这样做:
cd ~/Desktop/subdir
Run Code Online (Sandbox Code Playgroud)
这使我进入链接目录。
如果我现在发出命令:
cd ..
Run Code Online (Sandbox Code Playgroud)
我将被移回Desktop
目录。这意味着 cd 命令是上下文敏感的——它记得我是subdir
通过符号链接输入的。
但是,发出命令
cp testfile ..
Run Code Online (Sandbox Code Playgroud)
将复制testfile
到Desktop/Public
.
我喜欢的行为cd
上的(通常不可预测的)行为cp
。无论如何,我想知道这种行为差异的原因是什么?只是遗留问题还是有充分的理由?
我观察到在同一系统的重复启动之间,设备名称/dev/sda
、/dev/sdb/
...和物理硬盘驱动器之间的映射保持不变。
但是,如果我将硬盘驱动器插入主板上的不同插槽或添加/删除驱动器,我不确定它是否保持不变。
Linux 对设备名称到物理硬盘驱动器的映射做出了哪些保证?
它使用哪些规则将物理硬盘驱动器映射到 /dev/ 中的文件?