В этом контексте под обработкой файлов подразумевается копирование, перемещение и удаление файлов. Позже мы рассмотрим способы изменения атрибутов файлов (владельцев, разрешения).
mkdir, touch: Создание пустых каталогов и файлов
Команда mkdir (MaKe DIRectory — создать каталог) используется для создания каталогов. Ее синтаксис довольно прост:
Только одна опция ничего не стоит: опция -p . Она выполнит два действия:
создаст родительские каталоги, если они не существовали до этого. Без этой опции mkdir просто вызовет сбой, жалуясь на отсутствие заявленных каталогов;
молча выполнит возврат, если каталог, который вы хотели создать, уже существует. Для сравнения, если вы не указали опцию -p , mkdir возвратит сообщение об ошибке, жалуясь на то, что каталог уже существует.
Вот несколько примеров:
mkdir foo : создает каталог foo в текущем каталоге;
mkdir -p images/misc docs : создает каталог misc в каталоге images . Сначала создается последний каталог, если такой не существует ( -p ); также создается каталог с именем docs в текущем каталоге.
Изначально команда touch предназначалась не для создания файлов, а для обновления времени последнего доступа к файлу и времени его изменения [3] . Однако touch создаст пустые файлы, если они не существуют. Ее синтаксис:
Таким образом, выполнение команды:
создаст в текущем каталоге пустой файл с именем file1 и пустой файл file2 в каталоге images , если ранее эти файлы не существовали.
rm: Удаление файлов или каталогов
Команда rm (ReMove — удалить) является аналогом команд DOS del и deltree, и содержит дополнительные опции. Ее синтаксис выглядит следующим образом:
-r или -R : рекурсивное удаление. Эта опция является обязательной для удаления каталога, пустого или нет. Однако для удаления пустых каталогов вы также можете воспользоваться командой rmdir .
-i : запрос подтверждения перед каждым удалением. Обратите внимание, что по умолчанию в Mandrakelinux, rm по соображениям безопасности — это алиас команды rm -i (похожие алиасы существуют для cp и mv ). Однако ваше мнение относительно полезности этих алиасов может измениться. Если вы хотите удалить их, вы можете создать пустой файл
/.alias , который предотвратит установку общесистемных алиасов. Или же вы можете отредактировать свой файл
/.bashrc для отключения некоторых общесистемных алиасов путем добавления этой строки: unalias rm cp mv
-f , как противоположность -i , принудительноудалит файлы или каталоги, даже если у пользователя нет доступа для записи в файлы [4] .
rm -i images/*.jpg file1 : удаляет все файлы с именами, заканчивающимися на .jpg , в каталоге images и удаляет file1 в текущем каталоге, запрашивая подтверждение на удаление каждого файла. Отвечайте y для подтверждения удаления и n для отмены.
rm -Rf images/misc/ file* : удаляет без запроса подтверждения весь каталог misc/ в каталоге images/ вместе со всеми файлами в текущем каталоге, чьи имена начинаются с file .
При использовании rm файлы удаляются безвозвратно. Способа для их восстановления не существует! (Ну, вообще-то для этого все-таки есть несколько способов, но это нетривиальная задача.) Не раздумывайте при использовании опции -i , чтобы убедиться в том, что вы не удалите по ошибке что-нибудь важное.
mv: Перемещение или удаление файлов
Синтаксис команды mv (MoVe — переместить) следующий:
-f : форсирование операции –– предупреждение не выводится, если перезаписывается существующий файл.
-i : противоположное действие. У пользователя спрашивается подтверждение перед перезаписью существующего файла.
-v : подробный режим, сообщает обо всех изменениях и действиях.
mv -i /tmp/pics/*.png . : перемещает все файлы из каталога /tmp/pics/ , чьи имена заканчиваются на .png , в текущий каталог ( . ), но запрашивает подтверждение перед перезаписью в нем любых файлов.
mv foo bar : переименовывает файл foo в bar . Если каталог bar уже существовал, результатом выполнения этой команды будет перемещение файла foo или всего каталога (самого каталога плюс всех файлов и каталогов в нем, рекурсивно) в каталог bar .
mv -vf file* images/ trash/ : перемещает без запроса подтверждения все файлы из текущего каталога с именами, начинающимися с file , вместе со всем каталогом images/ в каталог trash/ , и показывает порядок выполнения каждой операции.
cp: Копирование файлов и каталогов
cp (CoPy — копировать) является аналогом команд DOS copy и xcopy и содержит дополнительные опции. Ее синтаксис выглядит следующим образом:
cp имеет много опций. Вот самые общие из них:
-R : рекурсивное копирование; обязательна для копирования каталога, даже если он пуст.
-i : запрос подтверждения перед перезаписью любых файлов, которые могут быть перезаписаны.
-v : подробный режим, сообщает обо всех действиях, выполняемых cp .
cp -i /timages/* images/ : копирует все файлы из каталога /timages/ в каталог images/ , находящийся в текущем каталоге. Запрашивается подтверждение, если должен быть перезаписан файл.
cp -vR docs/ /shared/mp3s/* mystuff/ : копирует весь каталог docs , плюс все файлы из каталога /shared/mp3s в каталог mystuff .
cp foo bar : делает копию файла foo в файл с именем bar в текущем каталоге.
[3] В UNIX ® для всех файлов существуют три разных временных метки: дата последнего доступа к файлу ( atime ), т.е. дата, когда в последний раз файл открывался для чтения или записи; дата последнего изменения атрибутов inode ( mtime ); и, наконец, дата последнего изменения содержимого файла ( ctime ).
[4] Для пользователя достаточно иметь доступ для записи в каталог , чтобы он мог удалять файлы в нем, даже если он не является владельцем файлов.
Источник
Команда rm Linux
Для удаления файлов в операционной системе Линукс используется команда rm, она означает «remove».
Обращаться с утилитой необходимо максимально аккуратно. Небольшие опечатки могут привести к удалению важных документов, тем самым разрушить операционную систему.
Стоит отметить, что удаление файлов посредством введения команды «rm» установлено по умолчанию. Если необходимо убрать директорию и все ее содержимое, рекомендуется воспользоваться опцией «-r». Такое действие именуется рекурсивным удалением.
Синтаксис
rm [параметр] путь к файлу или его название
В качестве пути прописываются один или несколько файлов. Возможен вариант написание полного пути или относительного.
-f — дает возможность игнорировать несуществующие аргументы и определенные типы файлов. В ОС Linux никогда не появится запрос на подтверждение изъятия файлов/директорий, которые вы предварительно указали.
-i — перед удалением выводится запрос на подтверждение.
-I — такая функция позволяет вывести на экран 1 запрос на удаление определенной группы файлов. Она пригодится в том случае, когда вам необходимо убрать более трех файлов или провести рекурсивное удаление. Опция «-I» является более бережной версией «-i».
-d — удалить пустые директории.
-r — рекурсивное удаление.
«—interactive[=ХХХ]». Вместо букв «ХХХ» можно установить различие задачи. Формулировка «never» запретит выдавать запросы для подтверждения удаления файла. «Once» позволит вывести запрос только один раз. «Always» приводит к тому, что запросы будут выводиться всегда. Если вы не установите значение «КОГДА», в автоматическом режиме будет задана формулировка «always».
«—one-file-system». Такая опция применяется при рекурсивном удалении. Она позволит пропустить определенные группы директорий, которые могут размещаться в иных файловых системах.
«—no-preserve-root». Опция пригодиться в том случае, когда при изъятии директорий задан определенный корневой раздел. Команда посчитает, что это классическая директория, начнет совершать изъятие.
«—preserve-root».Такая опция дает возможность исключить вероятность выполнения команды «rm» выше корневого раздела. Эта особенность установлена по молчанию.
«-v или —verbose». С помощью такой опции можно посмотреть информацию об удаленных ранее данных.
Примеры
При введении команды рекомендуется учесть рекомендацию. Если вам необходимо удалить файл, начинающийся с «-», стоит ввести команду в виде «rm — -file» или «rm./-file».
Стирание файла
Для первого примера удалим файл «test2» в каталоге root/test2.
Это можно сделать как минимум двумя способами:
с помощью команды «cd» зайти в директорию /root/;
в утилите rm указать полный путь.
Воспользуемся 2 вариантом.
rm /root/test2
Стоит отметить, что допускается удаление одновременно нескольких файлов. Названия указываются через пробел.
Если такого файла нет в каталоге, система выдаст предупреждение.
Принудительное удаление документа с установленной защитой
Бывают ситуации, когда требуется удалить документ, который защищен от записи. По умолчанию выдается запрос, требующий подтверждения. Для отключения такого запроса используется аргумент «-f».
Удаление всех файлов, которые расположены в определённой директории
Для осуществления поставленной цели потребуется применить шаблон « *».
Для примера удалим все файлы в каталоге /root/catalog.
Вывести запрос, всплывающий перед удалением отдельно взятых файлов
Для появления подтверждения на необходимость изъятия данных нужно воспользоваться аргументом «-i».
rm -i /root/catalog/file
Вывести запрос на стирание только один раз
Для осуществления этой задачи нужно воспользоваться аргументом «-I», но удаляемых файлов должно быть более четырех.
Удаление определенной директории и файлов, которые в ней содержатся. В данном случае требуется воспользоваться опцией «-r». К примеру, нужно удалить файлы в директории «XXX». Для этого требуется ввести команду «rm -r XXX».
Удаление каталога с ее содержимым
Чтобы стиреть весь каталог со всем его содержимым, будем использовать опцию «-R».
Источник
Удаление Папки и Файлов в Linux
Работать с командной строкой должен уметь каждый будущий системный администратор и опытный пользователь Linux. Сегодня мы рассмотрим ещё одну базовую функцию — удаление папки и файлов в Linux с помощью командной строки.
Прокачайте ваш Linux сервер, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.
Команда rmdir
Команда, используемая, чтобы удалить пустую папку в Linux через командную строку — это rmdir.
Основной синтаксис этой команды довольно простой. Вот пример:
rmdir — это команда
[опция] — опциональный модификатор, который изменяет поведение команды
НазваниеПапки — каталог, который вы хотите удалить
Если опция не указана, rmdir просто удаляет каталог, имя которого указано в качестве места назначения. Перед использованием этой команды вам нужно будет войти на сервер VPS через SSH. Вот статья, которая поможет вам это сделать.
Удаление Папки в Linux с Помощью Команды rmdir
Перед использованием команды rmdir мы рекомендуем вам проверить список файлов в каталоге с помощью команды ls. В нашем случае у нас есть каталог с названием Dir1.
Эта команда удалит пустой каталог с именем Dir1. Довольно просто, правда?
Вы также можете удалить несколько каталогов, разделив их имена пробелами. Например:
После выполнения этой команды каталоги с именами Dir1, Dir2 и Dir3 будут удалены.
Допустим, у нас есть папка Dir3. Dir3 содержит подкаталоги и файлы. Теперь, если мы используем команду:
То получим ошибку:
Как вы уже могли догадаться, rmdir работает только с пустыми каталогами.
Rmdir — умная утилита, которая позволяет удалять только пустые папки. Таким образом, она защищает данные от случайной потери. Помните, что удалённые данные в любом дистрибутиве Linux практически невозможно восстановить.
Опция -p позволяет удалить папку через командную строку, а также её родительские каталоги.
Эта команда удалит Dir3 и его родительские каталоги Dir2 и Dir1.
Опция -v выводит диагностический текст для каждого обработанного каталога. Использование этой опции выведет подтверждение со списком всех каталогов, которые были удалены.
Команда rm
Команда rmdir отлично подходит для безопасного удаления неиспользуемых и пустых каталогов. Если вы хотите удалить файл или каталог, содержащий файлы, вам придётся использовать команду rm.
Синтаксис этой команды похож на rmdir:
Как Удалить Файл в Linux с Помощью Команды rm
Давайте используем команду rm, чтобы удалить файл с именем article.txt:
Допустим, у нас есть каталог с именем Dir1, содержащий подкаталоги и файлы, чтобы удалить его, нам понадобится модификатор -r. Команда будет выглядеть так:
Опция -r рекурсивно удаляет каталоги и их содержимое.
Ещё одна полезная опция -i. Она попросит вас подтвердить удаление каждого отдельного файла, благодаря чему вы сможете избежать любых неприятных ошибок.
Вы также можете удалить пустые каталоги, используя опцию -d. Следующая команда удалит пустую папку с именем Dir1:
Вы можете использовать подстановочный знак (*) и обычные расширения для сопоставления нескольких файлов. Например, следующая команда удалит все файлы PDF в текущем каталоге.
Вы можете использовать вариации всех перечисленных выше команд для удаления файлов с другими расширениями, такими как .txt, .doc, .odt и другими.
Опция -f позволяет принудительно удалить всё, что находится в каталоге. Команда будет выглядеть так:
Приведённая выше команда рекурсивно и принудительно удалит всё, что находится в каталоге Dir1, не запрашивая подтверждения в терминале.
Вы также можете удалить несколько папок за раз. Следующая команда удалит три каталога Dir1, Dir2 и Dir3.
Поздравляем, вы успешно освоили основные функции команд rm и rmdir, позволяющие удалить файл или папку в Linux!
Итоги
Случайное удаление папки или даже одного файла в Linux может привести к серьёзным проблемам. Вот почему важно освоить две основные команды для удаления файлов и каталогов — rm и rmdir. В этой статье мы рассмотрели эти две команды и различные опции, которые позволяют их модифицировать.
Надеемся, что эта статья была полезной! И помните, что после удаления файла или каталога из Linux вы не сможете их восстановить, поэтому будьте предельно осторожны! Удачи.
Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.