Почему этот файл с точками и обратной косой чертой отображается только с 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", чтобы увидеть это? Почему "лс" не показывает это?
Спасибо.
1 ответ
Это конкретно -a
что имеет значение.
Из лс (1):
-a, --all
do not ignore entries starting with .
Т.е. обычно имена файлов начинаются с точки (.
) считаются скрытыми (часто используются, например, для файлов конфигурации в домашнем каталоге пользователя).