Файл не отображается с помощью vi, но отображается с помощью команды ls -l CD *

Я могу сделать ls -l CD* и посмотреть следующий вывод.

CDTEST userA RW RW R

Я зарегистрирован как userA. Но если я сделаю ls -l файл не появится. Если я делаю vi CDTEST он пытается создать новый файл с именем CDTEST . Если я делаю mv или rm я получаю сообщение без файла с именем CDTEST .

2 Solutions collect form web for “Файл не отображается с помощью vi, но отображается с помощью команды ls -l CD *”

Похоже, у вас есть каталог, соответствующий CD* . Когда вы запустите ls -l CD* вы увидите содержимое этого каталога, в которое входит файл CDTEST .

пример

Скажем, у меня была эта структура каталогов.

 $ tree . . `-- CD1 `-- CDTEST 1 directory, 1 file 

Если я запустил следующую команду из того же места:

 $ ls -l CD* total 0 -rw-rw-r--. 1 saml saml 0 Mar 25 21:41 CDTEST 

Вы можете получить список фактических каталогов, если вы добавите ключ -d в ls .

 $ ls -ld CD* drwxrwxr-x. 2 saml saml 4096 Mar 25 21:45 CD1 

Когда вы запускаете свои команды, они относятся к каталогу, содержащему CD1 , у которого нет файла по имени CDTEST . Вы также можете проверить, что находится в вашем текущем каталоге, например:

 $ ls -l 

Или вы можете отфильтровать его с помощью grep следующим образом:

 $ ls -l | grep CD drwxrwxr-x. 2 saml saml 4096 Mar 25 21:45 CD1 

ПРИМЕЧАНИЕ. Обратите внимание, что CD1 имеет d в начале? Это говорит вам, что это каталог.

Насколько я понимаю, файл CDTEST находится внутри папки. Когда вы выдаете команду,

 ls -l CD* 

Вышеупомянутая команда фактически отображает файл CDTEST внутри вашей папки, который отсутствует в текущем рабочем каталоге. Итак, если вы выполните ls -l он не отобразит файл CDTEST, который находится внутри папки. И именно по этой причине создается новый файл, когда вы делаете vi CDTEST или no file found ошибка no file found при выдаче команды mv или rm .

Вероятно, вы выписываете команду vi , mv или rm из pwd .

  • Ls с пробелами + переменными
  • Формат временной метки файла ls -l
  • Команда одиночной строки для последнего файла cat в ls -lrt output?
  • Что более эффективно, ls или ls -l?
  • Почему «ls -l» сообщает физический размер для каталога, когда он сообщает логический размер файла?
  • Как написать вывод из терминала в новый файл с помощью команд linux без изменения выравнивания?
  • Найти каталоги, исключая конечную скобку ')'
  • Разные выходы команд «ls. *» И «ls *.»
  • Есть ли какие-то подводные камни для переопределения ls?
  • Как я могу заставить ls показывать информацию только о каталоге, а не о его подфайлах или содержимом папки?
  • правильный способ перебора содержимого в каталоге
  • Interesting Posts

    Отправить копию вывода скрипта в файл

    Меньше знака после выполнения в сценарии оболочки

    перемещение свободного пространства перед другим разделом (для изменения размера корневой части).

    Ошибка из памяти в Apache работает WordPress с mod_php

    Невозможно использовать find -print в AWK

    Проблема с $ PATH и исполняемым файлом

    Работает ли omxplayer на обычных 64-битных?

    Минимальная совместимая операционная система POSIX

    Запись команды команды в файл без использования перенаправления

    Как кэшированная память работает для исполняемых файлов?

    Не могу понять, почему ssh_exchange_identification: соединение закрыто удаленным хостом

    Как остановить bash слишком умным ограничением вариантов завершения?

    Проверка среды рабочего стола из командной строки

    sed – шаблон только на некоторых предопределенных строках

    Замените одно поле другим, если его запись начинается с определенной буквы

    Linux и Unix - лучшая ОС в мире.