【问题标题】:Unix - ls command shows some "outputted" text as a fileUnix - ls 命令将一些“输出”文本显示为文件
【发布时间】:2013-04-26 18:55:02
【问题描述】:
bash-3.2$ ls -ls
total 48
4 -rw-r--r--  1 hdoostie etrade  1545 Aug  8  2012 ~
4 drwxr-xr-- 11 hdoostie etrade  4096 Dec 28  2011 det-us
4 drwxr-xr--  6 hdoostie etrade  4096 Sep 18  2012 etaf
12 -rw-r--r--  1 hdoostie etrade 11867 Jul 31  2012 l:template name="expanded_search">
4 drwxr-xr--  8 hdoostie etrade  4096 Apr 22 11:31 neo
4 drwxr-xr--  5 hdoostie etrade  4096 Jan 29 14:36 neo-apps-skins
4 drwxr-xr--  5 hdoostie etrade  4096 Feb 16  2012 neo-webapp-prospect
4 drwxr-xr--  3 hdoostie etrade  4096 Feb 22  2012 site_04_uat_in_here
4 drwxr-xr--  3 hdoostie etrade  4096 Jun 20  2012 svntest
4 drwxr-xr--  3 hdoostie etrade  4096 Feb 23  2012 xborder_in_here

"l:template name="expanded_search">" 是一些以某种方式显示为文件的文件内容。如何“删除”这个“文件”?

【问题讨论】:

  • 您是说这是ls 中的错误?您确定您没有不小心将文件命名为l:template name="expanded_search">?你为什么确定?
  • 我不知道我做了什么,但不知何故,文件内容以文件名的形式出现,我尝试了 dglo 的答案,它奏效了。

标签: linux unix ls


【解决方案1】:

无论文件名包含什么字符,删除任何文件的方法都是使用它的 inode 编号。你可以使用:

ls -i

这将为您提供旁边带有 inode 编号的文件。然后您可以使用以下命令删除该文件:

find -ium [inode_number] -exec rm {} \;

但在这种情况下,引用文件名也应该足够了:

rm 'l:template name="expanded_search">'

【讨论】:

    【解决方案2】:
    rm l:*
    

    如果你是谨慎型:

    rm -i l:*
    

    【讨论】:

      猜你喜欢
      • 2014-08-17
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多