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

27

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

cd Music
dir

и получим

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

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

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

    
задан Chelios 14.11.2012 в 20:24
источник

7 ответов

46

Попробуйте следующее:

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

    
ответ дан MiJyn 14.11.2012 в 20:26
источник
4

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

    
ответ дан Spice 14.11.2012 в 20:46
0

Попробуйте следующее: rm qweer*.mp3 bla*.mp3

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

    
ответ дан Hckr 14.11.2012 в 20:29
0

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

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

    
ответ дан André Stannek 14.11.2012 в 20:36
0

Простой, rm 2.mp3 blabla.mp3 .

ПРЕДОСТЕРЕЖЕНИЕ: Это приведет к постоянному удалению!

Для файлов:

1234.MP3 1345.MP3 1234.MP4

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

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

    
ответ дан user92200 14.11.2012 в 20:27
0

Я бы поставил файлы, которые вы не хотели удалять в папке, прежде чем запускать эти команды, если их было меньше, чем вы хотели избавиться. Но, в конечном счете, комбинация подстановочных знаков («*» и «?») И определения утверждений облегчит выполнение этой задачи. Просто зависит от того, какие файлы у вас есть, что вы хотите сохранить или избавиться.

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

    
ответ дан R4GN4R 20.07.2013 в 23:44
0

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

$ rm bl<tab>

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

$ rm blabla.mp3

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

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

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

Если вы заинтересованы в еще более сложном завершении вкладки, посмотрите zsh с Grml config , это умопомрачительный.

    
ответ дан kraxor 08.07.2014 в 20:06