- Как удалить файл в Linux через терминал
- Удаление файлов с помощью rm
- Синтаксис и опции команды rm
- Поиск и удаление файлов с помощью find
- Работа с «плохими» файлами в командной строке в Linux
- В названии файла есть служебный символ bash
- Имя файла начинается с дефиса
- Удаляем по wildcard
- Файлы с управляющим символом в названии
- Удаление файлов с символами utf8
- Перекодировка имени файла
- Автокомплит
- Удаляем файл через меню выбора
- Удаление по номеру inode
- Удаление по hex-коду
- Как удалить файлы и каталоги с помощью командной строки Linux
- How to Remove Files and Directories Using Linux Command Line
- В этом руководстве мы покажем Вам, как использовать rm , unlink и rmdir команды для удаления файлов и каталогов в Linux.
- Как удалить файлы
- Как удалить каталоги (папки)
- Вывод
- Как удалить файлы и каталоги в терминале Linux
- Как удалить файлы и каталоги в терминале Linux
- Удаление файлов и каталогов в терминале Linux
Как удалить файл в Linux через терминал
В операционной системе Linux практически все операции можно выполнить с помощью терминала. Для этого в системе предусмотрено мужество очень мощных и гибких команд и утилит, которые позволяют очень тонко управлять системой.
В этой инструкции мы рассмотрим удаление файлов. Это типичная и очень простая процедура, выполнять которую должен уметь любой пользователь. Здесь вы узнаете, как удалить файл в Linux через терминал и какие команды для этого понадобятся. Статья будет актуальной для любого дистрибутива Linux, например, Ubuntu Linux, Debian и т. д.
Удаление файлов с помощью rm
Для того чтобы удалить файл в Linux через терминал необходимо использовать команду « rm » (от английского «remove»). Данная команда удаляет все указанные ей файлы, но по умолчанию не удаляет каталоги. Чтобы позволить команде « rm » удалять каталоги нужно добавить опцию « -r » или « -R ». Более подробно об этом во второй половине статьи.
Также нужно отметить, что команда « rm » не выполняет физическое удаление данных, вместо этого указанные файлы просто удаляются из файловой системы, а занимаемое ими место маркируется как свободное. Это означает, что после удаления данные остаются на диске и пока они не будут перезаписаны другими данными, их можно будет восстановить с помощью специальных программ. Для физического удаления данных с перезаписью диска следует использовать команду « shred ».
В общем случае для удаления файла в Linux через терминал достаточно просто ввести в терминал « rm » и указать имя документа. Например, для того чтобы удалить « file1.txt » из текущего каталога нужно выполнить вот такую команду:
Если удаляемый файл находится не в текущем каталоге, то в терминале нужно указать полный путь. Например, это может выглядеть вот так:
При необходимости, с помощью команды « rm » можно удалить сразу несколько файлов. Для этого просто введите « rm » и перечислите имена через пробел, например:
Для удаления большого количества похожих файлов можно использовать маски. Например, чтобы удалить все документы с расширением txt нужно выполнить вот такую команду:
Также маску можно использовать для удаления вообще всех файлов. Например, чтобы удалить все файлы в текущей папке нужно выполнить:
Аналогичным способом можно удалить все файлы в определенной папке:
Главное, соблюдать осторожность, так как при использовании масок можно удалить что-то лишнее.
Синтаксис и опции команды rm
Команда « rm » имеет множество опций, что позволяет очень тонко управлять процессом удаления файлов. Вы можете изучить все доступные опции если введете в терминал Linux команду « man rm ». Здесь же мы будем рассматривать самые простые и часто используемые опции.
Синтаксис команды « rm » выглядит следующим образом:
Разберем основные опции команды rm:
Теперь разберем некоторые опции, которые часто используются при удалении файлов в Linux через терминал. Например, очень часто возникает необходимость удалить папку вместе с всем содержимым. Для этого нужно использовать опцию «-r», которая включает рекурсивный обход папок. Например, для того чтобы удалить папку «folder1» и все ее содержимое нужно выполнить:
Если права доступа к файлу разрешают только чтение, то в терминале Linux появится запрос подтверждения, и чтобы продолжить вам нужно будет ввести букву « y » (от англ. «yes»).
Чтобы избежать такой ситуации и удалять все файлы без предупреждения нужно использовать опцию « -f ». Например:
Не редко возникает необходимость удалить папку вместе со всеми файлами и без запросов на подтверждение. В этом случае нужно комбинировать опции « -r » и « -f ». В результате команда выглядит вот так:
Если вы, наоборот, хотите каждый раз получать запрос подтверждения, то команду « rm » нужно выполнять с опцией « -i ». Например, для того чтобы удалить все файлы в текущем каталоге с запросом подтверждения нужно выполнить:
Также бывает полезной опция « -v ». При ее использовании в терминале будет появляться подробная информация о выполняемых действиях. Например, для того чтобы удалить все файлы в текущем каталоге и вывести информацию в терминал нужно выполнить:
Также вывод информации можно перенаправить в файл. Для этого после команды нужно использовать оператор перенаправления вывода ( > ) и указать название файла. Например:
Естественно все эти опции можно комбинировать, в зависимости от ваших задач.
Поиск и удаление файлов с помощью find
Также нужно отметить, что существуют и альтернативные способы удаления файлов. Например, вы можете использовать команду поиска « find ». Команда « find » будет полезна в тех случаях, когда вам нужно удалить определенные файлы в целом ряде папок.
Например, для того чтобы найти и удалить все txt-файлы в текущей и во всех вложенных папках можно выполнить вот такую команду:
Чтобы узнать больше об использовании « find » введите в терминал команду « man find ».
Источник
Работа с «плохими» файлами в командной строке в Linux
При работе в командной строке администраторы часто сталкиваются с необходимостью что-то сделать с определенным файлом: удалить, переместить, скопировать. При выполнении подобных задач зачастую приходится обращаться к файлам по имени, что может быть затруднительно, поскольку в именах файлов могут встречаться самые разные символы. Даже те, которых нет на клавиатуре. В этом плане работу может облегчить файловый менеджер, в котором файл можно просто выделить и совершить с ним нужное действие. Но для тех, кто привык работать исключительно в командной строке, предлагаются следующие способы.
В качестве shell-оболочки рассмотрим bash, как самую используемую. А в качестве операции над файлами рассмотрим удаление, как самую деструктивную.
Ситуации могут быть разными. В текущей директории могут быть файлы, которые нужно удалить вместе с теми, которые нужно оставить. Имена у них могут быть самыми разными. Причем первые от последних могут отличаться только одним каким-нибудь заковыристым символом.
В названии файла есть служебный символ bash
Самый простой случай. Для удаления файлов, содержащих в своем названии служебные символы вроде пробелов, кавычек, двойных кавычек, звездочек, обратные кавычки и др. можно заэкранировать обратным слешем или использовать одинарные кавычки:
С помощью одинарных кавычек нельзя удалить файл, в названии которого есть одинарная кавычка, даже заэкранировав ее.
С полным списком служебных символов и механизмом экранирования в bash можно ознакомиться в man bash. Раздел QUOTING.
Имя файла начинается с дефиса
Удалить файл, начинающийся с дефиса простым экранированием не получится, и команда rm будет воспринимать дефис, как начало своего аргумента. Решить проблему довольно просто:
Удаляем по wildcard
Если удаление файлов попадает под wildcard-маску, то можно удалить всю группу файлов:
Файлы с управляющим символом в названии
В названии файла может встречаться управляющий ASCII-символ, такой как перевод строки (\n), табуляция (\t), backspace (\b). Это символы с ASCII-кодами менее 0x20, а также символы DELETE и ESC. Для удаления таких файлов подходит конструкция:
Другим способом удаления таких файлов являяется ввод управляющего символа с клавиатуры. Для этого нужно воспользоваться комбинацией клавиш, которая экранирует следующий введенный символ, тем самым запрещая системе обрабатывать его. Как правило, эта комбинация CTRL+V. Точно убедиться в этом можно с помощью команды stty -a, посмотрев на параметр lnext. Удалим файл, содержащий символ ESC:
Удаление файлов с символами utf8
Если имя файла содержит символ в кодировке utf8, который мы не можем набрать на клавиатуре, то удалить такой файл можно выделением его мышкой, копированием в буфер обмена и последующей вставкой на ввод команды rm. Главное условие состоит в том, что наш терминал должен работать в кодировке utf8. Кодировка выставляется в настройках терминала. Будь то xterm, putty или брутальный linux tty.
Перекодировка имени файла
Подозревая, что имя файла находится в кодировке, отличной от кодировки терминала, мы можем выполнить перекодирование всех файлов в текущей директории. В результате файлы с битой кодировкой будут перекодированы, а файлы с ascii-символами изменений не претерпят. Существенный плюс этого способа – приведение всех файлов в читабельный вид.
Как видно, чтобы осуществить правильное перекодирование нужно знать две кодировки: предполагаемую кодировку файла и кодировку нашего терминала. Наиболее трудно распознать предполагаемую кодировку файла по непонятным символам. Есть замечательная табличка
Также можно воспользоваться сторонними программами, которые попытаются распознать кодировку автоматически. Например, онлайн-декодер Лебедева.
Если вы встретили такие символы в примонтированном media-носителе или смонтированном разделе Windows, не спешите ничего перекодировать. Возможно, вы просто указали неправильные опции монтирования.
Автокомплит
В случае, если в директории название требуемого файла начинается уникально, и это название можно однозначно сформировать автокомплитом, то это довольно простой способ удалить файл:
Удаляем файл через меню выбора
Если мы дошли сюда, дело плохо. Попробуем удалить конкретный файл, составив для этого меню выбора. В итоге, все что нам останется сделать – это выбрать нужный пункт меню вместо ввода имени файла. Для этого нам нужно запрограммировать действие, которое будет происходить с файлом или файлами после ввода нами нужных пунктов меню.
Удаление по номеру inode
Удалить файл можно по его номеру inode. Номер inode уникально идентифицирует файл в файловой системе. Узнать номер inode можно с помощью команды ls, а удалить – с помощью find. Недостаток этого способа, такой же, как у предыдущего. Неудобно, в случае большого числа файлов.
Удаление по hex-коду
И нельзя не упомянуть один суровый метод. Удаление по hex-кодам. Суть такова: мы узнаем hex-коды всех байтов в имени файла, а затем удаляем файл, указывая вместо имени hex-коды.
Хорошо, все-таки, что на практике такие файлы попадаются нечасто.
Источник
Как удалить файлы и каталоги с помощью командной строки Linux
How to Remove Files and Directories Using Linux Command Line
В этом руководстве мы покажем Вам, как использовать rm , unlink и rmdir команды для удаления файлов и каталогов в Linux.
Как удалить файлы
Чтобы удалить (или удалить) файл в Linux из командной строки, используйте команду rm (удалить) или unlink команду.
Команда unlink позволяет удалить только один файл, при этом rm вы можете удалить несколько файлов одновременно.
Будьте особенно осторожны при удалении файлов или каталогов, потому что, как только файл удален, он не может быть легко восстановлен.
Чтобы удалить один файл, используйте команду rm or, unlink а затем имя файла:
Если файл защищен от записи, вам будет предложено подтвердить, как показано ниже. Чтобы удалить тип файла y и нажмите Enter . В противном случае, если файл не защищен от записи, он будет удален без запроса.
Чтобы удалить несколько файлов одновременно, используйте rm команду, за которой следуют имена файлов, разделенные пробелом.
Вы также можете использовать подстановочный знак ( * ) и обычные расширения для сопоставления нескольких файлов. Например, чтобы удалить все .pdf файлы в текущем каталоге, используйте следующую команду:
При использовании обычных расширений сначала перечислите файлы с помощью ls команды, чтобы вы могли видеть, какие файлы будут удалены перед выполнением rm команды.
Используйте опцию rm with -i для подтверждения каждого файла перед его удалением:
Чтобы удалить файлы без запроса, даже если файлы защищены от записи, передайте параметр -f (force) rm команде:
Вы также можете комбинировать rm варианты. Например, чтобы удалить все .txt файлы в текущем каталоге без запроса в подробном режиме, используйте следующую команду:
Как удалить каталоги (папки)
В Linux вы можете удалять / удалять каталоги с помощью rmdir и rm .
rmdir утилита командной строки для удаления пустых каталогов, в то время как rm вы можете рекурсивно удалять директории и их содержимое.
Чтобы удалить пустой каталог, используйте либо имя, rmdir либо rm -d имя каталога:
Чтобы удалить непустые каталоги и все файлы в них, используйте rm команду с параметром -r (рекурсивный):
Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление.
Чтобы удалить непустые каталоги и все файлы без запроса, используйте rm с -r (recursive) и -f параметрами:
Чтобы удалить несколько каталогов одновременно, используйте rm -r команду, за которой следуют имена каталогов, разделенные пробелом.
Как и в случае с файлами, вы также можете использовать подстановочный знак ( * ) и обычные расширения для соответствия нескольким каталогам.
Вывод
Теперь вы должны иметь хорошее представление о том , как использовать Linux rm , rmdir и unlink команды , и вы должны иметь возможность безопасно удалить файлы и папки из командной строки.
Источник
Как удалить файлы и каталоги в терминале Linux
Как удалить файлы и каталоги в терминале Linux
В этом руководстве мы покажем вам, как удалить файлы и каталоги в терминале Linux. Удаление файлов и папок также является одним из самых важных. Если вы никогда ни от чего не избавитесь, довольно скоро все эти лишние гигабайты отразятся на вычислительной мощности вашей системы Linux, оперативной памяти и жестком диске, не говоря уже о том, что ваша цифровая жизнь будет напоминать ужасный эпизод из Hoarders.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo ‘ к командам для получения привилегий root.
Удаление файлов и каталогов в терминале Linux
- Удалить файлы с помощью rm
Чтобы удалить (или удалить) файл в Linux из командной строки, используйте rm (удалить). Самый простой случай — это удаление одного файла в текущем каталоге. Введите rm команду, пробел и затем имя файла, который вы хотите удалить:
Вы можете передать более одного имени файла в rm. При этом удаляются все указанные файлы:
- Удалить каталоги с помощью rm
Чтобы удалить пустой каталог, используйте параметр (каталог). Вы можете использовать подстановочные знаки ( ) в именах каталогов так же, как и в именах файлов: — d *
Более чем одно имя каталога удаляет все указанные пустые каталоги:
Чтобы удалить непустые каталоги и подавить эти запросы, используйте параметры — r (рекурсивный) и — f (принудительно) вместе:
- Удалить каталоги с помощью rmdir
В Linux вы можете удалять / удалять каталоги с помощью клавиш rmdir и rm . Разница между rm и в rmdir том, что rmdir может удалять только пустые каталоги. Он никогда не удалит файлы.
Удалить один каталог в текущем каталоге:
Удалить несколько каталогов:
Удалите каталог не в текущем каталоге, указав полный путь к этому каталогу:
Удаление файлов и каталогов в Linux стало проще. Поздравляю! Вы успешно научились удалять или удалять все файлы в каталоге с помощью rm команды.
Источник