Как я могу свободно удалять файлы в терминале?

Например, я делаю

cd Musicdir

и получить

123456789.mp3qweerkrtrkgljdjfkdjfdkf.mp3a.mp3b.mp3blabla.mp3

как мне удалить, скажем, файлы qweerkrtrkgljdjfkdjfdkf.mp3 и блабла.mp3 с наименьшими усилиями?

UPD: Ключевая идея заключается в том, что имена файлов могут быть длинными, поэтому я на самом деле не хочу их вводить.

Попробуйте это:

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

Так же, как все говорят, rm -f <file> однако, как сказал стоундскиррел, вы можете ввести первые несколько букв и нажать <TAB> и он автоматически заполнит имя файла.

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

ВНИМАНИЕ: Это приведет к необратимому удалению!


Для файлов:

1234.MP31345.MP31234.MP4

rm -f 1*3*.MP3 удалил бы первые 2, без подтверждения, НАВСЕГДА!

* является ли что-либо вообще пустым, поэтому оно все равно удаляет второе.

Попробуйте это:rm qweer*.mp3 bla*.mp3

Внимание: Если существует имя файла, начинающееся с этих букв, эта команда определит это.

Как уже упоминал @Hckr, между этими названиями нет никакого сходства. Вы можете использовать подстановочные знаки, например rm *.mp3 удалит все файлы, имена которых заканчиваются на .mp3. Если таких сходств нет, вам нужно указать каждый файл отдельно.

На самом деле вы можете сэкономить на вводе текста, используя завершение ввода табуляции. В вашем примере, если вы введете rm q и нажмите клавишу табулятора, она будет завершена, чтобы rm qweerkrtrkgljdjfkdjfdkf.mp3. Это работает, потому что это единственный файл, начинающийся с q. Если бы вы напечатали rm b этого было бы недостаточно для завершения, потому что у вас есть два файла, начинающихся с b.

Что бы я сделал, так это поместил файлы, которые вы не хотели удалять, в папку перед выполнением этих команд, если их было меньше, чем вы хотели бы избавиться. Но в конечном счете комбинация подстановочных знаков ("*" и "?") и определяющих операторов позволила бы легко выполнить эту работу. Все зависит от того, какие файлы у вас есть, которые вы хотите сохранить или от которых хотите избавиться.

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

Завершение вкладки является путь. Он включен для bash в Ubuntu по умолчанию. Это работает следующим образом:

$ rm bl<tab>

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

$ rm blabla.mp3

Если имя файла неоднозначно, вам нужно нажать tab еще раз, чтобы просмотреть список возможных имен файлов:

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

Это также работает для ряда других команд, таких как apt-get, service и так далее.

Если вы заинтересованы в еще более сложном заполнении вкладок, ознакомьтесь с zsh с Конфигурация Grml, это умопомрачительно.