Почему команда «ls» * «" ничего не показывает?

ls "*" 

Это ничего не показывает в моем каталоге. Зачем?

Разве это не * подстановочный знак, который будет показывать все?

  • Почему команда ls не перечисляет огромные файлы?
  • Что такое «порядок каталогов» файлов в каталоге (используется `ls -U`)?
  • Возможно ли, чтобы ls поддерживал порядок своих входов
  • Что означают поля в ls -al output?
  • Список всех файлов / двоичных файлов в текущем PATH
  • Как установить ls -lh со временем и длинным форматом даты в порядке убывания в .bashrc
  • разница между «ls -alR /» и «ls -alR / &»?
  • Два файла в одной папке с тем же именем - нужно удалить один, но не оба
  • 2 Solutions collect form web for “Почему команда «ls» * «" ничего не показывает?”

    Когда он находится в двойных кавычках, * не рассматривается как глобус, и поэтому не расширяется. Поэтому вы просите ls указать файл с именем * , который, вероятно, не существует.

    Чтобы увидеть все файлы, вы можете запускать ls без каких-либо аргументов, так как по умолчанию это показать вам все файлы в текущем каталоге. Если вы хотите передать все файлы в качестве аргументов в ls по какой-либо причине, просто удалите кавычки, чтобы вы запускали

     ls * 

    но это действительно похоже на

     ls 

    за исключением того, что если у вас много файлов * могут расширяться, чтобы передать слишком много аргументов в ls , а также ls * покажет содержимое каталогов, а ls сам по себе покажет, что каталоги находятся в текущем каталоге, не спускаясь в них.

     ls *.* /Dir (dir is optional) 

    перечисляет каждый файл (независимо от типа файла) в текущем рабочем каталоге пользователей (найденном pwd) или в / Dir и

     ls * /Dir (dir optional) 

    перечисляет каждый файл и каталог один ниже в текущем рабочем каталоге пользователя или в / Dir. Однако,

     ls "*" & ls *.* 

    не будут перечислены рекурсивно, для этого вам нужно

     ls -R *.* /Dir 

    или

     ls -R "*" /Dir 

    Что касается причин

     ls "*" 

    не работает правильно, вы правы: * является подстановочным знаком, и когда вы вызываете ls так:

     ls "*" 

    вы просите bash найти файл и / или каталог, в котором есть звездочка. Я установил IDE и не смог найти конфигурацию и основные файлы для него, поэтому я использовал эти команды для поиска файлов:

    (найти файлы, соответствующие шаблону, и перенаправить их в определенный файл)

     locate *eclipse* >locate_eclipse.txt locate *tar* > locate_tar.txt locate *.tar* > locate_".tar".txt locate *compiler* > locate_compiler.txt locate *JRE* > locate_JRE.txt locate *jre* > locate_jre.txt 

    (Искал всю файловую систему и печатает только те, которые соответствуют шаблону)

     ls -R / | grep "eclipse" ls -R / | grep "tar" ls -R / | grep ".tar" ls -R / | grep "compiler" ls -R / | grep "JRE" 

    Извините за spiel, но я попытался охватить большинство баз.

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