Copy-Item копирование файлов и папок из PowerShell

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

Создание файла и просмотр сведений о его владельце, группе и правах доступа

Сперва создадим файл file командой touch так, как описано в → этой статье. Для того, чтобы посмотреть информацию о его владельце, группе и правах доступа нужно набрать команду ls -l ИмяФайла. В итоге получим сводку по этому файлу:

[email protected]:~# ls -l file -rw-r—r— 1 root root 0 Apr 10 21:06 file

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

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

Для правильного использования команды 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 : переносить только каталоги, не просматривая их.
Читайте также:  Плюсы и минусы операционной системы Ubuntu

Нахождение и удаление дубликатов файлов в Linux

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

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

FSlint

Программа FSlint доступна в большинстве репозиториев дистрибутивов Линукс, включая такие, как Рэд Харт, Федора, Дебиан, Ubuntu. Достаточно открыть терминал и осуществить установку требуемого пакета. В Дебиан либо Ubuntu надо просто ввести команду: sudo apt-get install fslint

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

Нахождение и удаление дубликатов файлов в Linux

При осуществлении открытия графического варианта FSlint, она по умолчанию открывает вашу директорию. Затем вам остаётся только нажать на клавишу «Поиск». Программка запустит процесс поиска дубликатов. По окончанию поиска можно выбрать файл, который следует удалить.

Программа Fdupes для удаление дубликатов в Linux

Fdupes – одна из наиболее удобных утилит для тех, кто хочет оперативно отыскать и удалить дубликаты через командную строчку. Простейшая в эксплуатации утилита консольного типа.

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

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

fdupes ~/

По умолчанию fdupes не может осуществить рекурсивный поиск. Для проведения его следует ввести:

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

fdupes ~/–r

Нахождение и удаление дубликатов файлов в Linux

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

Заключение

Помимо выше приведённых 2-х утилит, есть ещё и довольно эффективная программка под названием dupeGuru. Однако в большинстве дистрибутивов Линукса она не доступна. Главным достоинством DupeGuru является то, что она является кроссплатформенным.

Мы рассказали вам о самых популярных и эффективных методах для поиска и удаления файлов-дубликатов. А как вы ищите дубликаты файлов? Расскажите о них в комментариях.

Читайте также:  ShareMe – как пользоваться этим приложением на Xiaomi

Программа с 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

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

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

Создание папки

Для создания папки/каталога в любой операционной системе нужна следующая команда:

Создание папки

# создать пустой каталог (папку) os.mkdir(«folder»)

После ее выполнения в текущем рабочем каталоге тут же появится новая папка с названием «folder».

Создание папки

Если запустить ее еще раз, будет вызвана ошибка FileExistsError, потому что такая папка уже есть. Для решения проблемы нужно запускать команду только в том случае, если каталога с таким же именем нет. Этого можно добиться следующим образом:

Создание папки

# повторный запуск mkdir с тем же именем вызывает FileExistsError, # вместо этого запустите: if not os.path.isdir(«folder»): os.mkdir(«folder»)

Функция () вернет True, если переданное имя ссылается на существующий каталог.

Создание папки

Удаление

Для удаления директорий используется команда rmdir имя_директории. Название этой команды является сокращением слов remove directory.

Читайте также:  12 бесплатных инструментов RAR архиваторов 2020 года

Для удаления файлов используется команда rm. Например, для удаления файла с именем file1 используется команда:

rm file1

Команда rm также позволяет удалять не только файлы, но и каталоги.

Для удаления директории с именем dir1 со всеми подкаталогами и файлами используется опция -r (от слова recursive):

rm -r dir1

Можно удалить одновременно две директории со всем их содержимым:

rm -r имя_директории_1 имя_директории_2

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

Команда для удаления файла будет выглядеть так:

rm -f file1

Команда для удаления каталога:

rm -rf dir1

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

С помощью 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

Как удалить пустые каталоги

Если вы хотите удалить пустой каталог, используйте флаг -d  с командой rm $ rm -d directory_name Давайте создадим пустой каталог и назовем его data. Чтобы удалить этот каталог, запустите $ rm -d data Вывод В Linux команда удалить папку может выглядеть, как  rmdir. Rmdir — это сокращение от слов remove directory. Ниже приведен синтаксис. $ rmdir directory_name Во втором примере мы создадим новый каталог и назовем его linux . Затем мы удалим его с помощью команды rmdir. Вывод