我正在删除一个被识别为受感染的文件。此文件的名称中包含点和 Windows 样式的反斜杠。(Linux 目录以斜杠分隔,如“/”,而此文件包含斜杠,如“\”)
实际文件名是(请注意,这不是路径,整个字符串是名称):
..\lib\plugin\amd.dll
粘贴的这段文字显示我使用 ls -lah 查看该文件(参见第 4 行)
-rw-rw---- 1 mysql mysql 9.3K Aug 11 2014 host.frm
-rw-rw---- 1 mysql mysql 0 Aug 11 2014 host.MYD
-rw-rw---- 1 mysql mysql 2.0K Aug 11 2014 host.MYI
-rw-rw-rw- 1 mysql mysql 40K Nov 9 2014 ..\lib\plugin\amd.dll
-rw-rw---- 1 mysql mysql 8.4K Feb 7 2015 lokfdh.frm
-rw-rw---- 1 mysql mysql 8.6K Aug 11 2014 ndb_binlog_index.frm
-rw-rw---- 1 mysql mysql 0 Aug 11 2014 ndb_binlog_index.MYD
-rw-rw---- 1 mysql mysql 1.0K Aug 11 2014 ndb_binlog_index.MYI
但是,如果我仅使用“ls”,则不会显示该文件。请参见下面粘贴的没有文件的文本。使用“ls -lah”(如上所示)时,文件会紧跟在“host.MYI”之后出现,但仅使用“ls”(如下所示)时,文件根本不会出现。
host.frm
host.MYD
host.MYI
lokfdh.frm
ndb_binlog_index.frm
ndb_binlog_index.MYD
ndb_binlog_index.MYI
我的问题是,为什么我需要使用“ls -lah”才能看到它?为什么单独使用“ls”无法显示它?
谢谢。
答案1
这恰恰是-a
造成差异的原因。
来自 ls(1):
-a, --all
do not ignore entries starting with .
即,通常以点(.
)开头的文件名被视为“隐藏”的(通常用于用户主目录中的配置文件)。