Например, я делаю
cd Music
dir
и получаю
123456789.mp3
qweerkrtrkgljdjfkdjfdkf.mp3
a.mp3
b.mp3
blabla.mp3
, как удалить, скажем, файлы qweerkrtrkgljdjfkdjfdkf.mp3 и blabla .mp3 с наименьшими усилиями?
UPD : Основная идея заключается в том, что имена файлов могут быть длинными, поэтому я на самом деле не хочу их печатать.
Как и все говорят, rm -f <file>
- это путь, однако, как сказал stonedsquirrel, вы можете набрать первые несколько букв и нажать <TAB>
, и он автоматически заполнит имя файла.
Попробуйте это:
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 qweer*.mp3 bla*.mp3
Внимание. Если имя файла начинается с этих букв, эта команда обнаружит это.
Как уже упоминал @Hckr, между именем нет сходства. Вы можете использовать подстановочные знаки, например, rm *.mp3
удалит все файлы, имена которых заканчиваются на .mp3
. Если таких сходств нет, вам нужно указывать каждый файл индивидуально.
Фактически, вы можете сохранить некоторую печать с помощью табуляции. В вашем примере, если вы наберете rm q
и нажмете клавишу табуляции, он будет завершен до rm qweerkrtrkgljdjfkdjfdkf.mp3
. Это работает, потому что это единственный файл, начинающийся с q
. Если вы наберете rm b
, этого будет недостаточно для завершения, потому что у вас есть два файла, начинающиеся с буквы b.
Легко, rm 2.mp3 blabla.mp3
.
ВНИМАНИЕ: Это приведет к окончательному удалению!
Для файлов:
1234.MP3
1345.MP3
1234.MP4
rm -f 1*3*.MP3
будут удалены первые 2, нет подтверждения, ПОСТОЯННО!
* - это что-то даже пустое, поэтому оно все еще удаляет второе.
Что бы я сделал, это поместил файлы, которые вы не хотели удалять, в папку перед выполнением этих команд, если их было меньше, чем вы хотели от них избавиться. Но в конечном итоге сочетание Wildcards ("*" и "?") И определяющих операторов сделало бы работу легко. Все зависит от того, какие файлы у вас есть, которые вы хотите сохранить или от которых избавитесь.
Вы когда-нибудь пытались перетащить файлы для удаления в окно терминала? Он может клонировать каталог, а также стиль пути имени файла для вас. Однако, если вы удаляете только 2 или 3 файла, я надеюсь, что это просто для целей обучения, в противном случае я бы набрал пути и имя файла вручную, используя «TAB» на моей клавиатуре, он должен автоматически заполнить имена файлов, указанные в текущий каталог, который начинается с того, что вы уже набрали.
Закладка является способом . Он включен для bash
в Ubuntu по умолчанию. Это работает так:
$ rm bl<tab>
автоматически изменится на
$ rm blabla.mp3
Если имя файла неоднозначно, вам нужно еще раз нажать tab kbd> см. список возможных имен файлов:
$ rm b<tab><tab>
blabla.mp3 b.mp3
Это также работает для ряда других команд, таких как apt-get
, service
и т. д.
Если вас интересует еще более сложное завершение табуляции, посмотрите zsh
с Grml config , это потрясающе.