发现liunx文件系统的“bug”
-
- 帖子: 403
- 注册时间: 2007-10-27 1:04
发现liunx文件系统的“bug”
我将根目录下,两个分别叫document\files的文件夹,ln -s 到了“家”目录下面,分别叫
Document和Files(注意,首字母变成了大写!)
惊奇地发现,当我cd ~/Files后,再ls ..;
竟然,相当于在根目录下ls /!
cd ../Do<tab>
tab补全,也不管用了。(cd ~/Do<tab>这种补全,可以用。)
但是输入完全的话,还是能改变工作目录的。
我记得好像说,文件夹有记录..和.的指向的。发生上述现象,只能说明,ls是直接读取的
当前文件夹的..的信息。而没有去管逻辑上的工作目录。
不知道,这个“特性”算不算bug?
Document和Files(注意,首字母变成了大写!)
惊奇地发现,当我cd ~/Files后,再ls ..;
竟然,相当于在根目录下ls /!
cd ../Do<tab>
tab补全,也不管用了。(cd ~/Do<tab>这种补全,可以用。)
但是输入完全的话,还是能改变工作目录的。
我记得好像说,文件夹有记录..和.的指向的。发生上述现象,只能说明,ls是直接读取的
当前文件夹的..的信息。而没有去管逻辑上的工作目录。
不知道,这个“特性”算不算bug?
-
- 帖子: 403
- 注册时间: 2007-10-27 1:04
Re: 发现liunx文件系统的“bug”
忘记说明了,我用的是ext4文件系统——不过,貌似与文件系统无关,感觉这个应该属于“上层”点的问题。
----------------------------------------------------------------------
描述不完全。
在~/Files下面,cd 命令,可以对非符号连接的文件夹名字,进行补全。只是,不能补全符
号连接的文件夹。
在正常的文件夹下面,则cd ../Do<tab>没有问题,是否符号连接的文件夹,都能补全。
这应该算是bash解释器的bug?
----------------------------------------------------------------------
描述不完全。
在~/Files下面,cd 命令,可以对非符号连接的文件夹名字,进行补全。只是,不能补全符
号连接的文件夹。
在正常的文件夹下面,则cd ../Do<tab>没有问题,是否符号连接的文件夹,都能补全。
这应该算是bash解释器的bug?
- poweroff
- 帖子: 395
- 注册时间: 2008-12-13 15:03
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 发现liunx文件系统的“bug”
zsh 好像也能设置成这样。你找找 shell 的相关选项吧。
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
- 瓦特1
- 帖子: 383
- 注册时间: 2009-09-16 22:54
Re: 发现liunx文件系统的“bug”
linux对大小写敏感
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
Re: 发现liunx文件系统的“bug”
tcsh 也这样!poweroff 写了:bash特有的问题。
- Fermat618
- 帖子: 728
- 注册时间: 2008-12-28 16:01
Re: 发现liunx文件系统的“bug”
就应该这样啊。
目录也是文件,链接指向文件,访问链接会访问那个文件。而..和.也是文件夹里面的一个成员。所以,你访问一个链接后再.., 就是访问那个链接所对应的文件的.., 当应该是原来所在目录的父目录了。
目录也是文件,链接指向文件,访问链接会访问那个文件。而..和.也是文件夹里面的一个成员。所以,你访问一个链接后再.., 就是访问那个链接所对应的文件的.., 当应该是原来所在目录的父目录了。
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
- Fermat618
- 帖子: 728
- 注册时间: 2008-12-28 16:01
Re: 发现liunx文件系统的“bug”
我想你是把cd 默认是 cd -L 还是 cd -P 和这个搞混了吧。cd是shell内建命令,归shell管,但ls ../xxx 不是shell内置,不归shell管的。这个要能在shell里设置那还了得。lilydjwg 写了:zsh 好像也能设置成这样。你找找 shell 的相关选项吧。
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 发现liunx文件系统的“bug”
他「cd ~/Files后」,又没有「pwd」下,你怎么知道它当时不是在「/files」下呢?Fermat618 写了:我想你是把cd 默认是 cd -L 还是 cd -P 和这个搞混了吧。cd是shell内建命令,归shell管,但ls ../xxx 不是shell内置,不归shell管的。这个要能在shell里设置那还了得。lilydjwg 写了:zsh 好像也能设置成这样。你找找 shell 的相关选项吧。
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 发现liunx文件系统的“bug”
好吧,我弄错了。这个现象的解释如下:Fermat618 写了:我想你是把cd 默认是 cd -L 还是 cd -P 和这个搞混了吧。cd是shell内建命令,归shell管,但ls ../xxx 不是shell内置,不归shell管的。这个要能在shell里设置那还了得。lilydjwg 写了:zsh 好像也能设置成这样。你找找 shell 的相关选项吧。
代码: 全选
10021 ~tmp
>>> ln -s /var test # 测试用的软链接
10022 ~tmp
>>> cd test
10024 ~tmp/test
>>> ls -id .. # 注意到了吗,~tmp/test 下的 .. 文件 inode 号为 2...
2 ..
10025 ~tmp/test
>>> ls -id / # ...它就是 / 了
2 /
-
- 帖子: 57
- 注册时间: 2009-02-03 10:16
Re: 发现liunx文件系统的“bug”
楼主你这个是软链接啊 就是这样的cd 进了 / 下的file