Запасливый пингвин. Программы для резервного копирования в Linux

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

Особенности работы с файлами в Linux

В Unix-системах применяется принцип иерархии. Файловое хранилище представляет собой дерево каталогов с корневой директорией «/». Далее можно добавлять и удалять различные ветви, путем их монтирования и демонтирования.

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

Особенности работы с файлами в Linux

Команды, с которыми пользователь может столкнуться на первоначальном этапе, – pwd и file. Первая позволяет узнать имя текущего каталога, вторая – тип элемента и некоторые свойства.

Команда file в Linux классифицирует операнды, перечисленные в командной строке. Например, для текстовых файлов реализована возможность определять язык программирования по первым 512 байтам, а для исполняемых – номер версии.

Народные мудрости

На базе Linux любят разворачивать NAS- и FTP-серверы. Для таких систем неплохо бы иметь резервную копию как минимум конфигурации, а в идеале еще и данных. Не стану читать очередную лекцию, насколько важно озаботиться резервным копированием до того, как с основным носителем информации приключится беда. Но повторю одну притчу из айтишного фольклора: люди делятся на тех, кто делает бэкапы, и тех, кто их еще не делает. С основами создания резервных копий ты можешь ознакомиться, например, в упомянутой статье, а мы не будем тратить время на теорию и сразу перейдем к делу.

WARNING

В одной статье всех существующих решений для резервного копирования не обозреть, поэтому мы рассмотрели и сравнили наиболее известные из них. Если тут нет твоей любимой программы — не обессудь.

Самое что ни на есть хардкорное резервное копирование данных с носителей можно выполнить командой dd. И самое прикольное, что можно примонтировать получившийся образ и работать с ним как с обычным разделом в режиме чтения и записи. Никаких тебе DAEMON Tools или Alcohol для эмулирования дисковода…

Народные мудрости

Снимаем слепок устройства /dev/sdb1 и монтируем его

Подобные способы подкупают своей простотой и удобством создания резервной копии. К тому же не надо беспокоиться, что слетят права и прочие атрибуты файлов или испортятся символические ссылки. Еще можно примонтировать, например, и сразу закидывать бэкапы на него. Но это кажется удобным лишь до поры до времени, пока не требуется ставить создание бэкапов на поток, а нужно лишь снять образ с флешки или диска. Для более серьезных задач в Linux уже существует достаточное количество утилит, делающих процесс резервного копирования с последующим восстановлением почти таким же простым (ну, после некоторой подготовки), как в винде или в macOS, поэтому вместо изобретения еще одного велосипеда давай-ка лучше изучим готовые.

Читайте также:  Боремся со сбоями Flash Player в Google Chrome

Синтаксис команды

Для правильного использования команды rsync необходимо соблюдать правильный синтаксис :

rsync [ОПЦИЯ] … [SRC] … [DEST] rsync [ОПЦИЯ] … [SRC] … [ПОЛЬЗОВАТЕЛЬ @] ВЕДУЩАЯ: DEST rsync [ОПЦИЯ] … [SRC] … [ USER @] HOST :: DEST rsync [ОПЦИЯ] … [SRC] … rsync: // [USER @] HOST [: ПОРТ] / DEST rsync [ОПЦИЯ] … [USER @] Хост: SRC [ DEST] rsync [ОПЦИЯ] … [USER @] HOST :: SRC [DEST] rsync [ОПЦИЯ] … rsync: // [USER @] HOST [: ПОРТ] / SRC [DEST]

Некоторые часто используемые переключатели включают в себя:

  • -v , —verbose : увеличить детализацию (предоставляет больше подробностей о том, что делает команда).
    • —info = FLAGS : Предоставляет подробные информационные сообщения.
    • —debug = FLAGS : Предоставляет подробные сообщения отладки.
    • —msgs2stderr : специальная обработка вывода для отладки.
  • -q , —quiet : подавляет сообщения, не связанные с ошибками.
    • —no-motd : Подавляет сообщение дня в режиме демона (MOTD).
  • -c , —checksum : Пропускает файлы на основе контрольной суммы , а не времени и размера мода.
  •  -r , —recursive : искать в подкаталогах дополнительные файлы.
  • -b , —backup : делать резервные копии.
    • —backup-dir = DIR : Сделать резервные копии в соответствующей иерархии каталогов.
    • —suffix = SUFFIX : Добавляет суффикс текст до конца скопированных файлов.
  • -d , —dirs : переносить только каталоги, не просматривая их.

Терминал

Основным способом управления в Linux, независимо от версии (Ubuntu, Mint и т.п.) является терминал. Он внешне очень схож с командной строкой Windows (или командная строка схожа с терминалом). Даже команды в каком-то смысле очень схожи (дело в том, что исходными являются одни и те же слова из английского языка). Чтобы открыть терминал нужно нажать сочетание клавиш «CTRL+ALT+T».

Удаление файлов и папок

Стирание документов при выполнении через терминал задача необратимая. Удалённые таким образом файлы и папки «пролетают мимо корзины» (аналог в Windows «Shift+Del») и восстановлению не подлежат. С помощью терминала файлы стираются с помощью команды «rm». Используется следующим образом:

Терминал

rm «%имя_файла»

Есть ещё вариант удаления директории — rm*, который полностью зачищает каталог.

Следует обратить внимание, что rm требует перехода в конкретный каталог, что делается с помощью «cd».

Примечание! есть команда «–rm –rf». Отличается этот вариант тем, что удаляется всё с жёсткого диска. Использовать эту команду действительно не стоит, потому что стираются файлы без подтверждения и рекурсивно (начинается всё с файла, а заканчивается каталогом верхнего уровня, а как следствие и содержимым локального диска).

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

Терминал

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

  1. Touch. Утилита, которая служит для проверки наличия документов. При отсутствии таковых создаёт файл, поэтому с командой touch можно создавать простейшие текстовые документы. Используется команда следующим образом:
    • открыть в терминале путь к местонахождению будущего документа. В этом поможет «cd» — переход по каталогам. Увы, путь потребуется знать точно;
    • написать touch «%Имя_документа».
  2. Знак «>» . Перенаправление процесса. Эта команда используется довольно просто: ставится символ «>» и вписывается имя. Таким образом процесс не находит файла и создаёт его.
  3. Команда CP. Утилита для копирования элементов. Linux интересен тем, что его можно заставить выполнить копирование несуществующего объекта и приведёт это не к ошибке, а к созданию этого самого объекта. Таким образом, применение ключа «null» (указатель отсутствующего объекта) приводит к созданию пустого файла. «cp /dev/null %имя_файла», где через «/» указан путь к каталогу.
Читайте также:  Пять браузеров с приватностью

Многие источники по непонятным причинам предлагают для создания файлов и каталогов через терминал использовать сочетание команд Echo > «%имя_файла». Следует понимать, что echo – даже не утилита, а просто способ вывода указанного текста в терминале. Поэтому в терминале будет выводиться название документа. С другой стороны – создание указанной структурной единицы всё равно происходит, поэтому можно пользоваться и им. К этой же категории относится и утилита «cat» связывающая файл. Применяется она через пустое значение по аналогии с СР.

Текстовый редактор в терминале

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

Терминал
  1. Установить приложение (можно пропустить, если он уже установлен):
    • вписать в терминал «sudo apt install vim»;
    • подтвердить шаги установки, если потребуется.
  2. Ввести команду «vim –c wq «%имя_файла».

Поставив такую задачу, пользователь провоцирует утилиту выполнить создание файла (-с), а потом выйти из vim. Стоит обратить внимание, что название документа вводится после основного набора команд.

Программа с gui FSlint Janitor

Официальный сайт — Команда для установки:

sudo apt install fslint

1 sudo apt install fslint

Запустите программу. Она откроется с активной вкладкой «Дубликаты». По умолчанию используется путь к домашнему каталогу текущего пользователя.

Программа с gui FSlint Janitor

Для начала работы укажите папки для поиска нажав кнопку «Add». Если хотите, что бы сканирование не производилось рекурсивно (просмотр вложенных папок) снимите флаг (на скриншоте обозначен «2»). Затем нажмите кнопку «Найти».

  • Ознакомьтесь с предложением, предоставляет молниеносные скорости и не регистрирует активность пользователей Лучший Сервис VPN
  • Один из лучших сервисов хотя и не дешевый. Множество функций безопасности, поддержка P2P и стримов Сервис NordVPN
  • Я предпочитаю всем сервисам впн создавать свой. Вот инструкция как создать собственный VPN сервер

После сканирования будут найдены дубликаты файлов и отобразится результат. Можно выделить ненужные файлы и удалить. Выделять можно как по одному так и группами. Для этого нажмите кнопку «Выделить» и увидите все возможные варианты (смотрите скриншот).

Из интересных опций я бы отметил ещё поиск пустых каталогов.

Поиск дубликатов в терминале с помощью fdupes

Ссылка на официальный сайт — Команда для установки:

Программа с gui FSlint Janitor

sudo apt-get install fdupes

Читайте также:  Как в Excel массово найти и заменить несколько значений на другие
1 sudo apt-get install fdupes

Работать с программой просто. Введите в терминале ‘fdupes опции путь к папке’. Например, что бы сканировать домашнюю директорию пользователя «vasiliy» укажите fdupes /home/vasiliy. Сканироваться будет только папку «vasiliy» без вложенных каталогов.

Что бы сканировать все каталоги включая вложенные требуется указать опцию «-r». А что бы просканировать и удалить все дубли файлов параметр «-d».  Чтобы сразу сканировать и удалить все дубли в папке и подпапках пользователя «vasiliy» можно указать командой:

fdupes -rd /home/vasiliy

1 fdupes -rd /home/vasiliy

В процесса работы программа будет останавливаться и задавать вопрос какой из файлов оставить.

Выбирайте нажав на цифру соответствующую версии файла который желаете сохранить. Остальные будут удалены.

Программа с gui FSlint Janitor

Можно задать параметр «-N». В таком случае вопросов задано не будет. Если желаете доверить все автоматическому режиму укажем:

fdupes -rdN /home/vasiliy

1 fdupes -rdN /home/vasiliy

После завершения работы будет отображен отчет. Знаком «+» указаны файлы сохранённые а знаком «-» удаленные. Вот так удобно и просто. Но будьте внимательны! Не удаляйте все подряд без понимания, что это за файл. Это может привести к потере важных данных!

Копирование с фильтрацией по шаблону

С помощью Copy-Item можно скопировать файлы/директории выбранные с помощью wildcard символа * или с помощью символа ?. Также поддерживаются некоторые регулярные выражения

  • * — обозначает любое количество любых символов
  • ? – обозначает 1 любой символ
  • [a-z], [0-9] – символы между a-z и цифры между 0 и 9

Для примера возьмём такую структуру файлов:

Выполним копирование командой:

Copy-Item -Path «C:\SourceFolder\fol*» -Destination «F:\DestFolder\»

Результат в F:\DestFolder\

Теперь чистим папку назначения и выполняем:

Copy-Item -Path «C:\SourceFolder\folder[0-3]» -Destination «F:\DestFolder\»

Результат:

Папка без цифры в окончании не скопировалась, потому что folder[0-3] подразумевает что после folder будет как минимум еще 1 символ между 0 и 3

Скрыть файлы и папки с помощью Nautilus

Чтобы создать новую скрытую папку в Nautilus, перейдите в Файл> Новая папка. Если вы создаете новый скрытый текстовый файл, перейдите к Файл> Новый документ> Пустой документ вместо.

Новая папка в Nautilus в Ubuntu «width =» 670 «height =» 428 «>

Имя папки (или файла) становится редактируемым и выбирается. Введите точку (.), А затем имя, которое вы хотите. Нажмите Войти.

Вы также можете легко переименовать файл или папку в Nautilus, чтобы скрыть элемент. Щелкните правой кнопкой мыши на элементе и выберите переименовывать. Название элемента становится редактируемым и выбирается. Добавьте точку (.) В начале имени.

Заключение

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

Оригинал статьи — -how-to/how-to-delete-files-and-directories-in-linux/.

Каждую неделю мы в live режиме решаем кейсы на наших открытых онлайн-практикумах, присоединяйтесь к нашему каналу в Телеграм, вся информация там.

Если вы хотите освоить функционал системного администратора Linux на практике, приглашаем на наш практикум Linux by Rebrain.