Як я можу легко видаляти файли в терміналі?


33

Наприклад, я

cd Music
dir

і дістати

123456789.mp3
qweerkrtrkgljdjfkdjfdkf.mp3
a.mp3
b.mp3
blabla.mp3

як видалити, скажімо, файли qweerkrtrkgljdjfkdjfdkf.mp3 та blabla.mp3 з найменшими зусиллями?

UPD : Основна ідея полягає в тому, що імена файлів можуть бути довгими, тому я насправді не хочу їх вводити.

Відповіді:


57

Спробуйте це:

rm -f 2.mp3 blabla.mp3

rmвидаляє файли та -fзмушує їх (щоб він не зупинився, запитуючи, чи потрібно вилучити файл). Якщо цього немає у вашому домашньому каталозі, передбачте sudo. Ось ще один спосіб, який може зажадати меншої кількості тексту (хоч трохи складніше читати)

rm -f {2,blabla}.mp3

Це розширюється до 2.mp3 blabla.mp3. Якщо ви хочете використовувати більші імена файлів, ви можете використовувати символ підстановки ( *), який поверне всі елементи, починаючи / закінчуючи вибраним вами іменем файлу. Наприклад:

rm -f bla*

видалить усі файли, починаючи з bla. Якщо ви використовували це:

rm -f *.mp3

Це видалить усі файли, що закінчуються .mp3. Якщо ви використовували це:

rm -f bla*.mp3

Це видалить усі файли, починаючи з blaі закінчуючи .mp3. Можливості майже нескінченні з *характером: P


1
Я знав, що хтось просто зайде. Дурна клавіатура HTC!

2
Якщо ви належите файлам у власній домашній папці, вам не потрібно використовувати sudo.

Влучне зауваження. Я оновив свою публікацію.
MiJyn

3
Можливо, зауважте, крім того, можливість використовувати символ вкладки для заповнення імен файлів?
Дараель

Що робити, якщо я хочу включити підкаталоги? Я спробував додати -r, але це не вийшло. У мене є кілька таких дратівливих ._. mac index файли, які я хочу очистити від веб-сайту.
Frantumn

4

Як всі кажуть, rm -f <file>це шлях, однак, як сказав камінь-білка, ви можете набрати перші кілька літер і натиснути, <TAB>і це автоматично заповнить ім'я файлу.


0

Спробуйте це: rm qweer*.mp3 bla*.mp3

Увага: Якщо є ім'я файлу, яке починається цими літерами, ця команда виявить це.


0

Як вже згадував @Hckr, між іменем подібності немає. Ви можете використовувати символи, наприклад rm *.mp3видалити всі файли, назви яких закінчуються .mp3. Якщо подібних подібностей немає, потрібно вказати кожен файл окремо.

Насправді ви можете зберегти деякий текст, скориставшись вкладкою. У вашому прикладі, якщо ви введете rm qта натисніть клавішу табулятора, вона буде завершена rm qweerkrtrkgljdjfkdjfdkf.mp3. Це працює, тому що це єдиний файл, починаючи з q. Якщо ви введете rm bцього, недостатньо для завершення, оскільки у вас є два файли, починаючи з b.


0

Легко, rm 2.mp3 blabla.mp3.

ОБЕРЕЖНО: Це призведе до постійного видалення!


Для файлів:

1234.MP3 1345.MP3 1234.MP4

rm -f 1*3*.MP3 буде видалено перші 2, без підтвердження, ПОСТІЙНО!

* що-небудь навіть порожнє, тому воно все ще видаляє друге.


1
Можливо -f after rm

Якщо є один файл, який починається з q, тоді введіть q *, якщо їх більше, він видалить усіх q-початківців.

Ви знаєте, що можете редагувати власну відповідь, щоб включити цю додаткову інформацію.

1
Замість коментарів вам слід скористатися editкнопкою, щоб додати ці чудові доповнення до вашої відповіді.
Марко Чеппі

Готово! Наступного разу я використаю ноутбук.

0

Що б я зробив, це помістити файли, які ви не хотіли видаляти в папку перед запуском цих команд, якщо їх було менше, ніж ви хотіли позбутися. Але в кінцевому підсумку комбінація Wildcards ("*" і "?") Та визначення тверджень допоможуть легко виконати роботу. Просто залежить від файлів, які ви хочете зберегти чи позбутися.

Ви коли-небудь намагалися перетягнути файли для видалення у вікно програми терміналу? Він може клонувати каталог, а також стиль шляху імені файлу для вас. Однак, якщо ви видаляєте лише 2 або 3 файли, я сподіваюся, що це просто для навчальних цілей, інакше я введу шляхи та ім’я файлу вручну, використовуючи "TAB" на моїй клавіатурі, він повинен автоматично заповнити імена файлів, вказані в поточний каталог, який починається з того, що ви вже ввели.


0

Завершення вкладки - це спосіб . Увімкнено bashв Ubuntu за замовчуванням. Це працює так:

$ rm bl<tab>

автоматично буде змінено на

$ rm blabla.mp3

Якщо ім'я файлу неоднозначне, вам потрібно tabще раз натиснути, щоб переглянути список можливих імен файлів:

$ rm b<tab><tab>
blabla.mp3  b.mp3

Це також працює для ряду інших команд, таких як apt-get, serviceі так далі.

Якщо вас зацікавило ще більш складне завершення вкладок, ознайомтеся zshз конфігурацією Grml , це чудово .

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