好的,我已经在Solaris工作了10多年,从未见过这个......
我有一个目录列表,其中包含一个具有相同名称的文件和子目录:
-rw-r--r-- 1 root other 15922214 Nov 29 2006 msheehan drwxrwxrwx 12 msheehan sysadmin 2048 Mar 25 15:39 msheehan
我使用文件来发现文件的内容,我得到:
bash-2.03# file msheehan msheehan: directory bash-2.03# file msh* msheehan: ascii text msheehan: directory
我不担心文件,但我想保留目录,所以我尝试rm:
bash-2.03# rm msheehan rm: msheehan is a directory
所以这是我的两部分问题:
怎么了?
如何仔细删除文件?
乔纳森
编辑:谢谢你们的回答,两个(到目前为止)都很有帮助,但是将这个列表添加到编辑器中就可以了,唉:
bash-2.03# ls -l > jb.txt bash-2.03# vi jb.txt
其中包含:
-rw-r--r-- 1 root other 15922214 Nov 29 2006 msheehab^?n drwxrwxrwx 12 msheehan sysadmin 2048 Mar 25 15:39 msheehan
始终要小心退格键!
我猜这些实际上是两个不同的文件名"看起来"相同,因为命令文件能够在shell传递名称的扩展版本时区分它们.尝试将ls管道输入od或其他hex/octal转储实用程序,以查看它们是否真的具有相同的名称,或者是否涉及非打印字符.