Отримайте список усіх файлів у папці та підпапках у файлі


28

Як я можу отримати список усіх файлів у папці, включаючи всі файли у всіх підпапках і помістити вихід у файл?

Відповіді:


39

Це можна зробити в командному рядку, використовуючи перемикач -R (рекурсивний), а потім передаючи висновок у файл таким чином:

ls -R > filename1

це зробить файл, який називається filename1, у поточному каталозі, що містить повний список каталогів поточного каталогу та всіх підкаталогів під ним.

Ви можете перелічити каталоги, відмінні від поточного, вказавши повний шлях, наприклад:

ls -R /var > filename2

перерахує все в і під / var та помістить результати у файл у поточній директорії під назвою filename2. Це працює в каталогах, що належать іншому користувачеві, включаючи root, поки ви читаєте доступ до каталогів.

Ви також можете перелічити каталоги, до яких ви не маєте доступу, такі як / root за допомогою команди sudo. наприклад:

sudo ls -R /root > filename3

Буде перелічено все в / root, розміщуючи результати у файлі під назвою filename3 у поточному каталозі. Оскільки у більшості систем Ubuntu в цьому каталозі нічого не буде, ім'я файлу3 не міститиме нічого, але воно працювало б, якби це було.


Можливо, сказати людині, що входить до каталогу вперше, можна додати відповідь. Так само це добре працює, якщо я володію каталогом, але якщо я намагаюся в каталозі, скажімо, що належить root, це не було. Я отримав звичайний дозвіл відхилений, а судо слідує за вашою командою також дали дозвіл відмовлено. Чи існує робота навколо без входу як root?
Дамієн

Ну я сказав "поточний" каталог. Правильне використання CD може бути предметом іншого питання, і я впевнений, що він був. Ви можете перелічити каталоги, що належать root, доки ви прочитали доступ до них. Каталоги, що належать root, до яких користувач має доступ для читання, можуть бути перераховані з ls -R. Важко уявити, чому ви хочете перерахувати каталоги, що належать root, до яких у вас немає доступу для читання, але sudo дійсно працює, якщо ви даєте повний шлях. Я додаю приклади для обох цих, але виключаю використання CD.
fabricator4

8

дерево Встановіть дерево

Альтернативою рекурсивному lsє інструмент командного рядка, treeякий пропонує досить багато варіантів для налаштування формату відображуваного виводу. Щоб переглянути всі варіанти, перегляньте сторінку сторінки для дерева .


7

Просто використовуйте findкоманду з назвою каталогу. Наприклад, щоб побачити файли та всі файли в папках у вашому домашньому каталозі, використовуйте

find ~

Перевірте команду пошуку вручну для findкомандиПіктограма manpage

Також перевірте пошук інформаційної сторінки GNU, використовуючи info findкоманду в терміналі.


Це найпотужніший підхід. findмає багато параметрів для налаштування формату виводу та вибору файлів.
pauljohn32

На мій погляд, це найкращий підхід. Простий і практичний. Можна також зробити, $ find . > outputякщо є багато каталогів.
феліппе

4

Також:

gvfs-tree /path/to/folder/

дасть вам те саме, що і дерево, використовуючи інші символи для рядків.

tree -a

також відображати приховані файли

tree -i

не відображати рядки


1
  1. Перейдіть до папки, з якої потрібно отримати список вмісту.
  2. Виберіть потрібні файли у своєму списку ( Ctrl+ Aякщо ви хочете всю папку).
  3. Скопіюйте вміст за допомогою Ctrl+ C.
  4. Відкрийте gedit та вставте вміст за допомогою Ctrl+ V. Він буде вставлений як список, а потім ви можете зберегти файл.

Цей метод не буде включати в себе папку, контент, хоча.


1

Ви також можете використати колегу GUI для treeпропозиції Такката, яка є Баобабом . Він використовується для перегляду папок і папок, часто для аналізу використання диска. Можливо, його встановлено вже, якщо ви використовуєте робочий стіл GNOME (його часто називають аналізатором використання диска).

sudo apt-get install baobab

Ви можете вибрати папку, а також переглянути всі її підпапки, отримуючи також розміри папок та їх вміст, як показано на екрані нижче. Ви просто натискаєте невелику стрілку вниз, щоб переглянути підпапку в папці. Це дуже корисно для швидкого розуміння того, що ви маєте у своїх папках, і може створювати видимі списки, але на даний момент він не може експортувати їх у файл. Однак його запитували як функцію на Launchpad . Ви навіть можете використовувати його для перегляду кореневої файлової системи, якщо ви використовуєте gksudo baobab.

(Ви також можете отримати список файлів з їх розмірами, скориставшись, ls -shR ~/myfolderа потім експортуйте їх у файл.)

Введіть тут опис зображення


ОП хотіла результатів у файлі, мабуть, з ним щось інше. Хоча Баобаб є гарним інструментом, він, схоже, не відповідає вимогам оригінального питання ОП.
fabricator4

@ fabricator4 Я також додав опцію ls, оскільки baobab наразі не може вивести список.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.