LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: tzfox

关于文件名后面的“/”的问题

[复制链接]
发表于 2008-11-10 19:35:43 | 显示全部楼层
Post by simdiak;1906761
我有个同学LFS之后他的usr目录很搞笑~在编译软件的时候总是显示 /usr//bin....  /usr//lib...
很神奇~不知道是怎么回事~尽管如此做很多事情也没出过错误~
莫非又是 BLFS 的 Bash Shell Startup Files 作怪?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-10 22:14:02 | 显示全部楼层
谢谢ti8er兄的指教,对这个问题有了进一步的理解。
但我还是不同意你说的mv加不加“/”的说法

举例
mv file1 /file2  :这样会将当前目录下的file1文件移动到/目录下,并且改名为file2
mv file1 /file2/:这样会把当前目录下的file1文件移动到/file2目录下,文件名仍然是file1

这不就说明对mv的话加不加“/”是有区别的吗?
回复 支持 反对

使用道具 举报

发表于 2008-11-10 22:53:56 | 显示全部楼层
Post by tzfox;1906892
谢谢ti8er兄的指教,对这个问题有了进一步的理解。
但我还是不同意你说的mv加不加“/”的说法

举例
mv file1 /file2  :这样会将当前目录下的file1文件移动到/目录下,并且改名为file2
mv file1 /file2/:这样会把当前目录下的file1文件移动到/file2目录下,文件名仍然是file1

这不就说明对mv的话加不加“/”是有区别的吗?

如此偏颇很多 估计这两条指令是先后执行的
在执行第一条指令时,由于file2不存在,所以是重命名
在执行第二条指令时由于file2已经存在,所以是把file1移动到file2目录下
回复 支持 反对

使用道具 举报

发表于 2008-11-11 08:46:58 | 显示全部楼层
Post by tzfox;1906892
谢谢ti8er兄的指教,对这个问题有了进一步的理解。
但我还是不同意你说的mv加不加“/”的说法

举例
mv file1 /file2  :这样会将当前目录下的file1文件移动到/目录下,并且改名为file2
mv file1 /file2/:这样会把当前目录下的file1文件移动到/file2目录下,文件名仍然是file1

这不就说明对mv的话加不加“/”是有区别的吗?


这个例子,你要设置好相同的前提,那就是:

/file2目录之前是否存在?

只要这个前提一样,那么结果肯定是一样的,你可以试试。
回复 支持 反对

使用道具 举报

发表于 2008-11-11 08:54:14 | 显示全部楼层
Linux在命令的实现上是相当有考虑的,那就是,可能涉及到严重误操作的,它都会做好严格的限制;如果结果不是很严重的,它就会考虑得宽松。

比如mv/rm/rmdir这类移动和删除命令,一旦搞错是相当严重的结果,所以,这类命令都是经过仔细设计的,你可以试试,后面无论加不加/其结果都是一样的。否则,要是不一样的话,那加在后面的一个/的区别就可以删错东西,岂不是相当不安全?(注意是加在后面的/,加在前面的那是绝对不一样的,我就搞错过,删除了根目录)

那些比如ls/cat等这样的查看命令,就算是查看错了,问题也不是很大,所以这类程序就设计得比较宽松,在一些情况下就要区分后面的/,以提供更多更灵活的功能。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-11 21:03:34 | 显示全部楼层
Post by ti8er;1906992
Linux在命令的实现上是相当有考虑的,那就是,可能涉及到严重误操作的,它都会做好严格的限制;如果结果不是很严重的,它就会考虑得宽松。

比如mv/rm/rmdir这类移动和删除命令,一旦搞错是相当严重的结果,所以,这类命令都是经过仔细设计的,你可以试试,后面无论加不加/其结果都是一样的。否则,要是不一样的话,那加在后面的一个/的区别就可以删错东西,岂不是相当不安全?(注意是加在后面的/,加在前面的那是绝对不一样的,我就搞错过,删除了根目录)

那些比如ls/cat等这样的查看命令,就算是查看错了,问题也不是很大,所以这类程序就设计得比较宽松,在一些情况下就要区分后面的/,以提供更多更灵活的功能。


同意,受教了,^_^
回复 支持 反对

使用道具 举报

发表于 2008-11-11 23:27:10 | 显示全部楼层
Post by remote fish;1906494
符号链接才会在 ls -l 时出现那种区别


原来如此 !!!!谢谢
回复 支持 反对

使用道具 举报

发表于 2008-11-12 09:52:12 | 显示全部楼层
Post by remote fish;1906494
符号链接才会在 ls -l 时出现那种区别

不好意思 是我误导大家了:sorry
回复 支持 反对

使用道具 举报

发表于 2008-11-12 20:36:53 | 显示全部楼层
Post by lofeng410;1907434
不好意思 是我误导大家了:sorry


呵呵 我也因为这个帖子才弄明白心里的一个疑惑
我有一个/source是符号链接 指向/mnt/lfs/source目录
我cd /sour然后点一次[tab]只会匹配到/source不会出来后面的"/"
再点[tab]才能出来
但是如果是别的目录
比如cd /bi 点一次[tab]就会自动匹配成 /bin/
看了这个帖子我才明白 原来符号链接的原因
回复 支持 反对

使用道具 举报

发表于 2008-11-12 20:50:24 | 显示全部楼层
Post by ppluer;1907714
呵呵 我也因为这个帖子才弄明白心里的一个疑惑
我有一个/source是符号链接 指向/mnt/lfs/source目录
我cd /sour然后点一次[tab]只会匹配到/source不会出来后面的"/"
再点[tab]才能出来
但是如果是别的目录
比如cd /bi 点一次[tab]就会自动匹配成 /bin/
看了这个帖子我才明白 原来符号链接的原因

没有碰上这样的事情的阿
在这种情况下我也是一次[tab]就能出来source后面的/的,而不是需要两次[tab]的:question:
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表