Почему в Git Bash (Linux) не отображается пустой каталог?
Я работаю на компьютере под управлением Windows 7 64-bit. Я установил Git и работаю над Git Bash.
На моем диске D: у меня есть каталог с именем Temp5
,
внутри Temp5
каталог У меня есть каталог с именем EmptyDir_5_1
и ничего больше.
внутри EmptyDir_5_1
каталог У меня есть каталог с именем EmptyDir_5_1_1
и ничего больше.
внутри EmptyDir_5_1_1
В каталоге нет ничего.
Я открыл Git Bash и изменил каталоги на Temp5
каталог с помощью этой команды:
cd /d/Temp5
Теперь я хочу видеть все содержимое, включая содержимое подкаталога, как отдельные элементы в строке. Поэтому я использовал эту команду:
ls -1 *
Но это только отображает этот вывод:
EmptyDir_5_1_1
Я ожидал, что он также отобразит каталог EmptyDir_5_1 и тот факт, что EmptyDir_5_1_1 является подкаталогом каталога EmptyDir_5_1. Вместо этого он просто пропускает отображение каталога EmptyDir_5_1. Зачем?
1 ответ
Я хочу видеть все содержимое, включая содержимое подкаталога, по одному элементу в строке.
Чтобы получить результат, который вы хотите использовать -R
(список подкаталогов рекурсивно) опция:
$ ls -R *
EmptyDir_5_1:
EmptyDir_5_1_1
EmptyDir_5_1/EmptyDir_5_1_1:
Если вы хотите -l
(формат длинного списка):
$ ls -lR *
EmptyDir_5_1:
total 0
drwxrwxr-x+ 1 DavidPostill None 0 Jul 24 17:04 EmptyDir_5_1_1
EmptyDir_5_1/EmptyDir_5_1_1:
total 0
объяснение
Подстановочный знак
*
соответствует единственный файл в каталоге (который является подкаталогомEmptyDir_5_1
) а такжеls
отображает содержимое этого подкаталога.использование
echo *
чтобы точно увидеть, что*
Матчи:
$ echo * EmptyDir_5_1
- Следующие команды предоставят вам точно такой же вывод:
$ ls * EmptyDir_5_1_1 $ ls EmptyDir_5_1 EmptyDir_5_1_1
дальнейшее чтение
- ls - список информации о файлах.
- расширения оболочки