Centos 7 удалить файл
Команда rm означает «remove» и создана для удаления файлов и каталогов.
Внимание! Если вы новичок в GNU/Linux, вы должны быть очень осторожны при запуске команды rm , потому что, как только вы удалите файлы, вы не сможете восстановить содержимое файлов и каталогов.
Хотя есть некоторые инструменты и команды, с помощью которых можно восстановить удаленные файлы, но для этого вам нужны экспертные навыки и это не всегда срабатывает.
По умолчанию команда rm не удаляет каталоги, чтобы удалить каталоги и всё их содержимое, включая вложенные каталоги, нужно использовать опцию -r , то есть рекурсивное удаление.
2. Синтаксис.
где — один или несколько файлов и/или каталогов, записанных через пробел, можно использовать шаблон по маске файла, например, *.txt .
- -f или --force — Игнорировать несуществующие файлы и аргументы. Никогда не выдавать запросы на подтверждение удаления.
- -i — Выводить запрос на подтверждение удаления каждого файла.
- -I — Выдать один запрос на подтверждение удаления всех файлов, если удаляется больше трех файлов или используется рекурсивное удаление. Опция применяется, как более «щадящая» версия опции -i .
- --interactive[= КОГДА ] — если значение КОГДА не задано, то используется always .
Вместо КОГДА можно использовать:
- never — никогда не выдавать запросы на подтверждение удаления.
- once — выводить запрос один раз (аналог опции -I ).
- always — выводить запрос всегда (аналог опции -i ).
3. Примеры использования.
3.1. Удалить файл.
Чтобы удалить файл с помощью команды rm достаточно указать название файла:
Ответ:
Можно удалить несколько файлов, перечислив их имена через пробел:
Ответ:
3.2. Удалить файл с необычным именем.
Если нужно удалить файл, название которого начинается с символа - , например, файл -myfile , то используется следующая команда:
Ответ:
Ответ:
3.3. Удалить все файлы в текущем каталоге.
Чтобы удалить все файлы в текущем каталоге можно использовать шаблонную запись звездочка * :
Ответ:
3.4. Выдать запрос на удаление всего один раз на всё.
При использовании опции -I выводится всего один запрос на подтверждение удаления файлов, причем, только если удаляемых файлов четыре и более. Если файлов 3 , или 2 , или 1 , то запрос не выводится.
То есть параметр -I в команде rm перед удалением более трех файлов или рекурсивным удалением запрашивает подтверждение:
Ответ:
3.5. Удалить файлы и каталоги без предварительного запроса или не существующие.
Например, ногда не нужно, чтобы выходил вопрос об удалении файлов и каталогов и всё происходило автоматически:
Ответ:
Также попробуем удалить несуществующий файл или каталог:
Ответ: просто успешно применится команда и всё, нет предупреждений, что чего-то не существует.
3.6. Удалить каталог и его содержимое рекурсивно.
Если вы пытаетесь удалить каталог, вам необходимо использовать параметр командной строки -r . В противном случае rm выдаст ошибку, указывающую, что вы пытаетесь удалить каталог:
Команде rm вместе параметром -r рекурсивно удалит все файлы и подкаталоги в родительском каталоге.
Удалим каталог mydir и все файлы и подкаталоги внутри его:
Ответ:
3.7. Удаление файлов и подкаталогов интерактивно.
Если вы хотите, чтобы rm запрашивала подтверждение перед каждым удалением, используйте опцию -i командной строки:
То есть, чтобы перед удалением каждого файла выводилось подтверждение на удаление каждого файла в целевом каталоге, без учета подкаталогов, используется опция -i :
Ответ:
Используйте опцию -ri в команде rm для интерактивного удаления файлов и подкаталогов.
При удалении каждого файла, в каждом подкаталоге целевого каталога, будет задан вопрос на удаление, персонально для каждого файла:
Ответ:
3.8. Удаление пустых каталогов.
Если вы хотите ограничить возможность удаления каталога rm только пустым каталогом, вы можете использовать опцию командной строки -d :
Используйте опцию -d для удаления пустого каталога:
Ответ:
Вы также можете использовать команду rmdir для удаления пустых каталогов:
Ответ:
3.9. Как заставить rm выводить детали работы, которые она выполняет?
Если вы хотите, чтобы rm отображала подробную информацию о выполняемой операции, это можно сделать, используя опцию -v командной строки:
Ответ:
3.10. Регулярные выражения в команде.Можно использовать регулярные выражения в команде rm , некоторые примеры показаны ниже:
К примеру удалим 5 файлов журнала, начиная с log1 до log5 в каталоге /rm_test/ :
Удалим все файлы в данном каталоге, которые заканчиваются на *.txt :
Удалим все файлы в текущем каталоге, которые имеют три символа в расширение:
3.11. Удаление большого количества файлов.
‘Argument list too long‘ (Список аргументов слишком длинный).
В приведенном ниже примере требуется удалить все файлы (около 300001) из каталога /home/logman/linux_logs/ и его подкаталогов, все и сразу:
Ответ: 300001
Ответ: -bash: /bin/rm: Argument list too long
Чтобы решить эту проблему, используйте команду:
4. Как защитить файл или каталог от удаления.
Защитим файл или каталог от удаления:
Давайте удалим защищенный от записи файл some_file_01.txt :
Ответ:
Примечание: опция -f не будет работать для каталогов, защищенных от записи.
Как мы видим выше, когда мы пытаемся удалить файл или каталог, защищенный от записи, с помощью команды rm , выходит предупреждение.
Для удаления файла или каталога снимите с него атрибут защиты с помощью тега -i :
Давайте удалим защищенный от записи файл some_file_01.txt :
Ответ: нормально позволит удалить с запросом на удаление.
5. Как уничтожить операционную систему одной командой?
Команда rm -rf / , выполненная от имени суперпользователя, уничтожит все данные с корневого раздела диска.
Ключ -r используется для того, чтобы выполнять рекурсивный обход всех каталогов.
Если выполнить эту команду в терминале, а именно выполнить:
Появится предупреждение о том, что выполнение команды опасно:
Таким образом программа rm защищает сама себя от плохих действий. При этом сразу же сообщает нам, что мы можем использовать ключ --no-preserve-root , чтобы обойти это предупреждение.
Если выполнить команду:
Тогда все данные с корневого раздела диска будут удалены!
Иногла злоумышленнки могу замаскировать ввод команды вот так:
Примечание! Иногда данная команда используется, чтобы «подшутить» над новичками в GNU/Linux. Некоторые пользователи на форумах советуют «чайникам» выполнить данную команду, чтобы решить свои проблемы. Чтобы шутка удалась, саму команду иногда маскируют, например, вставляют ее внутрь другой длинной команды, чтобы она не так выделялась.
Процесс работы rm -rf / примерно следующий:
- Команда выполняется от имени суперпользователя.
- Копия программы rm загружается в оперативную память.
- Программа rm начинает удаление всех файлов с корневого раздела / .
- Во время удаления файлов программа rm в какой-то момент удаляет и саму себя (исполняемый файл программы, файл /bin/rm ). Так как копия программы находится в оперативной памяти, то она продолжает работать, не смотря на то, что исполняемый файл уже удален.
- Когда удаление файлов завершено, программа rm выгружается из оперативной памяти.
- На данном этапе в памяти находятся только те программы, которые уже были там до выполнения команды rm (например, ядро, драйвера, окно терминала и так далее).
Причечание! Очень важный момент, который нужно учитывать. Современные UEFI системы монтируют директорию с прошивками в директорию /sys . Так как rm удаляет все файлы и с примонтированных разделов, то прошивки также будут удалены. Таким образом можно получить не только неработающую систему, но и неработающий компьютер. Будьте внимательны!
6. Шутка про удаление всех французских языковых пакетов с атрибутом -fr.
Внимание! Все, что вы прочитаете ниже, написано только в информационных целях, не повторяйте этого на своем компьютере!
Команда rm -rf / является довольно популярной в узких кругах. Это не потому, что ей постоянно пользуются, а наоборот её избегают. Это что-то вроде шутки у заядлых линуксоидов.
Эта небольшая заметка ориентирована на совсем начинающих. Сегодня мы рассмотрим как удалить файл 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, как видите, делать это не так уж сложно. Если у вас остались вопросы, пишите в комментариях!
Управление процессами
ps – вывести ваши текущие активные процессы
top – показать все запущенные процессы
kill pid – убить процесс с id pid
killall proc – убить все процессы с именем proc *
bg – список остановленных и фоновых задач;
продолжить выполнение остановленной задачи в фоне
fg – выносит на передний план последние задачи
fg n – вынести задачу n на передний планПрава доступа на файлы
chmod octal file – сменить права file на octal,
раздельно для пользователя, группы и для всех
добавлением:
● 4 – чтение (r)
● 2 – запись (w)
● 1 – исполнение (x)
Примеры:
chmod 777 – чтение, запись, исполнение для всех
chmod 755 – rwx для владельца, rx для группы и
остальных.
Дополнительные опции: man chmod.SSH
ssh user@host – подключится к host как user
ssh -p port user@host – подключится к host на порт
port как user
ssh-copy-id user@host – добавить ваш ключ на host
для user чтобы включить логин без пароля и по ключамПоиск
grep pattern files – искать pattern в files
grep -r pattern dir – искать рекурсивно pattern в dir
command | grep pattern – искать pattern в выводе
command
locate file – найти все файлы с именем fileСистемная информация
date – вывести текущую дату и время
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены
finger user – показать информацию о user
uname -a – показать информацию о ядре
cat /proc/cpuinfo – информация ЦПУ
cat /proc/meminfo – информация о памяти
man command – показать мануал для command
df – показать инф. о использовании дисков
du – вывести “вес” текущего каталога
free – использование памяти и swap
whereis app – возможное расположение программы
app
which app – какая app будет запущена по умолчаниюАрхивация
tar cf file.tar files – создать tar-архив с именем
file.tar содержащий files
tar xf file.tar – распаковать file.tar
tar czf file.tar.gz files – создать архив tar с
сжатием Gzip
tar xzf file.tar.gz – распаковать tar с Gzip
tar cjf file.tar.bz2 – создать архив tar с сжатием
Bzip2
tar xjf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в fileСеть
ping host – пропинговать host и вывести результат
whois domain – получить информацию whois для
domain
dig domain – получить DNS информацию domain
dig -x host – реверсивно искать host
wget file – скачать file
wget -c file – продолжить остановленную закачкуУстановка пакетов
Установка из исходников:
./configure
make
make install
dpkg -i pkg.deb – установить пакет (Debian)
rpm -Uvh pkg.rpm – установить пакет (RPM)Клавиатурные сочетания
Ctrl+C – завершить текущую команду
Ctrl+Z – остановить текущую команду, продолжть с fg
на переднем плане или bg в фоне
Ctrl+D – разлогиниться, тоже самое, что и exit
Ctrl+W – удалить одно слово в текущей строке
Ctrl+U – удалить строку
!! – повторить последнюю команду
exit – разлогинитьсяУдаление файлов в Linux — задача, которая не вызывает затруднений у опытных пользователей. Наша же статься ориентирована, скорее, на начинающих. В ней вы сможете посмотреть, как удалить файлы через терминал, и какие команды лучше всего при этом использовать.
Почему лучше удалять файлы из консоли? Дело в том, что это даёт ряд преимуществ и бо́льшую гибкость. К примеру, используя специальную команду, вы легко и полностью удалите файл с жёсткого диска без возможности восстановления. Или всего одной командой и с помощью определённых символов, условий либо регулярных выражений удалите сотни не нужных вам файлов в каталоге либо подкаталогах, отвечающих некоторому критерию.
Удаляем файлы в Linux: практика
В ОС Linux для удаления файлов есть стандартная утилита rm . Как это принято со стандартными утилитами, в названии rm есть определённая идея. В нашем случае речь идёт о сокращении от английского слова Remove — удалять.
Итак, чтобы выполнить удаления одного файла, используем команду rm , указывая за ней имя нашего файла:
Если наш файл находится не в текущем рабочем каталоге, нужно указать путь к его местоположению:
Бывает, что файл защищён от записи. Тогда нам предложат подтвердить команду. Чтобы удалить файл в такой ситуации, просто вводим y и нажимаем Enter.
Если мы хотим удалить сразу несколько файлов в Linux, то это тоже не проблема: используем команду rm , за которой прописываем имена наших файлов через пробел:
Ещё вариант — использование подстановочного знака * и регулярных выражений для соответствия определённым файлам. К примеру, мы легко удалим все файлы в Linux, имеющие расширение .txt следующей командой:
Для подтверждения каждого файла перед удалением используйте опцию -i :
Но когда файлов много, а вы твёрдо уверены в правильности своей команды и не хотите каждый раз отвечать на вопрос системы, используйте противоположную опцию -f . Будут удалены все файлы безоговорочно, т. е. без лишних вопросов:
Удаляем папки и каталоги в Linux
Если хотите удалить пустой каталог, задействуйте опцию -d .
Если хотим удалить непустой каталог и все файлы, которые в нём находятся, поступаем следующим образом:
Опять же, в случае наличия защиты от записи, система Linux спросит пользователя, стоит ли выполнять удаление. Если мы хотим удалить файлы и непустые каталоги без лишних вопросов, делаем так:
Когда хотим удалить сразу несколько каталогов, мы применяем команду rm, прописывая за ней имена каталогов через пробел:
Кстати, здесь мы тоже можем использовать подстановочный знак ( *) и регулярные выражения, обеспечивающие соответствие нескольким каталогам.
Выводы
Как видите, удалить файл в Linux через терминал совсем несложно, поэтому с этой операцией справится каждый. При этом вы должны не только понимать, как правильно использовать команду rm в Linux, но и знать, как делать это безопасно.
Для экономии времени, ниже представлен список часто используемых команд при работе с CentOS.
Системная информация
показать мануал для command:
показать информацию о ядре:
информация о памяти:
показать инф. о использовании дисков в GB:
вывести размер текущего каталога:
использование памяти и swap:
информация версия ОС:
информация о дистрибутиве:
показать текущий аптайм:
показать пользователей онлайн:
имя, под которым вы залогинены:
Дата и время
показать текущую дату и время:
показать время нулевого меридиана:
установить дату и время, где MM – месяц, DD – день, hh – час, mm – минуты:
вывести календарь на текущий месяц:
Процессы
вывести ваши текущие активные процессы:
найти и вывести информацию о процессе process:
показать все запущенные процессы:
список остановленных и фоновых задач:
убить процесс с id pid:
убить все процессы с именем process:
получить информацию whois для domain:
получить DNS информацию domain:
Работа с пакетами
вывести список установленных пакетов:
обновить все пакеты:
установить пакет package_name:
удалить пакет package_name:
Файлы и папки
скачать файл по адресу url:
создать символическую ссылку link к файлу file:
список файлов и каталогов:
форматированный список со скрытыми каталогами и файлами:
сменить на домашний каталог:
сменить директорию на dir:
показать текущий каталог:
удалить каталог dir:
удалить file без подтверждения:
удалить каталог dir без подтверждения:
скопировать file1 в file2:
скопировать dir1 в dir2:
скопировать dir1 в dir2 с сохранением всех прав доступа:
переименовать file1 в file2, если file2 каталог, то переместить file1 в каталог file2:
создать директорию dir:
создать древо директорий /home/user/dir:
установка прав 777 на dir:
установка прав 777 на dir и все подкаталоги рекурсивно:
задать владельца apache с группы apache для директории dir:
Читайте также: