- Как удалить каталог в Linux
- Подготовка
- Удаление каталогов с помощью rmdir
- Удаление каталогов с помощью rm
- Удаление каталогов с помощью find
- Удаление всех пустых каталогов
- / bin / rm: слишком длинный список аргументов
- Выводы
- Удаление Папки и Файлов в Linux
- Команда rmdir
- Удаление Папки в Linux с Помощью Команды rmdir
- Команда rm
- Как Удалить Файл в Linux с Помощью Команды rm
- Итоги
- Debian. Шпаргалка сисадмина. Работа с файлами и каталогами
- Debian. Шпаргалка сисадмина. Работа с файлами и каталогами
- Создание, изменение и удаление файлов и каталогов
- touch
- mkdir
- rmdir
- Копирование, переименование и перемещение файлов и каталогов
- Просмотр и редактирование
- grep, egrep, fgrep, rgrep
- ls, dir, vdir
- Поиск файлов
- locate
- whereis
- which
- Другие команды
Как удалить каталог в Linux
Есть несколько различных способов удаления каталогов в системах Linux. Если вы используете файловый менеджер рабочего стола, такой как Gnome’s Files или KDE’s Dolphin, вы можете удалять файлы и каталоги с помощью графического пользовательского интерфейса менеджера. Но если вы работаете на автономном сервере или хотите удалить сразу несколько каталогов, лучшим вариантом является удаление каталогов (папок) из командной строки.
В этой статье мы объясним, как удалять каталоги в Linux с помощью команд rmdir , rm и find .
Подготовка
При удалении каталога с помощью файлового менеджера рабочего стола каталог фактически перемещается в корзину и может быть легко восстановлен.
Будьте особенно осторожны при удалении файлов или каталогов из командной строки, поскольку после удаления каталога с помощью команд, описанных в этой статье, его невозможно полностью восстановить.
В большинстве файловых систем Linux для удаления каталога требуется разрешение на запись в каталог и его содержимое. В противном случае вы получите ошибку «Операция запрещена».
Имена каталогов с пробелами должны быть экранированы обратной косой чертой ( / ).
Удаление каталогов с помощью rmdir
rmdir — это утилита командной строки для удаления пустых каталогов. Это полезно, когда вы хотите удалить каталог только в том случае, если он пуст, без необходимости проверять, пуст каталог или нет.
Чтобы удалить каталог с помощью rmdir , введите команду, а затем имя каталога, который вы хотите удалить. Например, чтобы удалить каталог с именем dir1 , введите:
Если каталог не пустой, вы получите следующую ошибку:
В этом случае вам нужно будет использовать команду rm или вручную удалить содержимое каталога, прежде чем вы сможете его удалить.
Удаление каталогов с помощью rm
rm — это утилита командной строки для удаления файлов и каталогов. В отличие от rmdir команда rm может удалять как пустые, так и непустые каталоги.
По умолчанию при использовании без каких-либо параметров rm не удаляет каталоги. Чтобы удалить пустой каталог, используйте параметр -d ( —dir ), а для удаления непустого каталога и всего его содержимого используйте параметр -r ( —recursive или -R ).
Например, чтобы удалить каталог с именем dir1 вместе со всем его содержимым, введите:
Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить каталог без запроса, используйте параметр -f :
Чтобы удалить сразу несколько каталогов, вызовите команду rm , после которой укажите имена каталогов, разделенные пробелом. Приведенная ниже команда удалит все перечисленные каталоги и их содержимое:
Параметр -i указывает rm запрашивать подтверждение удаления каждого подкаталога и файла. Если в каталоге много файлов, это может немного раздражать, поэтому вы можете рассмотреть возможность использования опции -I которая предложит вам только один раз, прежде чем продолжить удаление.
Чтобы удалить каталог, введите y и нажмите Enter .
Вы также можете использовать обычные расширения для сопоставления и удаления нескольких каталогов. Например, чтобы удалить все каталоги первого уровня в текущем каталоге, который заканчивается на _bak , вы должны использовать следующую команду:
Использование регулярных расширений при удалении каталогов может быть рискованным. Рекомендуется сначала перечислить каталоги с помощью команды ls чтобы вы могли видеть, какие каталоги будут удалены, прежде чем запускать команду rm .
Удаление каталогов с помощью find
find — это утилита командной строки, которая позволяет вам искать файлы и каталоги на основе заданного выражения и выполнять действие с каждым совпадающим файлом или каталогом.
Наиболее распространенный сценарий — использовать команду find для удаления каталогов на основе шаблона. Например, чтобы удалить все каталоги, которые заканчиваются на _cache в текущем рабочем каталоге, вы должны запустить:
Давайте проанализируем команду выше:
- /dir — рекурсивный поиск в текущем рабочем каталоге ( . ).
- -type d — ограничивает поиск каталогами.
- -name ‘*_cache’ — искать только каталоги, заканчивающиеся на _cache
- -exec — выполняет внешнюю команду с необязательными аргументами, в данном случае это rm -r .
- <> + — добавляет найденные файлы в конец команды rm .
Удаление всех пустых каталогов
Чтобы удалить все пустые каталоги в дереве каталогов, выполните:
Вот объяснение используемых опций:
- /dir — рекурсивный поиск в каталоге /dir .
- -type d — ограничивает поиск каталогами.
- -empty — ограничивает поиск только пустыми каталогами.
- -delete — удаляет все найденные пустые каталоги в поддереве. -delete может удалять только пустые каталоги.
Используйте параметр -delete с особой осторожностью. Командная строка поиска оценивается как выражение, и если вы сначала добавите параметр -delete , команда удалит все, что находится ниже указанных вами начальных точек.
Всегда сначала проверяйте команду без опции -delete и используйте -delete в качестве последней опции.
/ bin / rm: слишком длинный список аргументов
Это сообщение об ошибке появляется, когда вы используете команду rm для удаления каталога, содержащего огромное количество файлов. Это происходит из-за того, что количество файлов превышает системное ограничение на размер аргумента командной строки.
Есть несколько разных решений этой проблемы. Например, вы можете cd в каталог и вручную или с помощью цикла для удаления Подкаталогов один за другим.
Самое простое решение — сначала удалить все файлы в каталоге с помощью команды find а затем удалить каталог:
Выводы
С помощью rm и find вы можете быстро и эффективно удалять каталоги по различным критериям.
Удаление каталогов — простой и легкий процесс, но вы должны быть осторожны, чтобы не удалить важные данные.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник
Удаление Папки и Файлов в 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. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.
Источник
Debian. Шпаргалка сисадмина. Работа с файлами и каталогами
Вторая статья из серии статей-шпаргалок, предназначенных для быстрого доступа к наиболее часто используемым командам. Как было описано в предыдущей — Debian. Шпаргалка сисадмина. Операции с пользователями — вся упомянутая информация является общедоступной и не представляет из себя чего-то уникального . Почти все это вы сможете найти в справочных страницах официального дистрибутива Debian 7.7, а на остальные источники даны ссылки.
Если интересуетесь ОС Debian, рекомендую обратиться к тегу Debian на моем блоге.
Debian. Шпаргалка сисадмина. Работа с файлами и каталогами
Команды сгруппированы по выполняемым изменениям.
Создание, изменение и удаление файлов и каталогов
Создать файл можно разными способами, в большинстве случаев я использую nano, если нужно создать текстовый файл и сразу в него что-то записать. В статье «Как создать пустой файл в Linux» есть аж 12 способов.
touch
Изменяет временные штампы файла
Небольшая выдержка из «манов»:
Если заданный файл еще не существует, то он создается (как пустой файл с правами доступа 0666, с учетом umask), если не задана опция -c.
Создание файла file_test01 в текущем каталоге:
touch file_test01
Создание файла с указанием метки времени:
touch -t 200701310846.26 file_test01
Можно указать и будущую дату.
Nano’s ANOther editor, an enhanced free Pico clone
Файл будет создаy в том случае, если будет не пустым.
Создание файла file_test02 в текущем каталоге:
nano file_test02
На мой взгляд nano — отличный универсальный редактор, который к тому же установлен в Debian по умолчанию. Если все же nano не подходит, можете воспользоваться vim, gedit или чем-то другим.
Вообще самым элегантным способом создания пустого файла мне показался вариант простого вывода данных в текстовый файл, этот способ есть в упомянутой выше статье.
Создание пустого файла file_test03 в текущем каталоге:
> file_test03
Про создание файлов на этом все.
mkdir
Создать каталог testdir01 в /root/:
mkdir /root/testdir01
Создать каталог testdir02 в /root/ с полными правами доступа только у владельца, у остальных нет прав даже на чтение (о правах доступа см. ниже):
mkdir -m 700 /root/testdir02
-m — Устанавливает права доступа к создаваемым каталогам. Эти права могут быть заданы либо в символьном виде, как описано в chmod(1), либо в виде восьмеричного числа.
Для удаления файлов и каталогов можно воспользоваться командами ниже.
Удаляет файлы или каталоги
Удалить файл testfile01 из каталога /root/:
rm /root/testfile01
Каталог этой командой без дополнительных аргументов удалить не получится:
rm testdir01
rm: невозможно удалить «testdir01»: Это каталог
…но можно удалить каталог рекурсивно со всеми файлами, например, вот так:
rm -r testdir01
-r — Рекурсивное удаление дерева каталогов.
rmdir
Удаляет пустые каталоги
Удалить каталог testdir04 из текущего расположения:
rmdir testdir04
Непустые каталоги удалить не получится:
rmdir /root/testdir02
Придется использовать rm, как описано выше.
Копирование, переименование и перемещение файлов и каталогов
Перемещает (переименовывает) файлы
Переместить файл file_primer03 из каталога /root/ в каталог /root/testdir02/, при этом задать ему новое имя — fileprimer031:
mv /root/file_primer03 /root/testdir02/fileprimer031
Хотя для изменения имени файла существует и другая команда.
Для копирования файлов воспользуйтесь другой командой.
Копирование файлов и каталогов
Копирование файла test_file01 из текущего расположения в каталог testdir02:
cp test_file01 testdir02/test_file01
Рекурсивное копирование каталога testdir02 из текущего расположения в новый каталог testdir02_copy:
cp -r testdir02 testdir02_copy
Очень интересное описание параметра:
-r — Копировать каталоги рекурсивно; выполнять какие-то, неопределенные стандартом действия, когда попадаются объекты, не являющиеся обычными файлами или каталогами. (Так, разрешается, и фактически одобряется, наличие опции-r как синонима для -R. Однако, глупое поведение, которое проявляет версия cp в GNU 4.0 не запрещается.)
Просмотр и редактирование
О консольных текстовых редакторах было упомянуто в самом начале статьи, поэтому в этом разделе рассматриватся они не будут.
Concatenate files and print on the standard output
Отображение содержимого файла test_file01:
cat test_file01
Объединение файла test_file01 с файлом test_file02, результат записывается в файл test_file03 в текущем расположении:
cat test_file01 test_file02 > test_file03
Sort lines of text files
Сомневаюсь, что у меня получится описать работу команды «sort» лучше, чем это сделано в статье «HuMan: sort«.
Output the first part of files
Отображение первых строчек файла test_file01 (по умолчанию последние 10 строчек):
head test_file01
Отображение первых 4 строчек файла test_file01:
head -n 4 test_file01
-n — print the first K lines instead of the first 10; with the leading -‘, print all but the last K lines of each file
Output the last part of files
Отображение последних строчек файла test_file01 (по умолчанию последние 10 строчек):
tail test_file01
Отображение последних 4 строчек файла test_file01:
tail -n 4 test_file01
-n — output the last K lines, instead of the last 10; or use -n +K to output lines starting with the Kth
Read from standard input and write to standard output and files
Удобная команда, предназначеня для одновременного вывода информации на экран и в файл.
Отправка пяти эхо-запросов до узла ya.ru с выводом информации на экран и в файл ping_ya_c_5.ru:
ping -c 5 ya.ru | tee ping_ya_c_5.ru
О всех описанных выше командах можно подробнее прочитать в статье «Операции с файлами и фильтрация».
grep, egrep, fgrep, rgrep
Print lines matching a pattern
О данных командах, в частности речь идет о grep, в некотором будущем я планирую написать отдельную статью, т.к. модели их применения достаточно объемны.
ls, dir, vdir
Выводит содержимое каталога
Отобразить список файлов в текущем расположении:
ls -l
-l — Выдавать (в одноколоночном формате) тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла (в байтах), временной штамп и имя файла.
Отобразить список файлов в текущем расположении рекурсивно:
ls -lR
-R — Рекурсивно выдавать список содержимого всех каталогов.
Подробнее о команде ls можно прочитать в статье «15 базовых примеров команды ls в Linux»
Поиск файлов
Search for files in a directory hierarchy
Поиск файлов, начинающихся на testf, с корневого каталога:
find / -name «testf*»
locate
Find files by name
Описание с официального сайта:
Команда updatedb создаёт индекс всех файлов и папок, имеющихся в системе. Команда locate позволяет быстро находить файлы в системе по этому индексу без необходимости сканирования всей файловой системы каждый раз. Также см. пакеты mlocate и slocate.
whereis
Locate the binary, source, and manual page files for a command
Команду удобно использовать для определения месторасположения исходных файлов, ман-страниц.
Информация о консольном редакторе nano:
whereis nano
which
Locate a command
Также прочитать подробнее о командах поиска можно в статье «5 способов поиска файлов в Linux, используя терминал.».
Другие команды
Помимо описанных выше существует множество других полезных команд, о которых можно прочитать ниже.
pwd — print name of current/working directory/
Очень полезная команда, которая наиболее часто используется вообще без каких-либо аргументов.
cd — используется для перехода между каталогами.
Для перехода в домашний каталог:
cd
Для перехода в каталог /usr/bin/:
cd /usr/bin/
Переход на один уровень вверх:
cd ..
ln — создает ссылки между файлами
du — оценка места на диске, занимаемого файлом
Вывести размер текущего каталога:
du -sh
-s — Выводить размеры только для указанных явно аргументов, а не для их подкаталогов.
-h — Добавлять букву размера, например M для двоичного мегабайта ( мебибайт’), к каждому размеру.
На этом пока все, по мере необходимости буду дополнять статью другими командами.
Помимо упомянутых выше, при написании статьи использовались следующие источники:
Источник