Создаем и удаляем файлы в Linux

Создаем и удаляем файлы в Linux

Как создавать и удалять файлы или каталоги в Линукс

Операционная система Linux встречается пользователям лишь в специфических случаях: на работе или как предустановленная на компьютере. Работа с ней (особенно в последних версиях) становится всё проще и привычнее, в том числе изменения затронули создание и удаление файлов и каталогов в Linux.

Терминал

Основным способом управления в Linux, независимо от версии (Ubuntu, Mint и т.п.) является терминал. Он внешне очень схож с командной строкой Windows (или командная строка схожа с терминалом). Даже команды в каком-то смысле очень схожи (дело в том, что исходными являются одни и те же слова из английского языка). Чтобы открыть терминал нужно нажать сочетание клавиш «CTRL+ALT+T».

Удаление файлов и папок

Стирание документов при выполнении через терминал задача необратимая. Удалённые таким образом файлы и папки «пролетают мимо корзины» (аналог в Windows «Shift+Del») и восстановлению не подлежат. С помощью терминала файлы стираются с помощью команды «rm». Используется следующим образом:

Есть ещё вариант удаления директории — rm*, который полностью зачищает каталог.

Следует обратить внимание, что rm требует перехода в конкретный каталог, что делается с помощью «cd».

Примечание! есть команда «–rm –rf». Отличается этот вариант тем, что удаляется всё с жёсткого диска. Использовать эту команду действительно не стоит, потому что стираются файлы без подтверждения и рекурсивно (начинается всё с файла, а заканчивается каталогом верхнего уровня, а как следствие и содержимым локального диска).

Создание каталогов и документов

Способов на самом деле много. Различия в них минимальны, но каждый способ приводит к одинаковому эффекту, поэтому все они заслуживают упоминания. Для создания файлов и каталогов в Линукс через терминал используются следующие команды:

  1. Touch. Утилита, которая служит для проверки наличия документов. При отсутствии таковых создаёт файл, поэтому с командой touch можно создавать простейшие текстовые документы. Используется команда следующим образом:
    • открыть в терминале путь к местонахождению будущего документа. В этом поможет «cd» — переход по каталогам. Увы, путь потребуется знать точно;
    • написать touch «%Имя_документа».
  2. Знак «>» . Перенаправление процесса. Эта команда используется довольно просто: ставится символ «>» и вписывается имя. Таким образом процесс не находит файла и создаёт его.
  3. Команда CP. Утилита для копирования элементов. Linux интересен тем, что его можно заставить выполнить копирование несуществующего объекта и приведёт это не к ошибке, а к созданию этого самого объекта. Таким образом, применение ключа «null» (указатель отсутствующего объекта) приводит к созданию пустого файла. «cp /dev/null %имя_файла», где через «/» указан путь к каталогу.

Многие источники по непонятным причинам предлагают для создания файлов и каталогов через терминал использовать сочетание команд Echo > «%имя_файла». Следует понимать, что echo – даже не утилита, а просто способ вывода указанного текста в терминале. Поэтому в терминале будет выводиться название документа. С другой стороны – создание указанной структурной единицы всё равно происходит, поэтому можно пользоваться и им. К этой же категории относится и утилита «cat» связывающая файл. Применяется она через пустое значение по аналогии с СР.

Текстовый редактор в терминале

В Linux есть встроенный (не во все версии) текстовый редактор. Примечательным моментом его работы является создание окна в терминале: самостоятельного окна у программы нет. Причем, с помощью vim можно выполнять создание текстовых форматов, поэтому он тоже подходит для решения задач. Используется vim следующим образом:

  1. Установить приложение (можно пропустить, если он уже установлен):
    • вписать в терминал «sudo apt install vim»;
    • подтвердить шаги установки, если потребуется.
  2. Ввести команду «vim –c wq «%имя_файла».

Поставив такую задачу, пользователь провоцирует утилиту выполнить создание файла (-с), а потом выйти из vim. Стоит обратить внимание, что название документа вводится после основного набора команд.

Файловый менеджер

Более привычен для пользователей Windows. Считается, что классически используется терминал, а файловый менеджер больше подходит тем, кто ещё не освоился с командной строкой. Создание и удаление производится через правую кнопку мыши.

Создание документа

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

  1. Нажать правую кнопку мыши.
  2. Выбрать пункт «Создать папку/документ».
  3. Через контекстное меню (правая кнопка мыши) можно переименовать документ.

Удаление

Несколько проще. Требуется:

  1. Найти нужный документ.
  2. Нажать по нему правой кнопкой мыши и выбрать «удалить» (или выделить с помощью левой кнопки мыши и клацнуть delete на клавиатуре).
  3. Подтвердить удаление.
  4. Очистить корзину на главном экране.

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

Команды rm и rmdir удаляют файлы и каталоги в Linux, macOS и других Unix-подобных операционных системах. Они похожи на команды del и deltree в Windows и DOS. Эти команды очень мощные и имеют довольно много опций.

Важно отметить, что файлы и каталоги, удаленные с помощью rm и rmdir , не перемещаются в корзину. Они сразу же удаляются с вашего компьютера. Если вы случайно удалили файлы с помощью этих команд, вы сможете восстановить их только из резервной копии.

Как удалить файлы с помощью rm

Самый простой случай — это удаление одного файла в текущем каталоге. Введите команду rm, пробел, а затем имя файла, который вы хотите удалить.

Читать еще:  Восстановление пароля Gmail

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

Вы можете передать более одного имени файла в rm. При этом удаляются все указанные файлы.

Подстановочные знаки могут использоваться для выбора групп файлов, которые будут удалены. Знак * представляет несколько символов, а символ ? представляет один символ. Эта команда удалит все файлы изображений png в текущем рабочем каталоге.

Эта команда удалит все файлы с одним символьным расширением. Например, это удалит File.1 и File.2, но не File.12.

Если файл защищен от записи, вам будет предложено удалить файл. Вы должны ответить с помощью y или n и нажать «Enter».

Чтобы снизить риск использования rm с подстановочными знаками, используйте параметр -i (интерактивный). Для этого необходимо подтвердить удаление каждого файла.

Опция -f (сила) противоположна интерактивной. Он не запрашивает подтверждение, даже если файлы защищены от записи.

Как удалить каталоги с помощью rm

Чтобы удалить пустой каталог, используйте опцию -d (directory). Вы можете использовать подстановочные знаки (* и ?) В именах каталогов так же, как и в именах файлов.

Предоставление более одного имени каталога удаляет все указанные пустые каталоги.

Чтобы удалить не пустые каталоги, используйте параметр -r (рекурсивный). Чтобы было ясно, это удаляет каталоги и все файлы и подкаталоги, содержащиеся в них.

Если каталог или файл защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить не пустые каталоги и подавить эти приглашения, используйте вместе параметры -r (рекурсивный) и -f (принудительный).

Здесь требуется осторожность. Ошибка в команде rm -rf может привести к потере данных или неисправности системы. Это опасно, и осторожность — лучшая политика. Чтобы получить представление о структуре каталогов и файлах, которые будут удалены командой rm -rf, используйте команду tree .

Используйте apt-get для установки этого пакета в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте инструмент управления пакетами вашего дистрибутива Linux.

Выполнение команды tree дает простую для понимания диаграмму структуры каталогов и файлов под каталогом, из которого она запускается.

Вы также можете указать путь к команде tree чтобы он запускал дерево из другого каталога в файловой системе.

Команда rm также имеет параметры –one-file-system , –no-preserve-root , –preserve-root , но они рекомендуются только для опытных пользователей. Если вы что-то не так, вы можете случайно удалить все ваши системные файлы.

Как удалить каталоги с помощью rmdir

Есть еще одна команда rmdir , которую вы можете использовать для удаления каталогов. Разница между rm и rmdir том, что rmdir может удалять только пустые каталоги. Он никогда не удалит файлы.

Самый простой случай — удаление одного пустого каталога. Как и в случае с rm , вы можете передать несколько имен каталогов в rmdir или rmdir путь к каталогу.

Удалите один каталог в текущем каталоге, передав его имя в rmdir :

Удалите несколько каталогов, передав список имен в rmdir :

Удалите каталог не в текущем каталоге, указав полный путь к этому каталогу:

Если вы попытаетесь удалить не пустую папку, rmdir выдаст вам сообщение об ошибке. В следующем примере rmdir успешно и без вывода сообщений удаляет каталог clients но отказывается удалять каталог projects поскольку он содержит файлы. Каталог projects остается точно таким, каким он был, а файлы в нем нетронутыми.

Когда rmdir выдает ошибку «Directory not empty», он прекращает обработку каталогов, переданных ему в командной строке. Если вы попросили удалить четыре каталога, а в первом содержались файлы, rmdir выдаст вам сообщение об ошибке и больше ничего не сделает. Вы можете заставить его игнорировать эти ошибки с –ignore-fail-on-non-empty чтобы обрабатывать другие каталоги.

В следующем примере две папки были переданы в rmdir , это work/reports и work/quotes. Параметр –ignore-fail-on-non-empty включен в команду. В папке work/reports находятся файлы, поэтому rmdir не может удалить ее. Опция –ignore-fail-on-non-empty заставляет rmdir игнорировать ошибку и переходить к следующей папке, которую он должен обработать, это work/quotes. Это пустая папка, и rmdir удаляет ее.

Эта команда использовалась.

Вы можете использовать опцию -p (parent), чтобы удалить каталог, а также удалить его родительские каталоги. Этот прием работает, потому что rmdir начинается с целевого каталога, а затем возвращается к родительскому. Теперь этот каталог должен быть пустым, поэтому он может быть удален rmdir, и процесс повторяет шаг назад по пути, предоставленному rmdir.

В следующем примере команда, переданная в rmdir:

Каталоги invoices и work удаляются по запросу.

Используете ли вы Bash или любую другую оболочку? Linux предоставляет гибкие и мощные команды для удаления каталогов и файлов прямо из командной строки терминала. Некоторые люди предпочитают иметь рабочий процесс, который вращается вокруг терминала. У других может не быть выбора в этом вопросе. Они могут работать на серверах без установленного графического интерфейса или в удаленном сеансе в автономной системе, такой как Raspberry Pi. Эти команды идеально подходят для этой группы людей.

Читать еще:  Вырезаем фрагмент из песни онлайн

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

Создание, удаление, копирование файлов. Linux для начинающих.

Добрый день дорогие друзья.

В предыдущей статье мы с вами научились перемещаться по файловой системе Linux, а также получать информацию о файлах и каталогах. В этой статье мы с вами ознакомимся с командами которые позволят вам копировать, перемещать, создавать, удалять файлы и директории.

В данной статье мы будем рассматривать команды touch, rm, cp, mv, mkdir, rmdir.

touch

touch — утилита для установки времени доступа/изменения файлов. Основное назначение утилиты, это как вы поняли, установить дату и время последнего изменения файла или доступа к нему.

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

-t — при помощи этого ключа мы можем установить время в формате который соответствует шаблону [[СС]YY]MMDDhhmm[.SS].

  • СС — первые 2 цифры года(век)
  • YY — последние 2 цифры года
  • MM — месяц
  • DD — день
  • hh — часы
  • mm — минуты
  • SS — секунды

Пример: touch -t 201202270446.26 file.txt

Для файла file.txt будет установлена дата 27 Февраля 2012 года 4:46:26.

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

rm является утилитой для удаления файлов и каталогов. Основное назначение — это удалять файлы, однако при помощи ключа -R можно удалить и каталог. Данный ключ применяется для того, чтоб удалить каталог в котором уже есть файлы, для удаления пустых каталогов можно использовать команду rmdir.

Команда в качестве аргумента(имени файла, который нужно удалить) может принимать специальные символы(групповые операции), об этом мы поговорим позже, а сейчас просто посмотрим пару примеров.

rm *.txt — удалит все файлы с расширением txt в каталоге

rm foo* — удалит все файлы, имя которых начинается на foo

cp — утилита для копирования файлов и каталогов. В качестве аргументов принимает ключи(опции), путь к источнику, путь назначения.

cp -v /var/log/messages /home/user/messages

Сама команда очень гибкая, имеет множество ключей, однако на практике используются они не часто. Наиболее часто используются ключи -f,-v,-i,-r(-R). Функции которых аналогичны команде rm.

Если в директории куда планируется скопировать файл уже есть файл с таким именем, то он будет перезаписан. Во избежание таких ситуаций желательно использовать ключ -i. Также как и команда rm, cp может принимать специальные символы, для копирования сразу нескольких файлов и директорий.

mv

Применяется данная утилита для перемещения и переименования файлов. Имеет синтаксис такой же как и у cp, а также ключи выполняют функции как и у cp.

Соответственно мы получаем синтаксис команды:

mv -v /var/log/messages /home/user/messages

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

mkdir

Утилита mkdir используется для создания пустых каталогов. Также можно создавать и подкаталоги, иногда довольно удобно. Синтаксис довольно простой: mkdir [OPTION] DIRECTORY. В качестве опций(ключей) принимает всего 3 ключа:

Использование ключа -p довольно простое, нам всего лишь нужно через слэш указать название подкаталогов, таким образом синтаксис будет иметь следующий вид:

После выполнения команды будет создан каталог test в котором будет создан подкаталог test1 и так далее.

rmdir

Утилита для удаления каталогов. Удаляет только пустые каталоги. Также имеет в арсенале ключ -p, для удаления подкаталогов. Подкаталоги соответственно должны быть пустыми.

Потренируйтесь работать с данными командами для закрепления материала. Так как эти команды вы будете использовать наиболее часто, вам нужно довести использование этих команд до автоматизма.

Как удалить файл через терминал Linux

Эта небольшая заметка ориентирована на совсем начинающих. Сегодня мы рассмотрим как удалить файл linux через терминал. Для более опытных пользователей это элементарная задача, но новичкам надо с чего-то начинать. Знать как работать с файлами в консоли очень важно.

К тому же удаление из консоли дает много преимуществ и большую гибкость. Например, с помощью специальной команды вы можете полностью стереть файл с жесткого диска, так что его уже ни за что невозможно будет восстановить или одной командой с помощью специальных символов, условий или регулярных выражений удалить сотни ненужных файлов в одном каталоге или подкаталогох соответствующих определенному критерию.

В Linux для удаления файлов предусмотрена стандартная утилита rm. Как и все остальные, стандартные утилиты в имени rm тоже заложена определенная идея. Это сокращение от английского слова Remove.

Удаление файлов в Linux

Чтобы удалить файл linux достаточно передать в параметрах команде адрес файла в файловой системе:

Читать еще:  Правильная очистка компьютера или ноутбука от пыли

Чтобы удалить все файлы, начинающиеся на слово file можно использовать специальный символ *, означает любой символ в любом количестве:

Эта команда удаления файла в linux должна использоваться очень осторожно, чтобы не удалить ничего лишнего. В утилиты есть опция -i, которая заставляет программу спрашивать пользователя перед тем, как удалить файл linux:

rm: удалить пустой обычный файл «/home/user/file»?

Если файлов очень много, вы уверены в правильности команды и отвечать каждый раз y неудобно, есть противоположная опция – f. Будут удалены все файлы без вопросов:

rm -f /home/user/file*

Для удаления директорий, вместе с файлами и поддиректориями используется опция -R, например:

rm -Rf /home/user/dir

Будет удалено все что находиться в папке dir, и эта папка. Только будьте бдительны, чтобы не получился знаменитый патч Брамина:

Не стоит выполнять эту команду в своей системе, как видите, она удаляет все файлы в файловой системе Linux.

Удаление файла в linux также возможно с помощью утилиты find. Общий синтаксис find:

find папка критерий действие

Например, мы хотим удалить файл linux по имени:

find . -type f -name “file” -exec rm -f <> ;

Будут найдены все файлы с именем file в текущей папке и для них вызвана команда rm -f. Можно не вызывать стороннюю утилиту, а использовать действие delete:

find . -type f -name “file” -delete

Удалить все файлы в текущей директории, соответствующие определенному регулярному выражению:

find . -regex ‘./[a-f0-9-].bak’ – delete

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

find /path/to/files* -mtime +5 -exec rm <> ;

Будет выполнено удаление файлов через терминал все файлы в папке старше 5-ти дней.

Чтобы полностью стереть файл, без возможности восстановления используйте команду shred. Во время удаления файлов с помощью утилиты rm удаляется только ссылка на файл, само же содержимой файла по-прежнему находиться на диске, пока система не перезапишет его новыми данными, а пока этого не случится файл можно легко восстановить. Принцип действия утилиты такой – после удаления файла, его место на диске несколько раз перезаписывается.

Опцией -n – можно указать количество перезаписей диска, по умолчанию используется 3. А если указать опцию -z программа при последней перезаписи запишет все нулями чтобы скрыть, уничтожение файла.

Выводы

Вот и все. Теперь вы знаете как удалить файл в Ubuntu, как видите, делать это не так уж сложно. Если у вас остались вопросы, пишите в комментариях!

Нет похожих записей

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

13 комментариев

Как бы да, но нет.
)))
Все вроди хорошо рассказано, но команды удаляющей файлы в Unix нет. Есть команда удаляющая жесткую ссылку. А это две большие разницы.
)))
Поправьте, пожалуйста. А лучше допишите, в начале текста, что используя команду rm вы удаляете одну из жестких ссылок. И только когда ссылок на данные не будет , тогда данные будут удалены. В иных случаях данные останутся невредимыми.

С одной стороны так, да, но не совсем. Это внутренние особенности работы файловой системы Unix. Если будет две ссылки то пользователь будет знать что у него есть два файла, а потому чтобы полностью стереть данные нужно удалить оба файла. Но да о ссылках в статье надо бы упомянуть. Спасибо.

Дорогие друзья! Помогите чайнику пожалуйста: есть команда:
sudo find /media/hdd -type f -size -500k -delete
вручную работает и делает все как надо, но не хочет работать
автоматически из /etc/crontab.
Все права на папку и файлы установлены.

Запускайте sudo crontab -e, а в самой команде sudo писать не нужно.

Уважаемый admin, подскажите тогда пожалуйста как правильно прописать мою команду в файле crontab. С датой и временем все понятно. Так же rm и mv выполняются четко. Большое спасибо.

$ sudo crontab -e
(тут время) /usr/bin/find /media/hdd -type f -size -500k -delete

Пребольшое спасибо. Теперь я не чайник.

Добрый день. Есть CentOS.В ней нужно удалить удалить подкаталоги с файлами (подкаталоги и файлы старше определенного времени). Вот такая команда ничего видимого не делает find /var/backup/file_bkp/mail_files/ -type d -mtime +3 -exec rm -rfv <> ;. Уже не знаю что и делать. /mail_files/
в этом каталоге еще много подкаталогов и файлов. Создаются каждый день последние 2 -3 каталога нужно оставлять. Подскажите, плиз, как удалить каталоги, подкаталоги и файлы и оставлять последние ?

Если поменять значение на -3 то скрипт удаляет последние 4 бэкапа.

find /var/backup/ -name “*.*” -type f -mtime +3 -print -delete удаляет все файлы старше трех дней
find /var/backup/ -type d -empty -print -delete удаляет пустые директории
Затаскиваем все в CRON. Проверено работает в CentOS.

ой, не в ту тему

Спасибо за материал, подскажите, как можно удалить все файла в каталоге за исключением некоторых?