Чому порожній каталог не відображається в Git Bash (Linux)?


3

Я працюю на комп’ютері, на якому працює ОС Windows 7 64-бітний. Я встановив 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. Чому?

Відповіді:


2

Я хочу переглянути весь вміст, включаючи вміст підкаталогу, один елемент у рядку.

Для отримання потрібного результату скористайтеся параметром -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

Подальше читання


Дякую. Я використовував -1, бо мені сказали, що -1 означає "Перелік 1 елемента на рядок" в Git Bash тут: codeproject.com/Articles/457305/…
srh

Ти правий. Я оновлю відповідь. Ви можете ls -R *отримати потрібний результат?
DavidPostill

@srh У вашому випадку лише один підкаталог в Temp5обох ls -1 -R *і ls -R *дає однаковий вихід.
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.