Відповіді:
Чому я не можу використовувати таку команду, щоб знайти всі файли pdf у каталозі та підкаталогах?
Підстановочне поле *.pdfу вашій команді перед виконанням буде розширено bashна всі відповідні файли у поточному каталозі .ls
Як це зробити? (Я використовую bash в ubuntu)
знайти - це ваша відповідь.
find . -name \*.pdf
рекурсивний перелік PDF-файлів. -inameце невідчутлива відповідність випадку, так
find . -iname \*.pdf
перелічує всі файли .pdf, зокрема, наприклад foo.PDF
Також ви можете використовувати ls для обмеженої кількості папок, наприклад
ls *.pdf */*.pdf
знайти всі файли pdf у підпапках (збіги до bar / foo.pdf, не для bar / foo / asdf.pdf, і не для foo.PDF).
Якщо ви хочете видалити файли, знайдені при пошуку, ви можете використовувати
find . -iname \*.pdf -delete
Як говорили інші, відповідь знайдіть.
Тепер, щоб відповісти на іншу частину.
Як я б тоді пішов про видалення всіх цих файлів?
знайти. -iname * .pdf -exec rm {} \;
Повинен це робити.
ls -lкоманду, показуючи розмір файлу, право власності, дату тощо, ви можете використовуватиfindцей-lsпараметр, наприкладfind . -name \*.pdf -ls