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

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

cd Music
dir

и получаю

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

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

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

33
задан 14 November 2012 в 23:30

7 ответов

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

0
ответ дан 14 November 2012 в 23:30

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

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

0
ответ дан 14 November 2012 в 23:30

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

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

0
ответ дан 14 November 2012 в 23:30

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

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

0
ответ дан 14 November 2012 в 23:30

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

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


Для файлов:

1234.MP3 1345.MP3 1234.MP4

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

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

0
ответ дан 14 November 2012 в 23:30

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

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

0
ответ дан 14 November 2012 в 23:30

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

$ rm bl<tab>

автоматически изменится на

$ rm blabla.mp3

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

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

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

Если вас интересует еще более сложное завершение табуляции, посмотрите zsh с Grml config , это потрясающе.

0
ответ дан 14 November 2012 в 23:30

Другие вопросы по тегам:

Похожие вопросы: