Как вывести список всех файлов и содержимого подкаталогов в папке на Mac
Оглавление:
Вы когда-нибудь хотели увидеть не только каждый файл в данном каталоге, но и все файлы в этих каталогах, спрятанных в подкаталогах? Если вы ищете то, что в основном представляет собой рекурсивный список файлов в заданной папке, мы покажем отличный трюк для Mac OS Finder, который позволяет вам сделать именно это, а также продемонстрируем несколько более продвинутых подходов с использованием командной строки. .
Как развернуть все подкаталоги и просмотреть содержимое папок в Mac OS Finder
Чтобы быстро увидеть, что находится во всех подкаталогах папки в Finder, откройте родительскую папку и переключитесь на представление списка. Теперь вам нужно удерживать клавишу Option и щелкнуть маленькую стрелку рядом с именем каталога, чтобы развернуть этот каталог и все подкаталоги одновременно.
В результате каждая подпапка, содержащаяся в каталоге, на котором вы щелкнули стрелку, также покажет свое содержимое:
Нажатие этой стрелки еще раз, удерживая клавишу Option, приведет к закрытию всех подкаталогов, в противном случае при нажатии на стрелку это становится новым представлением по умолчанию.
Имейте в виду, что если вы хотите просмотреть скрытые файлы с помощью этого метода, вы должны включить отображение скрытых файлов в Mac OS X Finder отдельно, что затем будет выполняться через каждую папку, пока не будет снова отключен.
Описанный выше подход будет самым простым методом для большинства пользователей, а следующие два метода сосредоточены на командной строке и предназначены для тех, кто комфортно работает в Терминале.
Вывод списка всех файлов и содержимого подкаталогов из командной строки
Чтобы просмотреть список всех файлов рекурсивно из командной строки, вы можете добавить флаг -R к традиционной команде ls. Это расширяет подкаталоги и перечисляет файлы, содержащиеся в них. Эти команды будут работать практически во всех формах Unix, от Mac OS X до Linux или любой другой системы, с которой вы можете столкнуться.
ls -R ~/Рабочий стол/
Вывод примера будет выглядеть примерно так:
/Пользователи/macuser/Рабочий стол//обои: Темная башня.jpg Млечный путь.jpg car.jpg ngc602.jpg Пылающая-звезда-туманность.jpg ngc6188Kfir2000. jpg windows.jpg m33.jpg /Пользователи/macuser/Рабочий стол//поездка: вулкан.jpeg itenerary.txt ticket.JPG
Вывод приличный, но можно было бы сделать лучше.
Использование флагов -lah в дополнение к -R покажет права доступа, владельца, даты модификации и значительно упростит чтение информации о файле. Флаг -a является необязательным, позволяя также отображать скрытые файлы.
ls -lahR ~/Desktop/
Вывод примера будет выглядеть так:
/Пользователи/macuser/Рабочий стол/обои: всего 5464 drwxr-xr-x@ 11 сотрудников macuser 374B 14 января 15:32 . drwxr-xr-x 522 macuser staff 17K 28 янв. 10:20 . -rw-r--r--@ 1 посох macuser 254K 13 янв. 15:44 Dark Tower.jpg -rw-r--r--@ 1 посох macuser 101K 14 янв. 15:32 машины.jpg -rw-r--r--@ 1 посох macuser 141K 13 янв 15:44 star-nebula.jpg -rw-r--r--@ 1 посох macuser 206K 14 янв 09:57 nintendo.jpg -rw- r--r--@ 1 посох macuser 134K 13 янв. 15:44 m33.jpg -rw-r--r--@ 1 посох macuser 1.4M 13 янв. 15:30 milky-way.jpg -rw-r-- r--@ 1 macuser staff 153K 13 янв 15:44 ngc602.jpg -rw-r--r--@ 1 macuser staff 194K 13 янв 15:44 windows.jpg /Users/macuser/Desktop/trip: всего 360 drwxr -xr-x@ 6 macuser staff 204B 9 дек 13:43 . drwxr-xr-x 522 macuser staff 17K 22 янв. 10:20 . -rw-r--r--@ 1 посох macuser 6.0K 9 дек 13:43 .DS_Store -rw-r--r--@ 1 посох macuser 30K 8 дек 12:41 вулкан.jpeg -rw-r-- r--@ 1 macuser staff 45K 8 дек 12:41 itinerary.txt -rw-r--r--@ 1 macuser staff 88K 9 дек 12:31 ticket.JPG
Вы заметите, что путь к каждому файлу указан над самими файлами, расширяя подкаталоги во многом подобно методу Finder, упомянутому выше. Вы можете получить путь для продолжения имени файла, используя совершенно другую команду.
Рекурсивный список всех файлов с указанием полных путей к каталогам
Наконец, если вам нужен список всех файлов с указанием их полных путей, вы можете обратиться к команде find.
find ~/Desktop/Sample/ -type f
Это выведет полный путь к каждому файлу в списке:
/Users/macuser/Desktop/Sample/x11.jpg /Users/macuser/Desktop/Sample/Files/alpha-tool-preview.jpg /Users/macuser /Desktop/Sample/Files/alpha-tool.jpg /Users/macuser/Desktop/Sample/Files/reveal-editing-tools-preview.jpg /Users/macuser/Desktop/Sample/Files/save-transparent-png.jpg
Если вы хотите поделиться с кем-то списком каталогов, команда find, скорее всего, даст наилучшие результаты. В таком случае вы можете легко сбросить вывод в файл, добавив > в конец, например:
find /Path/To/List -type f > FilesWithPaths.txt
Флаг «-type f» означает только обычные файлы, если вы хотите показать больше объектов или символических ссылок, вы можете найти дополнительную информацию на справочной странице.