Как из командной строки удалить папку и все ее содержимое?

Как очистить историю командной строки BASH в Linux?

История bash хранит записи обо всех командах, выполненных пользователем в командной строке Linux. Это позволяет легко запускать ранее выполненные команды с помощью клавиш «стрелка вверх» или «стрелка вниз» для прокрутки файла истории команд.

В этой статье мы покажем вам два простых способа очистить историю командной строки в системе Linux.

Основная причина удаления истории командной строки из терминала Linux состоит в том, чтобы предотвратить использование команд другим пользователем, который мог бы использовать вашу учетную запись.

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

Посмотрите на команду ниже, здесь пользователь aaronkilik набрал пароль сервера базы данных в командной строке:

Если вы посмотрите в конец истории файла bash, то увидите там пароль, введенный выше:

Файл bash_history обычно находится в домашнем каталоге пользователя /home/username/.bash_history:

Чтобы удалить одну строку из файла истории, используйте параметр -d. Например, если вы хотите очистить команду, в которой вы ввели открытый текстовый пароль, как в приведенном выше сценарии, найдите номер строки в файле истории и выполните эту команду:

Чтобы удалить или очистить все записи из истории bash, используйте команду history ниже с опцией -c:

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

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

Спасибо за уделенное время на прочтение статьи!

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Очистить кеш APT

APT – это аббревиатура от Advanced Package Tool, присутствующего в системах UBUNTU, который используется для установки, удаления и обновления программного обеспечения в системе.

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

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

sudo du -sh /var/cache/apt

Приведенный выше код удалит содержимое каталога /var/cache/apt/archives.

Если у вас недостаточно места для хранения, а файлы кеша велики, вы можете очистить apt-cache с помощью этой специальной команды:

sudo apt-get clean

PhotoRec

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

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

В утилиты есть несколько настроек. Вы можете указать расширения файлов, которые нужно найти, размер, дату изменения и так далее. Установить программу можно так же как и TestDisk — из официальных репозиториев.

Например, в Ubuntu выполните:

Что касается использования, то тут похожий на testdisk интерактивный интерфейс. Запустите утилиту командой:

Выберите диск, с которым нужно работать:

Выберите раздел:

Выберите файловую систему:

Выберите способ сканирования (неразмеченное пространство/весь раздел) Затем выберите папку для сохранения результата:

Дождитесь завершения процесса:

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

Установка, удаление и обновление пакетов

Для установки программ в Linux используются менеджеры пакетов. Они разнятся от дистрибутива к дистрибутиву, поэтому команды для управления ими тоже отличаются. Рассмотрим наиболее популярные.

Debian/Ubuntu

  • sudo apt-get install название пакета — устанавливает программу на выбор. Главное знать, как она называется.
  • sudo apt remove название пакета — стирает с жесткого диска имеющийся в системе пакет.
  • sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе, и тех, что хранятся в подключенных репозиториях.
  • sudo apt-upgrade — обновляет установленные пакеты до самых свежих версий, доступных в подключенных репозиториях.

Red Hat Linux/CentOS

  • sudo dnf install название пакета — устанавливает программу на выбор.
  • sudo dnf upgrade — обновляет установленные пакеты до самых свежих версий.
  • sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

Команда rm

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

Синтаксис этой команды похож на rmdir:

rm ИмяФайла

Как Удалить Файл в Linux с Помощью Команды rm

Давайте используем команду rm, чтобы удалить файл с именем article.txt:

rm article.txt

Допустим, у нас есть каталог с именем Dir1, содержащий подкаталоги и файлы, чтобы удалить его, нам понадобится модификатор -r. Команда будет выглядеть так:

rm -r Dir1

Опция -r рекурсивно удаляет каталоги и их содержимое.

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

Вы также можете удалить пустые каталоги, используя опцию -d. Следующая команда удалит пустую папку с именем Dir1:

rm -d Dir1

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

rm *.pdf

Вы можете использовать вариации всех перечисленных выше команд для удаления файлов с другими расширениями, такими как .txt, .doc, .odt и другими.

Опция -f позволяет принудительно удалить всё, что находится в каталоге. Команда будет выглядеть так:

rm -rf Dir1

Приведённая выше команда рекурсивно и принудительно удалит всё, что находится в каталоге Dir1, не запрашивая подтверждения в терминале.

Вы также можете удалить несколько папок за раз. Следующая команда удалит три каталога Dir1, Dir2 и Dir3.

rm -rf Dir1 Dir2 Dir3

Поздравляем, вы успешно освоили основные функции команд rm и rmdir, позволяющие удалить файл или папку в Linux!

Симлинки против псевдонимов в macOS

Если вы когда-либо создавали псевдонимы в macOS, вы заметите, что они ведут себя почти как символические ссылки. Оба типа ссылок ссылаются на путь к связанному файлу или папке.

Разница в том, что псевдоним также помечает связанный объект с идентификатором, называемым inode (индексный узел). Этот идентификатор уникален для объекта и следует за ним по всей файловой системе.

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

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

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

Откройте инспектор файлов или панель «Информация» для каждого ярлыка и посмотрите размер файла в разделе «Общие». Если это говорит (ноль байтов на диске), вы имеете дело с символической ссылкой.

Символьные ссылки (в текущей папке) также проявятся при использовании этой команды терминала:

ls -la

Команда работает и в Linux, и вы увидите символическую ссылку, указывающую на местоположение исходного объекта.

Симлинки лучше, чем ярлыки

Поначалу символические ссылки могут показаться запутанными, но если вы потратите время на их понимание, вы поймете, что в конце концов их довольно просто использовать!

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

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

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

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

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

Удаление

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

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

Удалите пакеты Snap

Пакеты Snap – это большие пакеты, содержащие некоторые зависимости. Это один из основных недостатков пакетов snap. Удаляя такие громоздкие пакеты, вы можете освободить много свободного места, занимаемого этими пакетами. Есть простой способ удалить снимки, чтобы освободить большой объем памяти, используемый пакетами снимков.

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

snap list

Удалите привязку, введя следующую команду:

sudo snap remove package_name

Чтобы удалить snapd, используйте команду ниже:

sudo apt purge snapd

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

Временные и ненужные файлы

Как уже отмечалось, в любой работающей ОС (в особенности в активно работающей) всегда имеются ненужные и/или временные файлы. Так, к примеру в случае каких-либо сбоев системное ядро создаёт файлы с информацией об адресном пространстве программы (дампы памяти) на момент сбоя. Такие файлы обычно имеют имя core, core.pid или program.core. В зависимости от ситуации, в которой произошёл сбой и последующая генерация подобных файлов, их размер может быть в несколько мегабайт, а если сбои не учитывались администратором и происходили часто, то в совокупности теряется внушительный объём свободного пространства, который крайне расточительно отводить для хранения core-файлов, представляющих интерес только для разработчиков и специалистов по отладке программного обеспечения (ПО). В некоторых системах работу системных ядер можно сконфигурировать таким образом, чтобы дампы памяти вообще не генерировались, либо, чтобы они помещались в отдельный каталог и это очень удобно и для разработчиков, отладчиков, а также и для системных администраторов. Для уточнения этой информации следует обратиться к страницам справочного руководства используемой системы с помощью команды man core для Linux или man coreadm для Solaris.

В Linux-системах существуют также каталоги, специально предназначенные для хранения временных файлов — /tmp и /var/tmp. В этих каталогах программы сохраняют свои данные, актуальные только во время сеанса их запуска, например кеш закачек и т. д. Также эти каталоги используются текстовыми редакторами для хранения резервных копий документов и истории редактирования. И хотя в современных системах и существуют специализированные скрипты (обычно запускаются при старте системы), очищающие эти каталоги, однако не всегда ненужная информация может быть очищена таким образом, особенно это касается работающих длительное время серверов.

Естественно, подобные скрипты можно запускать и по расписанию, не дожидаясь плановой перезагрузки или технического обслуживания (ТО) серверов, используя cron, что часто и делают многие системные администраторы. Конечно, в таком случае скрипты очистки должны быть тщательно протестированы и соответствовать техническим регламентам, принятым в организации, чтобы исключить вероятность удалить что-то действительно нужное в системе, а также как можно меньше мешать основной работе системы.

Когда используется сетевая ФС NFSv3, то на серверах, которые её обслуживают также могут накапливаться внушительные объёмы ненужных файлов, которые обычно имеют имена, соответствующие «.nfsxxx», где xxx – некоторый числовой код.

10 Простых Примеров :

1. Добавить всем права на чтение файла :

$ chmod a+r file

2. Забрать права на исполнение файла у всех :

$ chmod a-x file

3. Добавить всем права на чтение и запись :

$ chmod a+rw file

4. Установить права на чтение и запись для владельца и забрать права у всех остальных :

$ chmod u=rw,go= file

5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных :

$ chmod -R u+w,go-w directory

6. Забрать у всех все права :

$ chmod file

7. Дать всем права на права на чтение, запись и выполнение файла :

$ chmod 777 file

8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение :

$ chmod 664 file

9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных :

$ chmod -R u+rwX,g-rwx,o-rwx directory

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

$ chmod -R a-x+X directory

Запуск Команд на Удаленном Linux Сервере через SSH

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

Данная информация будет очень полезна, если Вы пишете Bash скрипт, который будет запускаться с локальной машины и выполнять какие-либо команды на удаленном сервере.

Вы узнаете, как :

  • выполнить команду на удаленном Linux сервере;
  • запустить множество команд через SSH;
  • выполнить локальный скрипт на удаленном Linux сервере без его копирования.

6. Удаление осиротевших пакетов

Осиротевшие пакеты — это те пакеты (программы), которые устанавливались в качестве зависимостей для других программ. Но по разным причинам они больше не нужны: или удалена программа, которая их использовала, или для той программы они перестали быть зависимостями после обновления программы.

На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:

sudo apt autoremove

Для Debian и производных предыдущая команда абсолютно безопасна.

В Arch Linux и производных список осиротевших пакетов можно увидеть следующим образом:

pacman -Qdt

Прежде чем переходить к их автоматическому удалению, настоятельно рекомендуется изучить этот список!

Для рекурсивного удаления сироток и их конфигурационных файлов в Arch Linux и производных:

sudo pacman -Rns $(pacman -Qtdq)

Если осиротевшие пакеты не были найдены, pacman завершит работу с ошибкой: ошибка: не задано целей (для справки используйте -h). Это ожидаемо, поскольку pacman -Rns не получил аргументов.

Подделка Времени «Изменения» Файла

Как я уже говори ранее, не существует стандартного решения для подделки времени изменения файла (ctime).

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

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

Сохраните текущую дату и время в переменную NOW :

$ NOW=$(date)

Установите поддельное системное время (необходим root) :

$ date --set "2030-08-15 21:30:11"

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

$ touch file.txt

Откатите время назад (необходим root) :

$ date --set "$NOW"

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

$ NOW=$(date) && date -s "2030-08-15 21:30:11" && touch file.txt && date -s "$NOW"

Заметаем Следы

Чтобы замести следы не забудьте очистить значение переменной, а также почистить логи и историю.
Очистите значение переменной NOW :

$ unset NOW

Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root) :

Feb 24 063246 centos7 systemd Time has been changed
Aug 15 143011 centos7 systemd Time has been changed

Очистите историю входов в Linux (необходим root) :

$ echo > /var/logwtmp
$ echo > /var/logbtmp
$ echo > /var/loglastlog

Очистите историю текущей сессии :

$ history -r

Очистить или Удалить Историю Входов в Linux

В Linux системах есть три стандартные команды, которые показывают информацию о последних подключавшихся пользователях : last, lastb, и lastlog.

Вывод этих команд включает : логин, время последнего подключения, IP адрес, порт и т.д.

И иногда, чтобы сохранить анонимность, возникает необходимость очистить историю последних подключений.

Команда Журнал логов Описание
last /var/log/wtmp История успешных входов/выходов
lastb /var/log/btmp История неудавшихся попыток входа
lastlog /var/log/lastlog Список последних подключавшихся пользователей

Как удалить все файлы в папке Linux

В некоторых случаях может возникнуть необходимость удалить все файлы в папке при этом не удаляя саму папку. Для решения такой задачи можно использовать вот такую команду «rm -rf /path/to/directory/*». Данная команда удалит все файлы и папки (рекурсивно удалит все содержимое) по указанному пути.

Если же нужно удалить все файлы в папке, но оставить вложенные папки, то это можно сделать командой «rm -f /path/to/directory/*».

Альтернативный вариант — это удаление самой папки со всем содержимым (включая скрытые файлы и каталоги) и повторное ее создание.

Для этого подойдет команда «rm -rf foldername && mkdir foldername».

Удалите избыточные приложения

Теперь выполните следующую команду для вывода списка установленных пакетов в системе:

sudo apt list --installed

После этого выполните команду ниже и замените package_name на имя пакета, который вы хотите удалить:

sudo apt remove package_name

Если вы хотите удалить сразу несколько пакетов, введите следующую команду и замените package_name1, package_name2 на имена пакетов, которые вы хотите удалить:

sudo apt remove package_name1 package_name2

Таким образом, вы можете сразу удалить несколько пакетов.

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

Выполните команду ниже, чтобы выполнить процедуру удаления файла пакета:

sudo apt-get purge package-name

Имя пакета – это имя приложения, которое вы хотите удалить. Это удалит программы вместе с файлами конфигурации, созданными во время установки.

Основное различие между apt remove и apt purge заключается в том, что apt remove удаляет двоичные файлы пакета, оставляя постоянные файлы конфигурации. С другой стороны, apt purge удаляет все файлы пакета, включая все файлы конфигурации.

Если вы используете apt remove для удаления определенного пакета и его повторной установки, этот пакет будет работать с теми же файлами конфигурации. Система попросит вас перезаписать файлы конфигурации при переустановке пакета.

Использование apt purge может удалить все, что касается конкретного пакета, и пакет создаст новые файлы конфигурации во время повторной установки.

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

sudo apt-get autoclean && sudo apt-get autoremove

Если вы хотите очистить только кеш APT, выполните эту команду:

sudo apt-get autoclean

Вы можете использовать sudo apt-get autoremove для удаления и очистки всех старых пакетов.

Что такое ссылка на файл в Linux

Ссылка на файл в Linux — это указатель на файл. Если проводить аналогию с Windows, то ссылки чем-то похожи на ярлыки. То есть вы создаете ссылку, которая указывает на какой-либо файл или директорию, и можете разместить эту ссылку в другом каталоге. Обращаясь к такой ссылке, вы будете обращаться к настоящему файлу или каталогу.

Ссылки в Linux бывают двух типов: символические и жесткие. Не смотря на то, что оба типа называются ссылками, они имеют существенные отличия друг от друга

Поэтому очень важно понимать, как создавать и использовать тот или иной тип ссылок

Что такое символические ссылки

Символическая ссылка (symbolic link) — это специальный файл, который является ссылкой на другой файл или каталог (их еще называют целевым файлом, целевым каталогом).

Символические ссылки также называют символьными, мягкими ссылками (soft links) или сим-ссылками (sym-link).

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

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

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

Связь между символической ссылкой и файлом, на который она указывает, является «мягкой». Если удалить символическую ссылку, то файл, на который она указывает, не удаляется.

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

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

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

Что такое жесткие ссылки

Жесткая ссылка (hard link) является своего рода синонимом для существующего файла. Когда вы создаете жесткую ссылку, создается дополнительный указатель на существующий файл, но не копия файла.

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

В Linux каждый файл имеет уникальный идентификатор — индексный дескриптор (inode). Это число, которое однозначно идентифицирует файл в файловой системе. Жесткая ссылка и файл, для которой она создавалась имеют одинаковые inode. Поэтому жесткая ссылка имеет те же права доступа, владельца и время последней модификации, что и целевой файл. Различаются только имена файлов. Фактически жесткая ссылка это еще одно имя для файла.

Жесткие ссылки нельзя создавать для директорий.

Жесткая ссылка не может указывать на несуществующий файл.

Жесткие ссылки появились раньше, чем символические, но сейчас уже устаревают. В повседневной работе жесткие ссылки используются редко.

Схематично отношение между исходным файлом, жесткой ссылкой и данными можно показать следующей схемой:

Отличия символических ссылок от жестких

Кратко подведем итог, написанного выше.

Символическая ссылка:

  • Указывает на целевой файл или каталог. Фактически является небольшим файлом, содержащим путь до целевого файла.
  • Не содержит внутри себя содержимого самого файла. Содержит путь к целевому файлу.
  • Имеет собственные права доступа, которые не распространяются на целевой файл.
  • Удаление / переименование / перемещение целевого файла не обновляет автоматически ссылку. Ссылка начинает указывать на несуществующий файл, становится неработающей.
  • Изменение прав доступа у целевого файла не обновляет права доступа у ссылки.
  • Может быть создана для директории.
  • Ссылка и целевой файл имеют разные файловые индексы (inode) в файловой системе.
  • Может указывать на несуществующий файл.
  • Символическая ссылка может использовать относительный путь до целевого файла.

Жесткая ссылка:

  • Является своего рода еще одним именем на файл.
  • Не может указывать на директорию.
  • Нельзя создавать жесткие ссылки между файлами разных файловых систем.
  • Не может указывать на несуществующий файл.
  • Жесткая ссылка и файл, для которого она создавалась, имеют одинаковые индексы (inode) в файловой системе.

Ubuntu Cleaner

Ubuntu Cleaner – еще один инструмент с графическим интерфейсом, который помогает освободить дисковое пространство и удалить ненужные файлы, такие как кеши, ненужные пакеты, старые ядра и т. д.

Это потрясающий инструмент. Итак, если вы хотите использовать его, выполните следующие действия:

Перейдите в терминал и выполните следующую команду, чтобы установить очиститель Ubuntu.

$ sudo add-apt-repository ppa:gerardpuig/ppa
$ sudo apt update
$ sudo apt-install ubuntu-cleaner
  • Найдите «Очиститель Ubuntu» в каталоге приложения.
  • Откройте приложение, чтобы очистить систему.
  • Он предлагает вам чистую панель инструментов, чтобы быстро избавиться от ненужных файлов.

Nwipe — безопасное удаление с дисков

Nwipe — утилита для безопасного удаления данных с дисков, использующая несколько общепризнанных методов. Она является ответвлением от dwipe, используемой в Darik’s Boot and Nuke (DBAN).

Связанные с программой сайты:

  • https://github.com/martijnvanbrummelen/nwipe

Установка nwipe:

apt-get install nwipe

Использование:

nwipe    ...

Опции nwipe:

—autonuke — если не были указаны устройства в командной строке, начинает немедленно стирать все устройства. Если устройства были заданы, то немедленно начинает стирать только эти специфичные устройства.

-m, —method=METHOD — метод стирания.

              Методы стирания (по умолчанию: dodshort).
              dod522022m / dod       - 7 проходов методом DOD 5220.22-M 
              dodshort / dod3pass    - 3 прохода методом DOD 
              gutmann                - Алгоритм Питера Гутмана
              ops2                   - RCMP TSSIT OPS-II
              random / prng / stream - PRNG Stream
              zero / quick           - Перезаписать нулями

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

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

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

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

touch

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

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

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

  • СС — первые 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 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 DIRECTORY. В качестве опций(ключей) принимает всего 3 ключа:

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

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

rmdir

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

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

Выводы

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

Об авторе

Основатель и администратор сайта 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.

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

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: