Как удалить файлы и каталоги с помощью командной строки linux
Содержание:
- Как сделать файлы общедоступными Linux Ubuntu
- Как удалить пустую папку в Linux через терминал
- Синтаксис и опции команды rm
- Копирование файлов по регулярным выражениям в Linux
- Удаление Snap пакетов
- Примеры
- Просмотр файлов и папок в Linux
- 1. Удалить программу через GUI
- Через Терминал
- 2. Удаление программ через пакетный менеджер
- Утилита копирования файлов cp
- How to Remove Files and Directories Using Linux Command Line
- Как удалить файлы
- Удаление неиспользуемых пакетов
- Удаление программ, используя Менеджер приложений
- Различия между командами apt и apt-get
Как сделать файлы общедоступными Linux Ubuntu
Если компьютер подключен к локальной сети, может возникнуть потребность в общем пользовании каталогом или файлом. Организация общего доступа в Ubuntu возможна с помощью файлового менеджера.
Необходимо кликнуть правой кнопкой мыши по ярлыку каталога и затем выбрать пункт «Общедоступная папка локальной сети». Если его нет – отсутствует дополнение Nautilus Share, которое легко находится в Ubuntu Software Center. После установки менеджер нужно перезапустить.
Далее в диалоговом окне общего доступа появятся различные опции по настройке разрешения, где применение всех пунктов сделает папку доступной для всех компьютеров локальной сети.
Если нужно организовать доступ по имени пользователя и паролю, устанавливается расширение System Config Samba. Через настройки оно позволяет добавить или удалить пользователя, для которого открывается директория.
Подробные инструкции по настройке Samba описаны в видео:
https://youtube.com/watch?v=uTmjK9YBwj8
Как удалить пустую папку в Linux через терминал
Если вам нужно удалить пустую папку в Linux через терминал, то для этого проще всего использовать команду rmdir. Данная команда используется для удаления пустых папок из файловой системы Linux. Каталоги с файлами или другими каталогами данная команда не удаляет.
Синтаксис команды rmdir выглядит следующим образом:
rmdir directories …
Разберем доступные параметры подробней:
rmdir --help Получение справки о команде rmdir rmdir -p Удаление всех пустых папок по всему указанному пути. rmdir -v или rmdir --verbose Вывод подробной информации о всех удаляемых объектах. rmdir --ignore-fail-on-non-empty Игнорирование ошибок, которые возникают при попытке удаления не пустых папок.
Для того чтобы просто удалить пустую папку нужно ввести «rmdir foldername». Где «foldername» это название удаляемого объекта. При желании можно удалить сразу несколько папок, для этого достаточно перечислить их через пробел.
Если необходимо удалить каталог, в котором есть другие каталоги (без файлов), то можно воспользоваться параметром «-p». Для этого нужно ввести «rmdir -p» и указать полный путь. Например, если в каталоге folder1 есть другой каталог folder2, то мы можем удалить их сразу одной командой «rmdir -p folder1/folder2».
При использовании параметра «-v» в консоль будет выведена подробная информация о процессе удаления каталогов.
А при использовании параметра «ignore-fail-on-non-empty» команда будет игнорировать ошибки, которые будут возникать при попытке удаления непустых каталогов.
Нужно отметить, что также существует команда «mkdir», которая предназначена для создания папок и обладает точно таким же синтаксисом.
С ее помощью вы можете создать папки по одной или целым деревом (при использовании параметра «-p»).
Синтаксис и опции команды rm
Команда «rm» имеет множество опций, что позволяет очень тонко управлять процессом удаления файлов. Вы можете изучить все доступные опции если введете в терминал Linux команду «man rm». Здесь же мы будем рассматривать самые простые и часто используемые опции.
Синтаксис команды «rm» выглядит следующим образом:
rm файлы
Разберем основные опции команды rm:
-f, --force Игнорировать несуществующие файлы и не требовать подтверждения перед удалением. -i Требовать подтверждения перед каждым удалением. -I Запрашивать подтверждение один раз перед удалением более трех файлов или при рекурсивном удалении. -r, -R, --recursive Рекурсивное удаление каталогов и их содержимого. -v, --verbose Вывод подробной информации о процессе. --help Вывод справочной информации о команде.
Теперь разберем некоторые опции, которые часто используются при удалении файлов в Linux через терминал. Например, очень часто возникает необходимость удалить папку вместе с всем содержимым. Для этого нужно использовать опцию «-r», которая включает рекурсивный обход папок. Например, для того чтобы удалить папку «folder1» и все ее содержимое нужно выполнить:
rm -r folder1/
Если права доступа к файлу разрешают только чтение, то в терминале Linux появится запрос подтверждения, и чтобы продолжить вам нужно будет ввести букву «y» (от англ. «yes»).
Чтобы избежать такой ситуации и удалять все файлы без предупреждения нужно использовать опцию «-f». Например:
rm -f file.txt
Не редко возникает необходимость удалить папку вместе со всеми файлами и без запросов на подтверждение. В этом случае нужно комбинировать опции «-r» и «-f». В результате команда выглядит вот так:
rm -rf folder1/
Если вы, наоборот, хотите каждый раз получать запрос подтверждения, то команду «rm» нужно выполнять с опцией «-i». Например, для того чтобы удалить все файлы в текущем каталоге с запросом подтверждения нужно выполнить:
rm -i *
Также бывает полезной опция «-v». При ее использовании в терминале будет появляться подробная информация о выполняемых действиях. Например, для того чтобы удалить все файлы в текущем каталоге и вывести информацию в терминал нужно выполнить:
rm -v *
Также вывод информации можно перенаправить в файл. Для этого после команды нужно использовать оператор перенаправления вывода (>) и указать название файла. Например:
rm -v * > delete.log
Естественно все эти опции можно комбинировать, в зависимости от ваших задач.
Копирование файлов по регулярным выражениям в Linux
В утилите find можно применять различные условия и регулярные выражения для поиска файлов. Я уже немного писал о ней в статье как найти новые файлы в Linux. Мы можем скопировать все найденные с помощью find файлы, вызвав для каждого из них команду cp. Например, копируем все файлы в текущей директории, содержащие в имени только цифры:
Здесь точка указывает на текущую директорию, а параметр name задает регулярное выражение. Параметром exec мы задаем, какую команду нужно выполнить для обнаруженных файлов. Символ {} — подставляет имя каждого файла.
Но не find’ом единым такое делается. То же самое можно получить, запросив список файлов директории в ls, отфильтровав его по регулярному выражению egrep и передав имена файлов по очереди в cp с помощью xargs:
Это не совсем удобный способ копировать файлы Linux, но всё же он возможен. Будут скопированы все файлы из домашней директории, содержащие в имени только английские буквы.
Удаление Snap пакетов
В Ubuntu есть пакеты, которые отличаются от обычных — это Snap пакеты. Подробнее про Snap пакеты вы можете прочитать в нашей статье «Snap-пакеты в Linux. Что это и как с ними работать»
Вы можете удалить Snap пакеты точно также как и любые другие через Центр приложений Ubuntu. В Менеджере приложений Ubuntu для snap-пакетов указан источник «Snap Store»
Обращаем ваше внимание на то, что в списке приложений могут присутствовать программы, которые могут быть установлены через обычные репозитории Ubuntu, так и через Snap. Обычно такие приложения имеют разные версии
Приложения, распространяемые через Snap, как правило, всегда новее.
Рассмотрим, как удалять приложения, установленные через Snap, используя командную строку.
Чтобы вывести список установленных Snap пакетов выполните команду:
Для удаления Snap пакета выполните команду:
Примеры
Для первого примера, скопируем файл /root/katalog/dokument в папку, которая называется «newpapka».
Копирование нескольких файлов в одну директорию.
Cкопируем «dokument» и «file» в каталог «newpapka».
Часто бывает так, когда копируешь несколько файлов, желательно выводить информацию, что происходит. В этом поможет опция «-v».
Команда cp устроена так, что все отправляемые с ее помощью файлы перезаписываются, однако программу можно заставить спрашивать пользователя о том, нужно ли перезаписывать старые данные, для этого есть специальная команда:
Существует альтернатива данной функции, благодаря запросу «-n» можно сказать программе, чтобы она вообще не перезаписывала файлы.
Данная возможность будет полезна при следующей ситуации: пользователю известно, что в определенном месте для копирования уже содержится тот же файл, но с устаревшей версией, а с помощью функции «-u» можно безболезненно перезаписать старые данные:
Скопировать директорию
Для копирование папки со всем ее содержимом необходимо использовать параметр -r.
Если нужно только сделать копию всех файлов без папки, то опция -r не подойдет.
Можно сделать так:
Как видно из примера выше, команда cp работает со знаками «*» и «?», следующий запрос, займется копированием всех файлов, чье название начинается с new:
Для ввода команд быстрее есть возможность применять фигурные скобки, чтобы заиметь копию файла для резерва следует ввести данную команду:
С ее помощью появится резервный файл, который имеет расширение, указанное в скобках.
Одним из неудобств функции cp является то, что она не показывает количество скопированной информации, это мешает, особенно когда приходится работать с тяжелыми файлами. Полоску прогресса можно увидеть, если использовать функцию cv.
Регулярные выражения
Для выполнения других, более сложных функций, придется использовать вместе с cp такие утилиты find и egrep.
С помощью утилиты find есть возможность использовать команды для выявления расположения файлов. Пользователь может найти данные с использованием find, а затем скопировать их, используя функция для копирования.
Вот пример, в нем проводится копирование файлов, которые содержат цифры от 1 до 5:
Здесь:
- /root — каталог где производить поиск.
- -name — критерии поиска.
- — что искать, в данном случаи от одного до пяти.
- -exec — аргумент, который говорит, что нужно запустить команду.
- {} — подставляет имя каждого файла.
Сделать то же самое можно и не прибегая к find, можно обратиться к утилите ls, выбрать нужные файлы, используя регулярные выражения egrep, затем отправить их под контроль cp, применяя при этом xargs:
Данный способ не отличается особым удобством, однако использовать его можно. При работе с ним начнется копирование файлов из основной директории, чьи имена содержат лишь цифры от 1 до 5.
Копирование при помощи перенаправления вывода
В операционной системе Linux есть специальный символ «>», который означает перенаправление вывода.
Благодаря этой возможности можно не только переносить файлы, но и работать с их составляющими. Есть возможность соединить несколько файлов или наоборот разрезать их.
Используя cat можно выводить на экран основные данные файла, а затем, используя bash, пользователь сможет переносить составляющие файла из одного места в другое.
Вот пример:
TAR
Одной из особенностью Linux является то, что в нем одно и то же действие можно выполнять, используя несколько различных команд.
Скопировать данные можно не только с помощью cp. Когда важные системные файлы отправляются в другое место или происходит создание резервных копий данных, нужно, чтобы такие вещи как атрибуты, владельцы данных, ссылки-символы были сохранены без каких-либо изменений.
С помощью cp так делать можно, однако на помощь придется позвать утилиту tar, чтобы она начала работу следует написать в cp «-p».
В качестве примера будет приведен туннель – одна часть запроса архивирует файл и отправляет его, другая – разархивирует и отправляет в нужное место:
С помощью данной команды все из папки /lfc отправляется в папку /epl/lfc. Таким способом можно скопировать любую информацию с компьютера, даже если это операционная система.
Итог
Теперь почти каждый пользователь знает, как копировать файлы в ОС. С помощью терминала делать это можно быстро, главное – запомнить все нужные команды.
Просмотр файлов и папок в Linux
Проверяем свободное место на всём диске:
df -h
Узнаём какие файлы хранятся в директории
ls
Список папок с занимаемыми размерами в корне сервера (сортировка директорий по алфавиту):
du -hs /*
Выводит список директорий и файлов построчно, сортируя их по возрастанию размера, а также показывает права доступа, размер файлов и дату изменения:
ls -lSr |more
Показывает размер и имена директорий и файлов (сортировка по размеру). В примере сортировка по размеру директории var.
du -sk /var/* | sort -rn
Ещё одна команда (показывает в мб) сортирует по размеру (в данном случае сортировка каталога с логами):
du -k /var/log/* | sort -nr | cut -f2 | xargs -d ‘\n’ du -sh
1. Удалить программу через GUI
В Ubuntu и многих других дистрибутивах необязательно использовать консоль для удаления программ, существуют центры приложений и графические интерфейсы. Здесь достаточно запустить утилиту, выбрать нужную программу или пакет и удалить ее. Например, во многих дистрибутивах применяется Gnome Software. Сначала запустите его из главного меню:
Затем найдите нужную программу, например, Gimp:
Откройте ее и нажмите кнопку «Удалить»:
Далее, подтвердите что ее нужно удалить и введите пароль суперпользователя:
После завершения работы, программа будет полностью удалена с вашего компьютера.
Через Терминал
Способ работы через Терминал Убунту позволяет создавать элементы каталогов проще и быстрее. Для новичков в Linux этот способ, на самом деле, предпочтительнее. Он — один из простых приёмов работы. Взаимодействовать с Терминалом придётся в любом случае, поэтому лучше научиться на таких несложных задачах.
Весь процесс работы с директориями в Убунту ведётся при помощи одной утилиты — mkdir. Она имеет не очень много функций. Прежде всего надо научится передавать ей имя элемента.
- Откройте Терминал сочетанием клавиш «Ctrl+Alt+T».
- Введите:
Новая директория будет создана в текущем каталоге (открытом сейчас в файловом менеджере).
Если требуется создать элемент в другом каталоге, имя должно иметь такой вид:
Также можно указать так называемый абсолютный путь к папке:
Когда требуется создать больше одного элемента, можно сделать так:
Если же создаётся каталог со вложенными элементами, поможет эта команда:
Удаление директорий
Если нужно удалить папку, Ubuntu предоставляет следующую возможность:
ВАЖНО. Не забывайте указывать полный путь, иначе исполняемая команда удалит всё по указанному вами адресу. . Тщательно проверьте удаляемый каталог на отсутствие важных системных и личных файлов
Тщательно проверьте удаляемый каталог на отсутствие важных системных и личных файлов.
2. Удаление программ через пакетный менеджер
Самый простой и часто используемый способ удалить программу linux — это использовать стандартный пакетный менеджер из терминала. Если вы использовали пакетный менеджер для установки программы то единственным верным способом ее удаления будет тоже он. В зависимости от дистрибутива команды удаления будут отличаться, но, в целом, они будут иметь похожий синтаксис. Мы рассмотрим примеры для самых популярных дистрибутивов. Например, нам нужно удалить Firefox. В Ubuntu, Debian, Linux Mint и других дистрибутивах этого семейства команда будет выглядеть вот так:
Эта команда удалит пакет из системы, но некоторые конфигурационные файлы останутся и будут занимать место. Чтобы полностью удалить программу используйте опцию purge:
Более подробно о том, как удалить программу в Linux в Ubuntu мы рассматривали в отдельной статье, в том числе и работу с PPA. Для удаления пакета в CentOS или Red Hat выполните:
В Fedora и основанных на ней дистрибутивах, кроме Red Hat, используется новый пакетный менеджер — dnf:
В OpenSUSE используется собственный пакетный менеджер — zypper:
Удаление программ Linux с помощью пакетного менеджера позволяет полностью очистить систему от остатков программы. После завершения удаления рекомендуется перезагрузить компьютер, чтобы убедиться, что все файлы были удалены. Теперь вы знаете как удалить программу в Linux через терминал.
Пакетный менеджер раскладывал файлы программы по системе, а значит он знает что и где находится, значит сможет все правильно удалить. Но если вы компилировали программу и устанавливали ее установочным скриптом, то вы не сможете удалить ее с помощью пакетного менеджера, поскольку он ничего не знает о ней.
Утилита копирования файлов cp
Название утилиты cp — это сокращение от Copy, что означает копировать. Утилита позволяет полностью копировать файлы и директории.
Синтаксис и опции
Общий синтаксис cp выглядит вот так:
$ cp опции файл-источник файл-приемник
Или:
$ cp опции файл-источник директория-приемник/
После выполнения команды файл-источник будет полностью перенесен в файл-приемник. Если в конце указан слэш, файл будет записан в заданную директорию с оригинальным именем.
Утилита имеет несколько интересных опций, которые могут сильно помочь при нестандартных задачах копирования, поэтому давайте их рассмотрим:
- —attributes-only — не копировать содержимое файла, а только флаги доступа и владельца;
- -f, —force — перезаписывать существующие файлы;
- -i, —interactive — спрашивать, нужно ли перезаписывать существующие файлы;
- -L — копировать не символические ссылки, а то, на что они указывают;
- -n — не перезаписывать существующие файлы;
- -P — не следовать символическим ссылкам;
- -r — копировать папку Linux рекурсивно;
- -s — не выполнять копирование файлов в Linux, а создавать символические ссылки;
- -u — скопировать файл, только если он был изменён;
- -x — не выходить за пределы этой файловой системы;
- -p — сохранять владельца, временные метки и флаги доступа при копировании;
- -t — считать файл-приемник директорией и копировать файл-источник в эту директорию.
Примеры копирования файлов в linux
Теперь, когда вы знаете основные опции, можно перейти к практике. Например, мы хотим скопировать некую картинку из домашней папки в подкаталог pictures:
Или можем явно указать имя новой картинки:
Копирование папок осуществляется с помощью ключа -r:
После выполнения этой команды копирования ~/папка будет скопирована в папку ~/Документы. Главное, не забывайте поставить слэш в конце выражения или использовать опцию -t. Иначе папка ~/документы будет перезаписана.
По умолчанию команда cp Linux перезаписывает существующие файлы или папки, но можно заставить утилиту спрашивать, нужно ли перезаписывать каждый файл, если вы не уверены в правильности составления команды:
Есть и противоположная опция -n, означающая «никогда не перезаписывать существующие файлы».
Опция -u полезна в следующем случае: вы знаете или предполагаете, что в директории, куда копируется файл, есть старая его версия, тогда оператор -u выполнит замену на новую версию:
Сp также поддерживает специальные символы замены * и ?. Например, следующая команда скопирует все файлы, начинающиеся на test:
Если нужно применить более сложные регулярные выражения, придётся комбинировать утилиту cp с find или egrep.
В случае, если важно сохранить права доступа к файлу и его владельца, нужно использовать опцию -p:
Для упрощения использования команды можно применять синтаксис фигурных скобок. Например, чтобы создать резервную копию файла, выполните:
Будет создан файл с таким же именем и расширением .bak
По умолчанию в cp не отображается прогресс копирования файла, что очень неудобно при работе с большими файлами, но его можно легко посмотреть с помощью утилиты cv.
How to Remove Files and Directories Using Linux Command Line
21 Июня 2020
|
Терминал
Как удалить файлы
Чтобы удалить (или удалить) файл в Linux из командной строки, используйте команду (удалить) или команду.
Команда позволяет удалить только один файл, при этом вы можете удалить несколько файлов одновременно.
Будьте особенно осторожны при удалении файлов или каталогов, потому что, как только файл удален, он не может быть легко восстановлен.
-
Чтобы удалить один файл, используйте команду or, а затем имя файла:
Если файл защищен от записи, вам будет предложено подтвердить, как показано ниже. Чтобы удалить тип файла и нажмите . В противном случае, если файл не защищен от записи, он будет удален без запроса.
-
Чтобы удалить несколько файлов одновременно, используйте команду, за которой следуют имена файлов, разделенные пробелом.
Вы также можете использовать подстановочный знак ( ) и обычные расширения для сопоставления нескольких файлов. Например, чтобы удалить все файлы в текущем каталоге, используйте следующую команду:
При использовании обычных расширений сначала перечислите файлы с помощью команды, чтобы вы могли видеть, какие файлы будут удалены перед выполнением команды.
-
Используйте опцию with для подтверждения каждого файла перед его удалением:
-
Чтобы удалить файлы без запроса, даже если файлы защищены от записи, передайте параметр (force) команде:
-
Вы также можете комбинировать варианты. Например, чтобы удалить все файлы в текущем каталоге без запроса в подробном режиме, используйте следующую команду:
В Linux вы можете удалять / удалять каталоги с помощью и .
утилита командной строки для удаления пустых каталогов, в то время как вы можете рекурсивно удалять директории и их содержимое.
-
Чтобы удалить пустой каталог, используйте либо имя, либо имя каталога:
-
Чтобы удалить непустые каталоги и все файлы в них, используйте команду с параметром (рекурсивный):
Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление.
-
Чтобы удалить непустые каталоги и все файлы без запроса, используйте с (recursive) и параметрами:
-
Чтобы удалить несколько каталогов одновременно, используйте команду, за которой следуют имена каталогов, разделенные пробелом.
Как и в случае с файлами, вы также можете использовать подстановочный знак ( ) и обычные расширения для соответствия нескольким каталогам.
Теперь вы должны иметь хорошее представление о том , как использовать Linux , и команды , и вы должны иметь возможность безопасно удалить файлы и папки из командной строки.
Удаление неиспользуемых пакетов
Когда вы устанавливаете какую либо программу, то обычно помимо основного пакета программы устанавливаются еще другие пакеты, которые требуются для работы данной программы. Они называются зависимостями.
После удаления программы, зависимости не удаляются. Они могут вообще не использоваться в системе или использоваться другими программами. Если пакеты-зависимости не используются другими программами, то такие пакеты можно удалить, чтобы они не занимали место в системе.
Для удаления неиспользуемых пакетов используется команда:
Данная команда автоматически удалит неиспользуемые пакеты.
Удаление программ, используя Менеджер приложений
Рассмотрим самый простой способ удаления пакетов в Ubuntu — использование Менеджера приложений.
Запустите Менеджер приложений Ubuntu. Для этого откройте лаунчер, нажав сочетание клавиш Super+A (клавиша Super на клавиатурах Windows соответствует клавише Win). В лаунчере запустите программу Менеджер приложений.
Запуск Менеджера приложений
Перейдите на вкладку Установлено. В этой вкладке представлены программы, установленные в системе.
Список установленных приложений
Напротив каждой программы есть кнопка Удалить. Нажмите на нее, чтобы удалить соответствующее приложение. После нажатия на кнопку, появится предупреждение, а также нужно будет ввести пароль.
Предупреждение
Ввод пароля
Различия между командами apt и apt-get
Взглянув на краткую историю этих двух команд, давайте теперь сосредоточимся на различиях между ними.
1) Синтаксис команд apt и apt-get
Наиболее очевидным отличием является способ синтаксиса команды. Например, чтобы обновить списки пакетов или индекс пакетов с помощью apt, выполните следующую команду:
А при использовании команды apt-get требуется ввести команду:
Чтобы лучше понять, как вы можете выполнять другие операции с помощью команд apt и apt-get, вот краткое резюме в табличном формате.
Операция | apt-get | пригодный |
Списки пакетов обновления | apt-get update | apt update |
Установить пакет | apt-get install package-name | apt install package-name |
Удалить пакет | apt-get remove package-name | apt remove package-name |
Пакеты обновления | apt-get upgrade | apt upgrade |
Поисковые пакеты | apt-cache search package-name | apt search package-name |
Отображение информации о пакете | apt-cache show package-name | apt show package-name |
Удаление нежелательных пакетов | apt-get autoremove | apt autoremove |
Очистите пакет вместе с его конфигурационными файлами | apt-get purge | apt purge |
2) Интуитивно понятный и более информативный вывод
В дополнение к другим различиям между двумя инструментами командной строки. Команда apt это имеет удобочитаемость информации о количестве пакетов которые подлежат обновлению. Кроме того, команда позволяет вам узнать, как вы можете просматривать эти пакеты, делается это с помощью команды apt list –upgradable.
Команда sudo apt update
Далее введем команду upgradable
Ввод команды apt list —upgradable
С помощью команды apt upgrade в нижней части терминала будет введен индикатор выполнения, указывающий на ход процесса обновления пакетов.
Команда apt upgrade
3) Дополнительные команды с APT
Есть еще пара вариантов команды, которые поставляются вместе с APT.
apt list: эта команда перечисляет установленные, доступные и обновляемые пакеты.
apt edit-sources: когда команда выполняется в первый раз, она представляет вам список текстовых редакторов, которые вы можете использовать для открытия и редактирования файла списка источников – /etc/apt/sources.list. Как только вы выберете нужный вариант, вы сможете непосредственно отредактировать файл для последующего выполнения команды.