Назад | Перейти на главную страницу

Почему этот файл с точками и обратной косой чертой отображается только с ls -lah, а не ls?

Я удаляю файл, который был идентифицирован как зараженный. В имени этого файла есть точки и обратная косая черта в стиле 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»?

Спасибо.

Это конкретно -a что имеет значение.

Из ls (1):

   -a, --all
          do not ignore entries starting with .

Т.е. обычно имена файлов начинаются с точки (.) считаются «скрытыми» (часто используются, например, для файлов конфигурации в домашнем каталоге пользователя).