2007-04-20

console下特殊文件名的操作

有时候会碰到一些特殊的文件名如:"-aaa"
因为文件操作命令会自动把"-"后面跟的东西解析成option,所以一般来说都不能成功。
可以在文件名前面用参数“--”(两个减号),来达到操作这种文件的目的。如:
$ ls -l -- -aaa
(对于其他特殊字符可以用""把文件名括起来,或在特殊字符前加"\"解析符号)

另外,对于非ASCII字符命名的文件操作。(当前系统还未安装该语言支持时)
例:当前目录下有名为“abc你好”的目录
1.利用自动补全功能
$ cd abc<这里按Tab键> 自动补完后回车就可进入(前提是当前目录下无其他以"abc"开头的文件名)

2.需要工具 hexdump(util-linux包中)。
$ ls -ad abc* |hexdump -c
0000000 a b c 304 343 272 303 \n
$ cd `printf "abc\304\343\272\303"`
当然,如果当前目录存在多个以abc开头的文件就会麻烦很多,只有你自己通过后面的编码值来确定那个才是你真正需要的了。

//EOF

0 comments: