Відповіді:
Чому я не можу використовувати таку команду, щоб знайти всі файли 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