Как разжать папку zip: Как распаковать архив ZIP, RAR, 7z простыми способами 💻

Содержание

Немного про сжатые папки в Windows

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

  • NTFS сжатие на уровне файловой системы
  • Сжатые ZIP-папки (Compressed Folders)

Сжатие NTFS – это архивирование на уровне файловой системы NTFS, выполняется оно прозрачно драйвером файловой системы. NTFS сжатие может применяться к файлам, папкам и дискам целиком. Для этого каждому сжатому объекту присваивается специальный атрибут сжатия (compression state), который указывает сжат файл или нет. У этого типа сжатия есть свои особенности:

  • Сжатие NTFS возможно только на разделах с файловой системы NTFS
  • При доступе к сжатому файлу или папке осуществляется прозрачная декомпрессия, т.е. пользователь не видит различий между сжатыми и обычными файлами в Windows, и спокойно может копировать, добавлять или удалять файлы в сжатой папке.
  • Для отображения объектов, сжатых на NTFS, применяется специальная цветовая схема (по умолчанию, в проводнике имена сжатые файлов отображаются синим цветом)
  • Скорость доступа к сжатому файлу ниже, т.к. систем требуется некоторое время на его распаковку (для современных систем такая операция сложностей не создает, так что задержка практически не видна невооруженным взглядом).
  • Сжатие более слабое, чем при использовании ZIP-папок или других архиваторов, но скорость его выполнения гораздо выше

Сжатые ZIP-папки подразумевают архивацию файлов встроенной в систему функцией создания zip архивов. Сжатые папки очень похожи на обычные, иногда даже можно забыть, что на самом деле работаешь с ZIP-архивом. Особенности ZIP-папок в Windows:

  • Сжатые ZIP-папки можно создавать как на томах NTFS, так и на томах FAT.
  • Из сжатой Zip-папки можно открывать файлы и даже запускать некоторые приложения
  • Zip-папку можно передать на другой компьютер, где ее можно распаковать любой другой программой сжатия.
  • Для сжатия файла нужно просто переместить его в сжатую Zip-папку. Когда файл перемещается их такой Zip-папки в обычную, он автоматически распаковывается.

Как сжать папку в Windows

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

Затем нажать на кнопку Advanced (Другие) и отметить опцию Compress contents to save disk space (Сжимать содержимое для экономии места для диске) и нажать дважды OK.

Система может спросить: хотите ли вы применить изменения только на папку или также и на все подкаталоги (обычно выбирается 2 пункт, Apply changes to this folder, subfolders and files)

В результате имя сжатого каталога и его содержимое будет отображаться в проводнике синим цветом, что означает – к объекту применено NTFS сжатие.

Сравним степень сжатия встроенными средствами Windows

Сравним уровень сжатия различными инструментами, для чего из одной и той же папки (в моем случаем папка содержит документы Excel и Word)сначала создадим zip-архив (правой кнопкой мыши по каталогу Send to->Compressed(zipped) folder), затем на том же каталоге включим NTFS компрессию.

Оригинальный размер папки – 145 Мб

Размер zip-папки 27,4 Мб

Размер папки со включенным NTFS сжатием – 51 Мб (значение поля Size on disk в свойствах сжатой папки)

Т.е. в моем случае сжатие в папку ZIP наиболее эффективно и уменьшило размер каталога, занимаемый им на диске на 81% (в то время, как NTFS сжатие всего на 65%).

Однако со сжатием нужно быть осторожным, оно может привести к ошибке, описанной в статье BOOTMGR is compressed в Windows 7. Кроме того, если включить сжатие на каталоге с большим (очень большим) количеством файлов, то проверка такого диска (chkdsk) может занять ОЧЕНЬ большой период времени, а если проверка диска осуществляется при загрузке, то держитесь, рабочий стол появится не скоро..

CopyMik — SUPERBASIS ©

Пример 1:
copymik.exe c:\Documents d:\DocArchiv /MIR
Что делает:
Создать зеркальную копию папки Documents в папке DocArchiv.


Пример 2:
copymik.exe c:\Documents d:\DocArchiv /MD buch* progr* important* /MF *.txt *.cpp *.jpg *.bmp /XCD .svn tmp* /XCF *.tmp *.db /OF
Что делает:
Копирует все файлы с масками *.txt *.cpp *.jpg *.bmp из папок с масками buch* progr* important*
при этом не копирует папки с масками .svn tmp*.
и не копирует файлы с масками *.tmp *.db и перезаписывает существующие файлы


Пример 3:
copymik.exe c:\Documents d:\DocArchiv /MD buch* progr* important* /MF *.txt *.cpp *.jpg *.bmp /XDMD important* /XDMF important* /OF
Что делает:
Копирует все файлы с масками *.txt *.cpp *.jpg *.bmp из папок с масками buch* progr* important*
папки с масками important* копируются полностью
если файлы существуют они перезаписываются


Пример 4:
copymik.exe c:\Documents d:\DocArchiv
Что делает:
Просто скопирует файлы из папки Documents в папку DocArchiv воссоздав исходную структуру папок. Если в целевой папке уже существуют то они будут пропущены (перезаписи не произойдёт).


Пример 5:
copymik D:\Documents\ c:\EncryptByckup /MF *.txt *.doc *.rtf *.bin /CR /CRADD /CREX *.bin /CRPASS tralala /OF
Что делает:
Копирует файлы с масками *.txt *.doc *.rtf *.bin из папки Documents в папку EncryptByckup воссоздав исходную структуру папок. Файлы с маской *.txt *.doc *.rtf при копировании шифруются и к их названию добавляется текст «.cmcrypt». Файлы с маской *.bin не шифруются и не переименовываются. Если файлы в папке назначения уже есть то они перезаписываются. Пароль для шифрования «tralala», алгоритм по умолчанию DES.


Пример 6:
copymik D:\Documents c:\EncryptByckup /MIR /CR /CRADD /CRPASS tralala
Что делает:
Создать зеркальную копию папки Documents в папке EncryptByckup. Все файла зашифровать и добавить к их имени текст «.cmcrypt». Пароль для шифрования «tralala», алгоритм по умолчанию DES. Если в целевой папке файл присутствует а в исходной нет то он удаляется.


Пример 7:
copymik D:\EncryptByckup c:\Documents /MIR /DECR /DECRDEL /DECRPASS tralala
Что делает:
Создать зеркальную копию папки EncryptByckup в папке Documents. Все файлы дешифровать и убрать из их имени текст «.cmcrypt». Пароль для дешифрования «tralala», алгоритм по умолчанию DES. Если в целевой папке файл присутствует а в исходной нет то он удаляется.


Пример 8:
copymik D:\EncryptByckup c:\Documents /B мойпароль
Что делает:
Создать резервную копию папки EncryptByckup в папке Documents. Все файлы сжать и шифровать и добавить к их имени текст «.cmcomp.cmcrypt». Пароль для шифрования «мойпароль».


Пример 9:
copymik D:\EncryptByckup c:\Documents /B мойпароль /DT 1
Что делает:
В отличии от примера 8 сжимать и шифровать только файлы с датой изменения вчера и сегодня (минус 1 день). Пароль для шифрования «мойпароль».


Пример 10:
copymik c:\Documents D:\EncryptByckup /R мойпароль
Что делает:
Восстанавливает (дешифрует, разжимает и копирует) файлы из папки Documents в папку EncryptByckup. Пароль для дешифрования «мойпароль».


Пример 11:
copymik c:\Documents d:\Documents /NOF /NOD
Что делает:
Копирует файлы из папки c:\Documents в папку d:\Documents. При копировании транслитерировать имена файлов и папок.


Пример 12:
copymik c:\Documents d:\Documents /STRD папка{SP}22=papka{SP}55 /STRF {FEXT}=.abr
Что делает:
Копирует файлы из папки c:\Documents в папку d:\Documents. При копировании заменяет в именах папок текст «папка 22» на «papka 55» а в именах файлов расширение на «.abr».


Пример 13:
copymik c:\Documents d:\Documents /MF *.doc /OF /CO /CR /CRPASS пароль /EXEC sendmail.bat /EXECPARAM {QUOTE}{DST}{QUOTE}
Что делает:
Сжимает, шифрует и копирует файлы с расширением doc (если файл существует то перезаписывает) из папки c:\Documents в папку d:\Documents. При успешном копировании запускает sendmail.bat передав ему в качестве параметра путь и имя файла назначения заключив их в двойные кавычки.


Пример 14:
copymik c:\Documents d:\Archiv /MF *.doc /OF /LOG c:\Logs\BackupDoc\DocCopyLog_{DATETIME}.csv /LCSV {TAB} /ND /ENDERREXEC SendLogPerEmailToAdmin.bat /ENDERREXECPARAM {LOG} /ENDEXEC CopyToArchiv.bat /ENDEXECPARAM {LOG}
Что делает:
Копирует файлы с расширением doc (если файл существует то перезаписывает) из папки c:\Documents в папку d:\Archiv. Процесс документируется в лог файл в формате CSV с разделителями — табуляцией. Имя лог файла — DocCopyLog_ДатаВремяНачалаКопирования.csv. Вывод информации на экран отключен. Если в процессе копирования произошла хоть одна ошибка запускается bat файл SendLogPerEmailToAdmin.bat которому в качестве параметра передаётся лог файл (напр для отправки лога алминистратору по электронной почте). Если ошибок не произошло лог передается в bat файл CopyToArchiv.bat (например для перемещения в архив)


Пример 15:
copymik c:\Documents d:\Archiv /DELF *.tmp /DELFD *LOG*
Что делает:
Копирует все файлы из папки c:\Documents в папку d:\Archiv. А файлы с маской *.tmp в папках с маской *LOG* перемещает.


Пример 16:
copymik c:\Documents d:\Archiv /MF *.doc /OF /SDTSF
Что делает:
Копирует все doc файлы из папки c:\Documents в папку d:\Archiv. Перезаписываются только отличающиеся по размеру или дате файлы.


Пример 17:
copymik.exe c:\source d:\dist /PRIORITY LOW-
Что делает:
Копирует файлы с минимальным приоритетом выполнения copymik (фоново, без загрузки ресурсов системы)


Пример 18:
Автоматическая отправка лога ошибок (или любого другого изменённого файла) администратору на E-Mail
Реализация:
1.
-q -server 192.168.1.22

3. Далее создаёте периодически выполняющийся крон, запускающий CheckErrorLog.cmd на выполнение. Как только файл лога ошибок появится в папке программы он будет отправлен на указанный Вами E-Mail. Для отправки E-Mail автор использует свободно распостраняемую программу blat


Пример 19:
copymik.exe C:\backup\20160302103207\ C:\Documents\ /R mypassword /MF contract154.doc.cmcomp.cmcrypt /XCD
Что делает:
Восстановить из резервной копии один файл — contract154.doc. Не восстанавливая дерево папок.


Пример 20:
Использование кода возврата программы copymik в пакетном файле:
REM **********************
REM Backup file backup.bat
REM **********************
cls
@echo off
set /P pass=»Password: «
if %pass% EQU «» exit /b 1

rem Backup C:\Documents\ in C:\Backup\{DATETIME}\ all files modified today
copymik C:\Documents\ C:\Backup\{DATETIME}\ /LOG c:\backup_{DATETIME}.log /SETEXITCODE /B %pass% /DT

if %ERRORLEVEL% EQU 0 goto :NOTCOPIED
if %ERRORLEVEL% GTR 0 goto :COPIED
if %ERRORLEVEL% LSS 0 goto :ERRCOPY

goto :EOF

:COPIED
REM %ERRORLEVEL% files copied
move c:\backup_*.log c:\Archiv\
goto :EOF

:ERRCOPY
REM %ERRORLEVEL% errors by copy
move c:\backup_*.log c:\Error\
goto :EOF

:NOTCOPIED
REM %ERRORLEVEL% = 0, files not copied
move c:\backup_*.log c:\Temp\
goto :EOF
REM **********************
REM End file backup.bat
REM **********************


Пример 21:
copymik c:\Documents c:\backup /REPF 2 3 _{DATETIME}_
Что делает:
Копирует файлы и папки из c:\Documents в c:\backup заменяя в названиях файлов со 2го по 3й символ включительно текущей датой обрамлённой символами подчеркивания.


Пример 22: Создание теневой копии тома C: и запуск пакетного файла с передачей в него ссылки на теневую копию для копирования

VsToolkit.exe -exec=test.bat c:

В bat файле:
copymik.exe %1\SourceFolder d:\DistFolder /CMF ….

Подробнее:
Начиная с версии 2.14 Copymik совместим с теневыми копиями томов (теневое копирование VSS).
Теневое копирование (VSS) — технология Microsoft (c) встроенная в Windows (c) начиная c Vista (c) позволяющая копировать, открытые в момент копирования на редактирования, файлы. Сервисы VSS делают поблочный снимок тома файловой системы (только изменяемых в данный момент блоков) и предоставляет доступ к теневому снимку тома по специальной ссылке.
Далее эту ссылку можно использовать как обычный path к нужному Вам тому файловой системы. Копирование из него не приведёт теперь к ошибке совместного доступа. Обращаю внимание что технология работает только на уровне тома файловой системы. Вы не можете создать снимок какой то определённой папки, только всего тома. Поэтому воспринимайте ссылку на теневую копию как имя тома ( например для диска C: ссылка может выглядеть как \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1 ). Получить список активных снимков томов можно командой vssadmin List Shadows. Соответственно копирование из теневой папки c:\Documents будет выглядеть как copymik.exe \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Documents D:\Backup
В большинстве случаев copymik сама определит что копирование осуществляется из теневой копии тома и включит режим совместимого копирования. Если этого не произойдёт автоматически есть ключ /CMF включающий этот режим. Инициировать создание теневой копии можно как средствами самой Windows (c) так и специальными утилитами запускающими этот процесс в системе. Я использую для этих целей бесплатную утилиту VsToolkit.exe (вложена в архив с copymik). Её удобство не только в том что она инициирует процесс создания теневой копии тома но и в том что она может передать ссылку на новую теневую копию в другую программу (напр. в bat файл), передача всегда происходит первым параметрном. Например следующая команда инициирует создание теневой копии тома C: и передаёт ссылку на неё в bat файл запуская его на выполнение VsToolkit.exe -exec=test.bat c:
В сам bat файл достаточно вставить комманду вида copymik.exe %1\ИсходнаяПапка\ d:\ЦелеваяПапка /CMF …. (ключ /CMF скорее всего не понадобится). Примите во внимание что максимальное количество теневых копий тома в системе 64 (манипулируя реестром это число можно изменить). Если это число достигло своего максимального значения или место под теневые копии закончилось процесс зациклится и первая теневая копия будет перезаписана.
В настройках операционной системы можно задать объем диска под теневые копии. С целью увеличения производительности создания теневых копий и копирования из них желательно размещать их на другом физическом диске. Время создания теневой копии зависит от производительности и нагруженности файловой системы и количества открытых на изменение файлов, (у меня для тома размером 1 террабайт процесс занимает в среднем 30-40 секунд, у Вас это время может отличаться).


Пример 23:
copymik c:\Documents c:\backup /B /CAD -P /CAF -S /BREPL /EXMREPL *.bak.cmcomp.cmcrypt *.tmp.cmcomp.cmcrypt
Что делает:
Архивирует файлы и папки из c:\Documents в c:\backup. Из архивирования исключаются папки с артибутом — точка входа и файлы с атрибутом системный. Если в целевой папке файлы с таким названием уже есть то перед заменой они копируются в папку c:\Documents_BDEL\{DATETIME}. Файлы с расширением .bak.cmcomp.cmcrypt и .tmp.cmcomp.cmcrypt перезаписываются без предварительного копирования в папку c:\Documents_BDEL\{DATETIME}


Пример 24:
copymik c:\Documents d:\Backup /STRF {FNAME}={FBEGIN3}~{FMIDDLE4-5}~{END2}{MIN9} {FEXT}={EBEGIN1}~{EMIDDLE3-3}~{EEND1}{EMIN4}
Что делает:
для всех файлов с длиной больше 8 символов (без расширения) формирует новое имя файла состоящее из первых 3х символов плюс символ ~ плюс символы со 4го по 5й плюс символ ~ плюс 2а последних символа. Если расширение файла (включая точку) длиннее 3х символов формирует новое расширение файла состоящее из первого 1го символа плюс символ ~ плюс 3й символ плюс символ ~ плюс 1н последний символ.C:\\(USERS)\\(\w|[-.])+$}» /MF *.txt *.doc *.xls
Что делает:
Скопирует/перезапишет в f:\Backup\UsersProfiles файлы txt, doc и xls (ключ /MF …) из папок Desktop и Documents находяшихся в профилях пользователей C:\Users\….\…. Дерево папок до файлов также будет создано. Файлы находящиеся в исходной корневой папке C:\Users исключаются из копирования (ключ /XCF …).

Сжатие файлов в Windows 10

Как и предыдущие версии операционной системы, Windows 10 поддерживает NTFS-сжатие файлов для экономии пространства на диске. В отличии от ZIP-архивации, NTFS-сжатие не требует от пользователя вкладывать необходимые файлы в отдельный архив и затем извлекать их для использования. Система сжимает файлы, уменьшает занимаемое пространство, но при этом объекты готовы к использованию в любой момент и не требуют дополнительных действий.

NTFS-сжатие файлов работает за счет встроенных в систему инструментов и не требует от пользователя загрузки или установки дополнительного программного обеспечения. Сжать файлы в Windows 10 можно как за счет средств Проводника, так и за счет Командной строки. Последний метод более сложный ввиду необходимости запоминать команды и дополнительные параметры. Здесь вы найдете оба метода.

Эффективность сжатия файлов прямо пропорциональна размеру объекта. Иными словами, чем больше файл, тем больше места на диске система может сэкономить путем сжатия. При этом время сжатия так же само будет прямо пропорционально размеру сжимаемого файла. Этот простой, но вполне эффективный метод сжатия будет полезен тем, у кого место на компьютере сильно ограничено, но при этом надо постоянно хранить локально большие файлы. Если вы относитесь к таковым пользователям, тогда вам также будет полезно почитать инструкцию «Как установить Windows 10 в сжатом виде». Она поможет вам выкроить несколько лишних гигабайт свободного дискового пространства. Кроме того, посмотрите инструкцию по сжатию системных файлов Windows 10 для освобождения места на системном диске уже после установки операционной системы.

Обратите внимание, что сжатые файлы и папки в Windows 10 отображаются с дополнительной иконкой с двумя стрелочками. Это поможет вам ориентироваться в том, какие файлы сжатые, а какие нет.

Как сжать файлы в Проводнике Windows 10

  1. Откройте проводник (можно сделать с помощью клавиш Win + E из любой точки системы) и найдите файл или папку, которую вам надо сжать.
  2. Нажмите правую кнопку мыши по объекту или папке и выберите Свойства.
  3. На открывшемся окне свойств на вкладке Общие нажмите кнопку Другие.
  4. Откроется окно Дополнительные атрибуты выбранных файлов. В нижней части этого окошка установите отметку возле Сжимать содержимое для экономии места на диске. Нажмите Ок.
  5. Если вы сжимаете папку, тогда Проводник спросит вас о том, стоит ли сжимать только папку или все вложенные папки и файлы. Выбирайте тот пункт, который вам нужен, затем нажмите Ок.
  6. При выборе сжатия всех вложенных файлов и папок система начнет применять новые атрибуты, что может занять некоторое время, зависимо от объемов и количества файлов внутри папки. Дождитесь завершения процесса.

После завершения применения изменений вы сможете оценить эффективность сжатия. На скриншоте видно, что до сжатия папка занимала 1.08 Гб на диске, а после сжатия объем уменьшился до 0.99 Гб на диске. В данном случае экономия составила примерно 8%, что вполне неплохо.

Как разжать файлы в Windows 10

Делается все точно так же, как и сжатие файлов.

  1. Откройте проводник, выберите файл или папку, которую надо восстановить к обычному размеру без сжатия.
  2. Нажмите правую кнопку мыши и выберите Свойства.
  3. В открывшемся окне на вкладке Общие нажмите кнопку Другие.
  4. В окне Дополнительные атрибуты снимите отметку Сжимать содержимое для экономии места на диске. Нажмите Ок.
  5. Подтвердите применение атрибутов ко всем вложенным файлам и папкам, а затем дождитесь завершения процесса.

Сжатие файлов через Командную строку в Windows 10

Нажмите Win + R и введите cmd. В открывшемся окне командной строки вам надо ввести команду compact /# “полный путь к файлу или папке”. В зависимости от необходимого результата, вам надо будет воспользоваться следующими командами:

  • Compact /cполный путь к файлу или папке” – сжатие одного файла или папки. Если сжимаете папку, тогда сжатие не затронет вложенные в нее папки.
  • Compact /uполный путь к файлу или папке” – восстановление одного файла или папки.
  • Compact /c /sполный путь к папке” – сжатие папки со всеми вложенными в нее файлами или папками.
  • Compact /u /sполный путь к файлу или папке” – восстановление обычного размера папки со всеми вложенными в нее папками или файлами.

Дополнительные команды для утилиты compact.exe включают в себя:

  • /C — Сжимает указанные пользователем файлы или папки. Каталоги будут обозначаться таким образом, чтобы все новые файлы тоже сжимались. Исключаться будут объекты с параметром /EXE.
  • /U — Распаковывает указанные файлы. Каталоги маркируются так, чтобы добавляемые позже файлы не были сжаты. Если указан параметр /EXE, будут распакованы только файлы, сжатые как           исполняемые файлы; если этот параметр пропущен, будут распакованы только файлы, сжатые в системе NTFS.
  • /S — Выполняет указанную операцию над файлами в выбранном каталоге и всех его подкаталогах. По умолчанию используется текущий каталог.
  • /A — Отображает файлы с атрибутами «скрытый» и «системный». По умолчанию эти файлы пропускаются.
  • /I — Продолжает выполнять указанную операцию даже после возникновения ошибок. По умолчанию выполнение программы COMPACT прерывается при возникновении ошибки.
  • /F — Принудительно сжимает все указанные файлы, даже если некоторые из них уже сжаты. По умолчанию сжатые файлы пропускаются.
  • /Q — Выводит лишь наиболее существенные сведения.
  • /EXE — Использование сжатия, оптимизированного для исполняемых файлов, которые часто          считываются и не изменяются. Поддерживаемые алгоритмы: XPRESS4K (наиболее быстрый, по умолчанию), XPRESS8K, XPRESS16K и LZX (наиболее высокая степень сжатия).

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

Параметры сжатия файла. Влияние ntfs-сжатия на скорость чтения файлов

Больше ёмкости с помощью NTFS-сжатия

Как энтузиасты, мы часто сталкиваемся с различными препятствиями на пути поддержания баланса между производительностью и затратами. Новые процессоры, видеокарты, наборы памяти, источники питания и производительность накопителя потенциально являются узким местом в этом балансе. К счастью ёмкость — не такая большая проблема. Даже жёсткие диски 2.5″ предлагают более 750 Гбайт, что для большинства пользователей более чем достаточно. Несмотря на попытки Microsoft увеличить размер установки Windows, у вас всё равно остаётся масса свободного места для музыки, фильмов, игр и фотографий. Конечно, если говорить о разрушении барьеров, то всегда можно использовать приводы 3.5″, ёмкость которых сегодня может достигать нескольких терабайт.

До недавнего наводнения в Таиланде, которое сильно повлияло на поставки жёстких дисков, можно было приобрести их объёмом 2 Тбайт по цене около $80 (в зависимости от модели и производителя). Обычным пользователям такой объём может показаться излишним, хотя те, у кого есть большая коллекция фильмов, заполнят его довольно быстро. Как бы то ни было, вопрос нехватки места у пользователей с большими накопителями возникает редко.

Однако, для любителей твердотельной технологии ситуация несколько иная. Такие накопители гораздо проще заполнить данными. По сравнению с механическими приводами, они предлагают намного меньше объёма, делая ценным каждый гигабайт. По сути, каждый гигабайт твердотельного накопителя буквально стоит дороже, поскольку за него придётся заплатить больше чем $1, а стоимость гигабайта обычного накопителя измеряется в центах.

Маленькие SSD объёмом меньше 60 Гбайт заполняются практически сразу после установки Windows, набора Office и важных программ. Проблема малой ёмкости осложняется тем, что алгоритм «выравнивания» износа работает не так эффективно, когда привод полностью заполнен. Вот почему мы часто рекомендуем использовать SSD для чувствительной к производительности информации и жёсткие диски для остальных данных.

Сегодня наше внимание будет обращено на плюсы и минусы решения, которое Microsoft предлагает в своей ОС: функция сжатия файловой системы NTFS. Для работы её нужно только включить, что довольно удобно. Но что ещё стоит знать об этой функции?

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

Системе NTFS 19 лет

Вместо ранее используемой системы FAT (FileAllocationTable), разработчик представил файловую систему NT, которая имело несколько заметных преимуществ. Например, компания Microsoft подняла предел количества символов в имени файла 8+3, оставшийся со времен DOS. В отличие от FAT, который позволял вводить только латинские символы для названий файлов, NTFS позволял вводить до 256 знаков набора Unicode. Это также поддерживалось системой FAT32, которая сменила FAT и была представлена в Windows 95b в 1997 году. Однако, обновлению тоже было тяжело конкурировать с NTFS.

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

Сжатие NTFS

NTFS использует алгоритм LZNT1 (версия LZ77) для сжатия данных без потерь и кластеры по 4096 байт для хранения данных. Система сжимает выходные данные блоками по 16 кластеров с шагом 64 кбайт. Если система не может сжать выходные данные из 16 кластеров в меньший размер, NTFS оставляет их неизменными. Если алгоритм LZNT1 может сжать блок данных 64 кбайт в 60 кбайт или меньше, освобождая при этом хотя бы один кластер, этот освобождённый кластер рассматривается как «разреженный» файл. NTFS игнорирует те части файла, которые не содержат информации или имеют объём 0 байт. Следовательно сжатый файл может состоять из сжатых и несжатых кластеров, а также из «разреженных» кластеров.

В схему сжатия включаются любые файлы, но как и любые другие типы сжатия файлов, алгоритм LZNT1 не эффективен при сжатие файлов, которые уже сжаты, типа JPG, AVI и ZIP. Сжатие производится на уровне файловой системы, поэтому оно не видно на уровне приложений. Чем дольше работает Windows и его приложения, тем меньше разница между сжатыми и не сжатыми файлами.

Преимущества: очевидно, что наибольшее преимущество NTFS-сжатия – это экономия свободного места. Владельцы небольших SSD будут особенно рады каждому дополнительному мегабайту. Увеличение сжатия и уменьшение размера фала должно увеличить скорость чтения и записи (по крайней мере в теории, так как меньше данных записывается и читается).

Недостатки: согласно Microsoft, NTFS-сжатие сильно нагружает CPU, и не рекомендуется для использования в серверах, содержащих большие тома для чтения и записи. Есть запреты даже для домашнего использования. Сжатие стоит использовать для папок с относительно редкой записью и чтением. Что ещё более важно, не сжимайте системную папку Windows. Также, в теории, операции копирования должны происходить медленнее, потому как файловая система сначала распаковывает нужный файл, копирует или перемещает его и затем снова сжимает. Если послать такие файлы по сети, они тоже сначала распакуются и как следствие не сэкономят трафик.

Стоит отметить ещё один фактор: NTFS-сжатие сегментами по 64 кбайт сильно фрагментирует данные, особенно легко сжимаемые файлы, так как они будут связаны с «разреженными» кластерами. Это легко показать на примере: по данным Microsoft, в среднем, NTFS-сжатие блоками данных по 64 кбайт генерирует один «разреженный» кластер. Деление файловой системы объёмом 20 Гбайт на сегменты по 64 кбайт генерирует 327 680 «разреженных» кластеров. Это особенно актуально для жёстких дисков, твердотельные накопители страдают меньше, потому что их время доступа настолько низкое, что фрагментация не является для них большой проблемой.

Конфигурация и тесты

Как сильно NTFS-сжатие влияет на производительность системы, оснащённой SSD? Мы уже знаем, что технология SandForce использует сжатие, чтобы получить высокие результаты, поэтому мы хотим опробовать привод, который не опирается на сжатие. Мы взяли один из новых приводов Samsung 830 серии и сравнили его производительность при включенном и выключенном сжатии.


Тестовая конфигурация
CPU Intel Core i5-2500K (32-нм, Sandy Bridge, D2), 4C/4T, 3.3 ГГц, кэш L2 4 x 256 кбайт, 6 Мбайт общего кэша L3, w/ HD Graphics 3000, 95 Вт TDP, 3.7 ГГц max. Turbo Boost
Материнская плата (LGA 1155) Gigabyte Z68X-UD7-B3, ревизия: 1.0, чипсет Intel Z68, BIOS: F9C
Память 2 x 4 Гбайт DDR3-1333, Kingston KHX1600C9D3K2/8GX
Системный SSD Samsung SSD 830, 256 Гбайт, SATA 6 Гбит/с
Контроллер Intel PCH Z68 SATA 6 Гбит/с
Блок питания Seasonic X-760 760 Вт, SS-760KM
Тесты
Измерение производительности SYSmark 2012
PCMark 7 1.0.4
ПО и драйверы
Операционная система Windows 7 x64 Ultimate SP1
Intel Rapid Storage 10.6.0.1002
Intel Inf 9.2.0.1030
AMD Catalyst 11.8

NTFS-сжатие на практике

NTFS-сжатие включается всего несколькими кликами. В Windows Explorer откройте контекстное меню для любого привода или папки, выберите свойства и в следующем окне выберите опцию «сжать этот диск для экономии места» («Compress this drive to save disk space») или «сжимать содержимое для экономии места на диске» («Compress contents to save disk space»). Всё можно вернуть просто отменив опцию.

После выбора тома или папки, процесс сжатия начнётся автоматически в фоновом режиме. Windows доложит об ошибке, когда файл нельзя сжать. Затем вам надо будет выбрать: попытаться снова сжать файл (что снова приведёт к той же ошибке), отменить либо проигнорировать сообщение. Из-за большого количества ошибок при сжатии раздела, мы решили выбрать четвёртый вариант: игнорировать все последующие ошибки. Частота таких сообщений зависит от выбранной папки. Для папки Windows и её подпапок они возникают очень часто, показывая, что системные файлы не подвергаются NTFS-сжатию.

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

Несжатые приложения, установленные на наш тестовый SSD занимали 70.9 Гбайт дискового пространства. Вместо того, чтобы выбрать отдельные папки, мы сжали сразу целый раздел, таким образом, занимаемое пространство сократилось до 58.4 Гбайт (минус 17.8%), освободив 12.5 Гбайт всего за пару кликов мышкой.

Если сравнивать плотность NTFS-сжатия с другими инструментами, то она оказывается довольно низкой, что, в свою очередь, положительно влияет на нагрузку процессора. Такие инструменты, как 7-Zip ведут себя более агрессивно, чтобы достичь высокого коэффициента сжатия. Для примера, в таблице ниже показана степень сжатия трёх папок с помощью 7-Zip.

Инструмент сжатия Папка Первоначальный размер Размер после сжатия Разница в процентах
7-Zip Program Files (x86) 17.4 Гбайт 10.2 Гбайт 40.30%
7-Zip Program Files 8.5 Гбайт 3.1 Гбайт 63.50%
7-Zip Windows 15.1 Гбайт 3.2 Гбайт 78.80%
NTFS-сжатие Весь привод 70.9 Гбайт 58.4 Гбайт 17.60%

Результаты тестов

Последовательная чтение/запись (CrystalDiskMark)

С включенным NTFS-сжатием производительность привода Samsung в последовательном чтении данных немного ухудшается. Однако, потеря в записи очевидна. В результате фрагментация во время сжатия из-за «разреженных» кластеров не сильно повлияла на производительность, хотя разница заметна.


Случайное чтение/запись по 4 кбайт (CrystalDiskMark)

Переключение на NTFS-сжатие никак не влияет на данный процесс.




Случайное чтение/запись по 512 кбайт (CrystalDiskMark)

NTFS-сжатие обеспечивает существенное увеличение производительности при случайной записи блоков по 512 кбайт. Однако, в операциях чтения улучшение едва заметно.


Запуск приложений, старт и выключение Windows

В среднем, NTFS-сжатие добавляет одну секунду к времени запуска программ.


PCMark 7

PCMark 7 подтверждает, что включение NTFS-сжатия ведёт к увеличению скорости работы в играх и при загрузке приложений, но почти во всех остальных дисциплинах лидерство либо мало, по сравнению с не сжатым системным приводом, либо результаты ниже. Следовательно, общий результат не даёт полной картины.














SYSmark 2012

Тестовый набор приложений BAPCo SYSmark 2012 также показывает нейтральный эффект NTFS-сжатия, хотя результаты указывают немного в пользу конфигурации без сжатия.







Стоит ли сжимать данные на вашем SSD?

Активация NTFS-сжатия даёт результат на высокопроизводительных компьютерах с быстрым многоядерным процессором, потому что так можно выжать больше пространства на SSD без значительной потери производительности. Сравнение с мощными инструментами, типа 7-Zip показало, что NTFS-сжатие ведёт себя менее агрессивно и исключает важные системные файлы Windows. Таким образом, оно не спроектировано для того, чтобы максимально сжать любую доступную информацию.

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

У инструментов восстановления не должно возникнуть проблем со сжатием, поскольку функция имеется в NTFS уже более десяти лет и следовательно хорошо известна разработчикам программ. Мы не можем дать вам всеобъемлющую информацию, но мы без проблем запустили бэкап сжатых разделов с помощью Acronis TrueImage Home 2011.

Несмотря на умеренные темпы, NTFS-сжатие действительно высвобождает немного свободного пространства, так необходимого на SSD. На нашей тестовой системе оно подарило нам целых 12.5 Гбайт. А это немало, особенно для небольших SSD. Если говорить только об SSD на 60 и 100 Гбайт, 10 Гбайт – это много. Владельцы объёмных SSD тоже следует задуматься об NTFS-сжатии. Тем более, если у вас достаточно быстрый процессор, нет причин не включить её.

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

Стоит отметить ещё кое-что. Информация, сжимаемая на лету, требует больше циклов записи на SSD, чем не сжатая. Это может негативно повлиять на долговечность привода. Мы не говорим о больших SSD, напротив, модели с меньшим объёмом памяти имеют более низкий уровень долговечности. Таким образом, NTFS-сжатие может значительно повлиять на их срок службы.

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

  • NTFS сжатие на уровне файловой системы
  • Сжатые ZIP-папки (Compressed Folders)

Сжатие NTFS – это архивирование на уровне файловой системы NTFS, выполняется оно прозрачно драйвером файловой системы. NTFS сжатие может применяться к файлам, папкам и дискам целиком. Для этого каждому сжатому объекту присваивается специальный атрибут сжатия (compression state), который указывает сжат файл или нет. У этого типа сжатия есть свои особенности:

  • Сжатие NTFS возможно только на разделах с файловой системы NTFS
  • При доступе к сжатому файлу или папке осуществляется прозрачная декомпрессия, т.е. пользователь не видит различий между сжатыми и обычными файлами в Windows, и спокойно может копировать, добавлять или удалять файлы в сжатой папке.
  • Для отображения объектов, сжатых на NTFS, применяется специальная цветовая схема (по умолчанию, в проводнике имена сжатые файлов отображаются синим цветом)
  • Скорость доступа к сжатому файлу ниже, т.к. систем требуется некоторое время на его распаковку (для современных систем такая операция сложностей не создает, так что задержка практически не видна невооруженным взглядом).
  • Сжатие более слабое, чем при использовании ZIP-папок или других архиваторов, но скорость его выполнения гораздо выше

Сжатые ZIP-папки подразумевают архивацию файлов встроенной в систему функцией создания zip архивов. Сжатые папки очень похожи на обычные, иногда даже можно забыть, что на самом деле работаешь с ZIP-архивом. Особенности ZIP-папок в Windows:

  • Сжатые ZIP-папки можно создавать как на томах NTFS, так и на томах FAT.
  • Из сжатой Zip-папки можно открывать файлы и даже запускать некоторые приложения
  • Zip-папку можно передать на другой компьютер, где ее можно распаковать любой другой программой сжатия.
  • Для сжатия файла нужно просто переместить его в сжатую Zip-папку. Когда файл перемещается их такой Zip-папки в обычную, он автоматически распаковывается.

Как сжать папку в Windows

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

Затем нажать на кнопку Advanced (Другие) и отметить опцию Compress contents to save disk space (Сжимать содержимое для экономии места для диске ) и нажать дважды OK.

Система может спросить: хотите ли вы применить изменения только на папку или также и на все подкаталоги (обычно выбирается 2 пункт, Apply changes to this folder, subfolders and files )

В результате имя сжатого каталога и его содержимое будет отображаться в проводнике синим цветом, что означает – к объекту применено NTFS сжатие.

Сравним степень сжатия встроенными средствами Windows

Сравним уровень сжатия различными инструментами, для чего из одной и той же папки (в моем случаем папка содержит документы Excel и Word)сначала создадим zip-архив (правой кнопкой мыши по каталогу Send to->Compressed(zipped) folder), затем на том же каталоге включим NTFS компрессию.

Оригинальный размер папки – 145 М б

Размер zip-папки 27,4 Мб

Размер папки со включенным NTFS сжатием – 51 Мб (значение поля Size on disk в свойствах сжатой папки)

Т.е. в моем случае сжатие в папку ZIP наиболее эффективно и уменьшило размер каталога, занимаемый им на диске на 81% (в то время, как NTFS сжатие всего на 65% ).

Однако со сжатием нужно быть осторожным, оно может привести к ошибке, описанной в статье . Кроме того, если включить сжатие на каталоге с большим (очень большим) количеством файлов, то проверка такого диска (chkdsk) может занять ОЧЕНЬ большой период времени, а если , то держитесь, рабочий стол появится не скоро..

Перед тем как начинать процесс сжатия файла или папки, очень важно понять все получаемые от этого выгоды, и разобрать сами доступные в Windows 7 методы сжатия:

  • NTFS сжатие файла
  • Сжатие (zip) папки.

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

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


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

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

  • Сжатие — атрибут для файла или папки.
  • Папки и файлы на томе NTFS, либо сжаты, либо нет.
  • Новые файлы, созданные в сжатой папке сжимаются по умолчанию.
  • Состояние сжатой папки не обязательно отражает состояние сжатия файлов в этой папке. Например, папки могут быть сжаты без сжатия его содержания, и некоторые или все файлы в сжатой папке можно распаковать.
  • Работа с NTFS-сжатыми файлами без их распаковки, так как они распаковываются и снова сжимаются без вмешательства пользователя.
  • Если сжатый файл открыт, система автоматически его распаковывает.
  • При закрытии файла Windows снова его сжимает.
  • Для упрощения распознавания, NTFS сжатые имена файлов и папок отображаются в другом цвете.
  • NTFS-сжатые файлы и папки остаются в сжатом виде, только на NTFS томе.
  • NTFS сжатые файлы не могут быть зашифрованы.
  • Сжатые байты файла недоступны для приложений; они видят только несжатые данные.
  • Приложения, открывающие сжатые файлы могут работать с ними, как с не сжатыми.
  • Сжатые файлы не могут быть скопированы в другой файловой системе.

Примечание: для управления сжатием NTFS можно использовать компактный инструмент командной строки.

Перемещение и копирование сжатых файлов и папок.


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

Копирование внутри раздела раздела NTFS.

Как изменяется состояние сжатого файла или папки, если вы его копируете внутри раздела NTFS? При копировании файла или папки внутри файловой системы NTFS раздел, файл или папка наследует состояние сжатия целевой папки. Например, если скопировать сжатый файл или папку в распакованную папку, файл или папка будут автоматически распакованы.

Перемещение внутри NTFS раздела.

Что происходит с состоянием сжатия файла или папки при перемещении в пределах раздела NTFS?

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

Копирование или перемещение между NTFS разделами.

Что происходит с сжатыми файлом или папкой при копировании или перемещении его между разделами NTFS?

При перемещении файла или папки между разделами NTFS, файл или папка наследует состояние сжатия целевой папки. Поскольку Windows 7 рассматривает движение между разделами как копирование с последующей операцией удаления, файлы наследуют состояние сжатия целевой папки.

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

Копирование или перемещение между FAT и NTFS томами.

Что происходит с сжатием файла, который копируется или перемещается между FAT и NTFS томами?

Сжатые файлы, скопированные в раздел FAT становятся не сжатыми, так как FAT тома не поддерживают сжатие. Однако, если вы копируете или перемещаете файлы из раздела FAT в раздел NTFS, они наследуют атрибут сжатия папки, в которую вы их копируете.

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

Еще одной довольно интересной и перспективной, но почему-то слабо афишированной, возможностью Windows 10, является поддержка алгоритма сжатия данных LZX на уровне файловой системы NTFS . По сравнению с уже знакомым нам , степень сжатия LZX в Windows 10 гораздо выше (уровень сжатия практически на уровне zip). Достигается степень сжатия в среднем 40-60% .

Сжатие файлов с помощью алгоритма LZX в Widnows 10 выполняется только вручную с помощью уже знакомой нам утилиты compact (мы рассматривали ее в статье о ). При обращении к сжатым файлам их распаковка в памяти происходит полностью прозрачно для пользователя.

Недостатки использования LZX сжатия:

  • Сжатие выполняется вручную, и при перезаписи/обновлении/изменении сжатого файла, компрессию нужно выполнять заново. Таким образом, этот вид сжатия нецелесообразен для постоянно изменяемых файлов и временных папок.
  • На распаковку сжатых файлов в памяти расходуются дополнительные ресурсы CPU и памяти. Это, в общем-то, не критично для современных многоядерных процессоров.
  • Сжатые файлы никак не выделяются в проводнике (файлы, сжатые стандартной NTFS компрессией выделяются синим цветом)

Важно . Файлы, сжатые в Windows 10 с помощью алгоритма LZX нельзя открыть в предыдущих версиях Windows.

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

К примеру, при сжатии каталога с установленной игрой Far Cry 4 размер каталога уменьшился с 27 до 17 Гб. Для Counter-Strike: GO экономия места на диске оказалась скромнее: 10 против 7,5 Гб.

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

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

compact /c /a /exe:lzx «C:\Program Files (x86)\mirkes.de\Tiny Hexer\mpth.exe»

Размер, занимаемый на диске данным исполняемым файлов уменьшился с 1,54 Мб до 0,7 Мб.

Сожмем содержимое всех файлов и подкаталогов в определенной директории:

compact /c /s /a /i /exe:lzx «C:\Program Files (x86)\*»


В нашем примере, размер каталога C:\Program Files (x86)\ на диске уменьшился почти в два раза.

Важно! Ни в коем случае не стоит сжимать целиком системный диск или каталог C:\Windows. Система может просто перестать загружаться (кейс со сжатием загрузчика разбирался в статье ).

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

  • C:\Windows\Installer
  • C:\Windows\assembly
  • C:\Windows\Microsoft.NET
  • C:\Windows\Fonts
  • C:\Windows\Inf
  • C:\Windows\infused apps

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

compact /u /a /exe “C:\Program Files (x86)\mirkes.de\Tiny Hexer\mpth.exe»
compact /u /a /s /exe «C:\Program Files (x86)\*»

Несмотря на постоянный рост емкостей носителей, проблемы с исчерпанием свободного места остаются все так же актуальными, особенно часто эта проблема встает перед владельцами SSD дисков, стоимость Гб места на которых пока достаточно высока. Использование LZX сжатия файлов в Windows 10 поможет сэкономить место на диске за счет небольшой потери производительности (практически не заметна на современных системах). Есть еще один нюанс: на медленных дисках за счет использования сжатия можно уменьшить время чтения больших файлов, т.к. распаковка файлов в памяти будет занимать меньше времени, чем чтение большого файла с диска.

Как и предыдущие версии операционной системы, Windows 10 поддерживает NTFS-сжатие файлов для экономии пространства на диске. В отличии от ZIP-архивации, NTFS-сжатие не требует от пользователя вкладывать необходимые файлы в отдельный архив и затем извлекать их для использования. Система сжимает файлы, уменьшает занимаемое пространство, но при этом объекты готовы к использованию в любой момент и не требуют дополнительных действий.

NTFS-сжатие файлов работает за счет встроенных в систему инструментов и не требует от пользователя загрузки или установки дополнительного программного обеспечения. Сжать файлы в Windows 10 можно как за счет средств Проводника, так и за счет Командной строки. Последний метод более сложный ввиду необходимости запоминать команды и дополнительные параметры. Здесь вы найдете оба метода.

Эффективность сжатия файлов прямо пропорциональна размеру объекта. Иными словами, чем больше файл, тем больше места на диске система может сэкономить путем сжатия. При этом время сжатия так же само будет прямо пропорционально размеру сжимаемого файла. Этот простой, но вполне эффективный метод сжатия будет полезен тем, у кого место на компьютере сильно ограничено, но при этом надо постоянно хранить локально большие файлы. Если вы относитесь к таковым пользователям, тогда вам также будет полезно почитать инструкцию « ». Она поможет вам выкроить несколько лишних гигабайт свободного дискового пространства. Кроме того, посмотрите инструкцию по для освобождения места на системном диске уже после установки операционной системы.

Обратите внимание, что сжатые файлы и папки в Windows 10 отображаются с дополнительной иконкой с двумя стрелочками. Это поможет вам ориентироваться в том, какие файлы сжатые, а какие нет.

Как сжать файлы в Проводнике Windows 10


После завершения применения изменений вы сможете оценить эффективность сжатия. На скриншоте видно, что до сжатия папка занимала 1.08 Гб на диске, а после сжатия объем уменьшился до 0.99 Гб на диске. В данном случае экономия составила примерно 8%, что вполне неплохо.

Как разжать файлы в Windows 10

Делается все точно так же, как и сжатие файлов.


Сжатие файлов через Командную строку в Windows 10

Нажмите Win + R и введите cmd . В открывшемся окне командной строки вам надо ввести команду compact /# “полный путь к файлу или папке” . В зависимости от необходимого результата, вам надо будет воспользоваться следующими командами:

  • Compact /c полн ый путь к файлу или папке” – сжатие одного файла или папки. Если сжимаете папку, тогда сжатие не затронет вложенные в нее папки.
  • Compact /u полн ый путь к файлу или папке” – восстановление одного файла или папки.
  • Compact /c /s полн ый путь к папке” – сжатие папки со всеми вложенными в нее файлами или папками.
  • Compact /u /s полн ый путь к файлу или папке” – восстановление обычного размера папки со всеми вложенными в нее папками или файлами.

Дополнительные команды для утилиты compact .exe включают в себя:

  • /C — Сжимает указанные пользователем файлы или папки. Каталоги будут обозначаться таким образом, чтобы все новые файлы тоже сжимались. Исключаться будут объекты с параметром /EXE.
  • /U — Распаковывает указанные файлы. Каталоги маркируются так, чтобы добавляемые позже файлы не были сжаты. Если указан параметр /EXE, будут распакованы только файлы, сжатые как исполняемые файлы; если этот параметр пропущен, будут распакованы только файлы, сжатые в системе NTFS.
  • /S — Выполняет указанную операцию над файлами в выбранном каталоге и всех его подкаталогах. По умолчанию используется текущий каталог.
  • /A — Отображает файлы с атрибутами «скрытый» и «системный». По умолчанию эти файлы пропускаются.
  • /I — Продолжает выполнять указанную операцию даже после возникновения ошибок. По умолчанию выполнение программы COMPACT прерывается при возникновении ошибки.
  • /F — Принудительно сжимает все указанные файлы, даже если некоторые из них уже сжаты. По умолчанию сжатые файлы пропускаются.
  • /Q — Выводит лишь наиболее существенные сведения.
  • /EXE — Использование сжатия, оптимизированного для исполняемых файлов, которые часто считываются и не изменяются. Поддерживаемые алгоритмы: XPRESS4K (наиболее быстрый, по умолчанию), XPRESS8K, XPRESS16K и LZX (наиболее высокая степень сжатия).

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

SSH команды

Cтатья скопирована от сюда: https://seoup.su/seoup/blog/shh-komandy_detail/

Клавиатурные сочетания в PuTTY

  • Ctrl+C — завершить текущую команду
  • Ctrl+D — разлогиниться как exit
  • Ctrl+W — удалить одно слово в текущей строке
  • Ctrl+U — удалить строку
  • Tab — автозаполнение, завершение команды когда других вариантов нет

Команды для пользователей системы

  • su root — сменить текущего пользователя на пользователя root
  • passwd root — сменить пароль для пользователя root
  • whoami — вывести имя текущего пользователя
  • who — показать список пользователей в системе
  • w — показать информацию о работающих в данный момент на сервере и о их процессах, а также среднюю нагрузку сервера за последние 1, 5 и 15 минут (uptime + who).

Команды с файлами и папками

  • ls — список файлов и папок в текущей директории
  • ls -lia — вывод списка даже скрытых файлов и папок по алфавиту с отображением размеров
  • cd ПУТЬ/ — (change directory) сменить директорию на путь/
  • pwd — показать текущую папку
  • cd / && du -hs * — когда жесткий забит до отказа, то посмотреть в какой именно директории много файлов
  • df — (disk free) узнать размер всех смонтированных дисков
  • mkdir ПАПКА — создать папку
  • rmdir ПАПКА — удалить папку из файловой системы
  • rm -rf ПАПКА – удалить папку со всем содержимым без подтверждения
  • mv ПАПКА1 ПАПКА2 — (move) используется для перемещения или переименования файлов или папок
  • cp -r ПАПКА1 ПАПКА2 — скопировать папка1 в папка2
  • du -sh — сколько весит текущая папка
  • du -sh * — показать размер каждого файла в текущей папке
  • vi ФАЙЛ или view ФАЙЛ — вывести файл на экран в редакторе, для выхода ESC и отправить команду :q
  • touch ФАЙЛ — создать файл
  • rm ФАЙЛ — удалить файл
  • cp ФАЙЛ1 ФАЙЛ1 — скопировать файл1 в файл2
  • ln -s ФАЙЛ ССЫЛКА — создать символическую ссылку к файлу
  • fsck -y — автоматическая проверка и исправление ошибок в файловой системе
  • find / -name php.ini — поиск файла с именем php.ini c корня OS
  • find / -name a.txt -printf ‘%TY-%Tm-%Td %TT %p\n’ | sort -r — поиск файлов с именем a.txt c корня OS с выводом датой изменения и сортировкой в обратном порядке
  • find /home/bitrix/www/ -mtime -14 -printf ‘%TY-%Tm-%Td %TT %p\n’ > /home/bitrix/find.txt — поиск всех файлов в папке WWW которые изменялись за последние 14 дней и выводом результата в файл

Команды работы с архивами

  • tar АРХИВ.tar ФАЙЛ — заархивировать файл и присвоить ему имя архив.tar:
  • tar cf АРХИВ.tar ФАЙЛ — создать tar-архив с именем file.tar содержащий files
  • tar xf АРХИВ.tar — распаковать файл.tar
  • tar czf АРХИВ.tar.gz ФАЙЛ — создать архив tar с сжатием Gzip
  • tar xzf АРХИВ.tar.gz — распаковать tar с Gzip
  • tar cjf АРХИВ.tar.bz2 — создать архив tar с сжатием Bzip2
  • tar xjf АРХИВ.tar.bz2 — распаковать tar с Bzip2
  • gzip ФАЙЛ — сжать файл и переименовать в file.gz
  • gzip -d АРХИВ.gz — разжать архив.gz в file
  • zip -r АРХИВ.zip ПАПКА/ — запаковать в архив.zip включая все папки в ПАПКА

Права доступа к папке или файлу

  • chown root:testuser ПАПКА/ — сменить владельца для папки или файла
  • chmod 751 ПАПКА/ — сменить права доступа на директорию (для директорий зачастую используются 751(-rwxr-xr-x) или файлов — 644(-rw-rw-r—)), где сумма чисел
  • 4 — чтение (r)
  • 2 — запись (w)
  • 1 — исполнение (x)

Процессы

  • top — показать все запущенные процессы
  • kill pid — убить процесс с id pid
  • killall proc — убить все процессы с именем proc
  • ps — вывести ваши текущие активные процессы
  • ps -aux — вывести все процессы (от рута)

Системная информация и команды

  • reboot ИЛИ shutdown -r — перегрузить сервер
  • df — показать инф. о использовании дисков
  • free — использование памяти и swap
  • vmstat — свободная память и загрузка процессора
  • uptime — показывает текущее время, время работы после загрузки, количество текущих пользователей и нагрузку за последние 1, 5 и 15 минут
  • date — вывести текущую дату и время
  • cal — вывести календарь на текущий месяц
  • cat /proc/cpuinfo — информация о процессоре CPU
  • cat /proc/meminfo — информация об оперативной памяти DDR
  • cat /etc/*release* — узнать версию дистрибутива Linux

Информация о сети и сетевые настройки

  • ifconfig — показать сетевые интерфейсы и подключения
  • ifconfig -a — Отображение всех интерфейсов, включая отключенные
  • ifconfig eth0 down — выключаем интерфейс eth0
  • ifconfig eth0 up — поднимаем (включаем) интерфейс eth0
  • ping ya.ru — сделать пинг сайта, проверка соединений в сетях TCP/IP
  • traceroute ya.ru — определить маршрут следования данных в сетях TCP/IP
  • dig ya.ru — получить DNS информацию ya.ru
  • wgеt ФАЙЛ — скачать файл по сети
  • wgеt -c ФАЙЛ — продолжить остановленную закачку

Установка пакетов

  • yum update — обновление всей системы
  • yum update foo — обновить только пакет foo
  • yum remove foo — удалить пакет foo из системы
  • yum install foo — установка пакета через интернет
  • yum localinstall foo.rpm — установить пакет локально
  • yum list foo — просмотреть название пакетов и их версии для foo
  • yum search foo — поиск пакета с названием foo
  • yum provides foo — поиск пакетов содержащих файл foo
  • yum clean all — очистить кэш
  • yum makecache — создать кеш заново

Текстовый редактор VIМ

VIM имеет три режима работы:
  • командный — нажатие Esc
  • режим редактирования — нажатие Ctrl+V
  • визуальный режим — нажатие клавиш редактирования

Основные команды VIM редактора

  • vi ФАЙЛ — открыть файл в редакторе VIМ
  • i — перейти в режим редактирования
  • a — перейти в режим редактирования после текущего символа
  • h — Перемещает курсор на один символ влево
  • j — Перемещает курсор вниз на одну строку
  • k — Перемещает курсор вверх на одну строку
  • l — Перемещает курсор на один символ вправо
  • x — Удалить символ
  • u — отмен::q:qlить последнее действие
  • yy — копировать строку
  • dd — вырезать строку
  • p — вставить
  • <CR> — Возврат каретки
  • <ESC> — Перейти из режима ввода в командный режим
  • :w — сохранить файл на диске
  • :q — Завершить работу с редактором
  • :q! — выход без сохранения файла
  • :wq или zz — выход с сохранением файла

Настройка задач в Cron и автоматизация работы

  • crontab -e — настройка автозапуска в редакторе vi
  • vi /etc/crontab — основной файл конфигурации cron

Пример команды
*/5 2 10,12,31 1-3,12 7 cd /home/www/ && php send_reports.php

Команды делаться пробелом, где:
  • */5 – запускать каждые 5 минут (принимает * или любое целое число от 0 до 59)
  • 2 – в 2 часа ночи (* или 0-23)
  • 10,12,31 – только в дни 10, 12, 31 числа (* или 1-31)
  • 1-3,12 – месяцах Январь, Февраль, Март, Декабрь (* или 1-12)
  • 7 – запускать в день недели, когда Воскресенье (0-7)
  • cd /home/www/ && php send_reports.php – сама команда, здесь в папке /home/www/ запускаем файл send_reports.php в программе php

Перечисляемые значения

  • x — конкретное число и значение
  • * — принимать все допустимые значения
  • */x — задать шаг значений
  • x,x — перечисление
  • x-x — интервал значений

Команды для управления Веб-сервером

Команды для Apache
  • service httpd restart ИЛИ apachectl -k restart — рестарт веб-сервера Apache
  • service httpd stop — остановка веб-сервера Apache
  • service httpd start — запуск веб-сервера Apache
  • service nginx restart — рестарт nginx
Команды для MySQL
  • /etc/init.d/mysqld restart или /etc/rc.d/mysql-server restart или /usr/local/etc/rc.d/mysql-server restart — перезапуск MySQL
  • /usr/local/etc/rc.d/mysql-server stop — остановка MySQL
  • /usr/local/etc/rc.d/mysql-server start — запуск MySQL
  • mysql –v — узнать версию MySQL
  • mysql –uЛОГИН –pПАРОЛЬ — вход в MySQL

Некоторые полезные команды по SSH

Главная → Просто о сложном → Для веб-программистов → Некоторые полезные команды по SSH

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

покажет сколько занято всего
df -i

покажет сколько файлов в определенных папках
ls -R /var/www/*/data/mod-tmp | wc -l

удалить файлы

find /var/www/*/data/mod-tmp -name «sess_*» -type f -exec rm {} ;

информация о свободном месте на дисках
df
или (в гигабайтах)
df -h
или (в мегабайтах)
df -m

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

cd / && du -hs *

Можно с сортировкой по размеру (в байтах)cd /var && du -sk * | sort -rn


свободная память и загрузка процессора
vmstat

различные параметры за последние сутки
sar

отобазить список папок и файлов текущего каталога
ls

сменить папку на xx_dir
cd xx_dir

показать текущее местоположение
pwd

перегрузить сервер
reboot

выйти
exit

перезагрузка apache
/etc/init.d/httpd restart
или
apachectl restart

запуск apache
apachectl startssl

остановка apache
apachectl stop

перезапуск mysql
/usr/local/etc/rc.d/mysql-server restart

посмотреть свободную память
free -m

mysqldump -u имя_пользователя_БД -pпароль_пользователя_БД имя_бд > /полный/путь/дамп.sql — создание дампа дамп.sql

mysql -u имя_пользователя_БД -pпароль_пользователя_БД -D имя_бд < /полный/путь/дамп.sql — заливка дампа дамп.sql в базу данных mysql 

cd /путь/ — перейти в каталог /путь/

wget http://www.mysite.ru/какойто_файл.zip — загрузка файла ‘какойто_файл.zip’ напрямую из сети, в текущий каталог VDS, не используя вашу локальную машину.

Как массово сменить права на файлы в разных папках через ssh
chmod -R xxx file
где -r — рекурсивно, т.е. включая все папки и файлы в указанной папке
ххх = набор прав для доступа к файлу/папке (0555, 0777 и пр.)
file = папка или файл. Для смены массово прав по всему домену нужно в данном случае указывать именно самую верхнуюю папку (/published/ или /www/ и т.д.)
Примеры:

проставить права 644 только на файлы:
find /path/to/dir -type f -exec chmod 0644 {} ;
проставить права 755 только на каталоги:
find /path/to/dir -type d -exec chmod 0755 {} ;

Помощь (вызов мануала)

man ИмяКоманды — помощь по работе с командой
Пример: man find — выведет информацию о команде find
Выход из мануала через ssh-клиент — клавиша «Pause/Break»

Команды с файлами

ls — список файлов и каталогов
ls -al — форматированный список со скрытыми каталогами и файлами
ls -lia — вывод списка всех файлов и папок в текущей директории отсортированных по алфавиту с отображением размеров директорий и файлов.
cd dirname — сменить директорию на dirname (cd — change directory)
cd ~ — смена директории на домашний каталог, а также команда без «~» (тильды) делает то же самое в большинстве шелов
pwd — показать текущий каталог
pwd ~ — показать каталог для текущего пользователя
mkdir dir — создать каталог dir
rm file — удалить file
rm -r dir — удалить каталог dir
rm -f file — удалить форсированно file
rm -rf dir — удалить форсированно каталог dir * (без вопросов удалит каталог и все что в нем хранится)
cp file1 file2 — скопировать file1 в file2
cp -r dir1 dir2 — скопировать dir1 в dir2; так же создаст каталог dir2, если его не существует
mv file1 file2 — переименовать или переместить file1 в file2. если file2 существующий каталог — переместить file1 в каталог file2
ln -s file link — создать символическую ссылку link к файлу file
touch file — создать file
cat > file — направить стандартный ввод в file
more file — вывести содержимое file
head file — вывести первые 10 строк file
tail file — вывести последние 10 строк file
tail -f file — вывести содержимое file по мере роста, начинает с последних 10 строк
view file — вывести файл на экран

Процессы

ps — вывести ваши текущие активные процессы
ps -aux — вывести все процессы (от рута)
top — показать все запущенные процессы
kill pid — убить процесс с id pid
killall proc — убить все процессы с именем proc
bg — список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg — выносит на передний план последние задачи
fg n — вынести задачу n на передний план

Права доступа на файлы

chown root /filename — смена владельца файла/директории /filename на root
chown root:group /filename смена владельца файла/директории /filename на root и смена группы на group
chown -hR root /filename смена владельца файла/директории /filename на root и всех находящихся в ней файлов на root
Дополнительные опции: man chown.
chmod user file — сменить права file на user, раздельно для пользователя, группы и для всех добавлением:
? 4 — чтение (r)
? 2 — запись (w)
? 1 — исполнение (x) Примеры:
chmod 777 — чтение, запись, исполнение для всех (потенциальная угроза безопасности)
chmod 755 — rwx для владельца, rx для группы и остальных.
Дополнительные опции: man chmod.

SSH

ssh [email protected] — подключится к host как user
ssh -p port [email protected] — подключится к host на порт port как user
ssh-copy-id [email protected] — добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Поиск

grep pattern files — искать pattern в files
grep -r pattern dir — искать рекурсивно pattern в dir
command | grep pattern — искать pattern в выводе command
locate file — найти все файлы с именем file
find | grep text — найти текст text во всех файлах текущей директории
find / -name vasy* — найти файлы и папки с названием vasy*

grep -rl ‘что_ищем’ /путь — найти файлы в теле которых ‘что_ищем’

Системная информация

date — вывести текущую дату и время
cal — вывести календарь на текущий месяц
uptime — показать текущий аптайм
w — показать пользователей онлайн
whoami — имя, под которым вы залогинены
finger user — показать информацию о user
cat /proc/cpuinfo — информация ЦПУ
cat /proc/meminfo — информация о памяти
man command — показать мануал для command
df — показать инф. о использовании дисков
du — вывести «вес» текущего каталога
du -sh cколько весит папка?
free — использование памяти и swap
unamе -a — информация о ядре
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 и вывести результат
traceroute google.com — трассировка маршрута к серверу google.com
whois domain — получить информацию whois для domain
dig domain — получить DNS информацию domain
dig -x host — реверсивно искать host
wgеt file — скачать file
wgеt -c file — продолжить остановленную закачку
ifconfig — вывод сетевых интерфейсов и подключений
ifconfig -a — Отображение всех интерфейсов, включая отключенные
ifconfig eth0 down — выключаем интерфейс eth0
ifconfig eth0 up — поднимаем (включаем) интерфейс eth0

Установка пакетов

Установка из исходников:
./configure
make
make install
Установка собранных пакетов:
dpkg -i pkg.deb — установить пакет (Debian, Ubuntu)
rpm -Uvh pkg.rpm — установить пакет (RPM RedHatm CentOS)

Автоматизация работы

cron — выполнение заданной команды в определенное время
ps aux |grep ‘part_of_the_name_of_your_script’|awk ‘{print $2}’ |xargs kill -9 {} — убить все процессы скрипта, где part_of_the_name_of_your_script — часть его имени

Ctrl+C — завершить текущую команду
Ctrl+Z — остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D — разлогиниться, тоже самое, что и exit
Ctrl+W — удалить одно слово в текущей строке
Ctrl+U — удалить строку
!! — повторить последнюю команду
exit — выход

Для работы с EXIM

/etc/init.d/exim4 stop — для остановки, по письма прекращает слать после перезагрузки

/etc/init.d/exim4 restart

/etc/init.d/exim4 start

backup \ crontab \ tar \ zip \ архивация — b14esh.com

Задания бывают следующих типов: Backup, Restore, Verify, Admin, Migrate, Copy, Consolidate.

Но для примера рассмотрим только Backup и Restore (информацию об остальных можно найти в официальной документации). Для начала создадим шаблон задачи (Job Definition):

# cat /etc/bareos/bareos-dir.d/jobdefs/MyJobdef.conf

JobDefs {

  Name = «MyJobdef»

  # Тип определяемого Job Definition (Backup, Restore, Verify…)

  Type = Backup

  

# Собирать данные со следующего клиента:

  Client = clientname

  # Раскоментируйте, если нужно предопределить Fileset, но можно на него и не ссылаться.

  # Например:

  # FileSet = «MyFileset»

  # Закрепить Job Definition за следующим расписанием:

  Schedule = «Weekly»

  # Перед и после выполнения задания возможен запуск скриптов:

  # ClientRunBeforeJob — запустит скрипт перед выполнением Job на

  # стороне клиента,

  # RunBeforeJob — запустит скрипт перед выполнением Job на

  # стороне Bareos Director.

  # ClientRunAfterJob — запустит скрипт после выполнения Job на

  # стороне клиента,

  # RunAfterJob — аналогично после Job на стороне Bareos Director.

  # Таким образом, сначала запустится RunBeforeJob (например, это

  # какой-либо скрипт для подготовки данных к бэкапу),

  # непосредственно само резервное копирование (или восстановление, если

  # Type = Restore) и по завершению — RunAfterJob (например,

  # скрипт, который удалит подготовленные для бэкапа данные)

  #

  # Например:

  #

  # ClientRunBeforeJob = «/path/to/your/script/script.sh»

  #

  # Как и в Fileset, возможно так же передавать различные

  # параметры:

  # ClientRunBeforeJob = «/path/to/script.sh %n»

            

  # С каким storage работать:

  Storage = File

  # Preset, определяющий как и какие сообщения собирать с

  # клиентов. В большинстве случаев — стандартного достаточно.

  Messages = Standard

  # С каким пулом работать: например, для Full backups — Full.

  Pool = Full

  # Приоритет задачи: чем ниже, тем раньше других будет выполнена,

  # если за один интвервал времени запланировано несколько

  Priority = 10

  # Вряд ли придется менять это значение, обычно оставляется

  # по дефолту. Это файл начальной загрузки. Он содержит

  # информацию ASCII, которая позволяет точно определить, какие

  # файлы должны быть восстановлены, какой объем они находятся и

  # где они находятся на томе. Это относительно компактная форма

  # указания информации, является удобочитаемой и может быть

  # отредактирована любым текстовым редактором.

  Write Bootstrap = «/var/lib/bareos/%c.bsr»

  # Указывает на то, что Full Backups записываются в пул «Full»;

  # Differential — в Differential и тд. Для примера так же можно

  # настроить запись Full Backups в созданный выше NewPool:

  # Full Backup Pool = NewPool

  Full Backup Pool = Full

  Differential Backup Pool = Differential

  Incremental Backup Pool = Incremental

}

 

И далее создадим непосредственно саму задачу, ссылающийся на созданный Job Definition:

# cat /etc/bareos/bareos-dir.d/job/MyJob.conf

Job {

  Name = «MyJob»

  Description = «Backup files from clientname»

  JobDefs = «MyJobdef»

  Type = Backup

  Level = Full

  # При Accurate режиме демон файлов точно знает, какие файлы

  # присутствовали после последней резервной копии. Таким

  # образом, он способен обрабатывать удаленные или

  # переименованные файлы.

  # При восстановлении FileSet для заданной даты (включая «самые

  # последние») Bareos может восстановить именно файлы и каталоги,

  # существовавшие во время последней резервной копии до этой

  # даты: удаленные файлы будут действительно удалены, а

  # переименованные будут переименованы должным образом.

  # При создании резервных копий VirtualFull рекомендуется

  # использовать точный режим (Accurate Mode), иначе VirtualFull

  # может содержать уже удаленные файлы.

  # Однако использование точного режима также имеет недостатки:

  # FileDaemon должен хранить данные о всех файлах в памяти.

  # Итак, если у вас нет достаточной памяти, резервная копия может

  # быть очень медленной или неудачной. Для 500 000 файлов

  # (типичная desktop Linux-система) потребуется около 64 мегабайт

  # ОЗУ на вашем File Daemon для хранения необходимой информации.

  Accurate = yes

  # Ссылаемся на созданное выше описание файлов (Fileset).

  FileSet = «MyFileset»

  # Привязываем задачу к еженедельному расписанию «Weekly»

  Schedule = «Weekly»

  # Собираем данные с клиента «clientname»

  Client = «clientname»

  # Если требуется, то можно переопределить:

  # ClientRunBeforeJob = «/path/to/script.sh»

  # ClientRunAfterJob = «/path/to/script.sh»

  # Отправляет bootstrap для аварийного восстановления.

  # Укажите здесь необходимого адресата, если требуется

  Write Bootstrap = «|/usr/bin/bsmtp -h localhost -f \»\(Bareos\) \» -s \»Bootstrap for Job %j\» [email protected]»

  # Приоритет. Дефолтные задания имеют приоритет 11.

  Priority = 9

}

 

Если какие-то из параметров определены дважды (например: в Fileset и Job, или в Job Definition и Job), то параметры в Job переопределит (override) ранее заданные.

 

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

chown bareos.bareos /etc/bareos/bareos-dir.d/schedule/Daily.conf

chown bareos.bareos /etc/bareos/bareos-dir.d/schedule/Weekly.conf

chown bareos.bareos /etc/bareos/bareos-dir.d/fileset/MyFileset.conf

chown bareos.bareos /etc/bareos/bareos-dir.d/jobdefs/MyJobdef.conf

chown bareos.bareos /etc/bareos/bareos-dir.d/job/MyJob.conf

 

Применяем изменения:

bconsole

reload

 

Запускаем задание MyJob:

bconsole

run job=MyJob

 

Смотрим ошибки и правим файлы

mess

Заархивируйте или разархивируйте файлы и папки в Windows 10

Сжатие или распаковка файлов и папок — важный шаг для экономии места на диске в Windows 10. Возможно, вы уже много раз слышали термин ZIP и, возможно, использовали стороннее программное обеспечение для сжатия, такое как Winrar, 7-Zip и т. д., но с введение Windows 10, вам не нужно ни одно из этих программ.Теперь вы можете напрямую сжимать или распаковывать любые файлы или папки с помощью встроенного инструмента сжатия в Windows 10.

Здесь следует отметить, что вы можете сжимать файлы и папки на томах NTFS, используя только сжатие NTFS в Windows 10. Если вы сохраните какие-либо новые файлы или папки в существующей сжатой папке, новый файл или папка будут автоматически сжаты. Итак, не теряя времени, давайте посмотрим, как архивировать или распаковывать файлы и папки в Windows 10 с помощью приведенного ниже руководства.

Заархивируйте или разархивируйте файлы и папки в Windows 10

Обязательно создайте точку восстановления на случай, если что-то пойдет не так.

Способ 1: архивирование или распаковка файлов и папок в Windows 10 с помощью проводника

1. Нажмите клавишу Windows + E, чтобы открыть File Explorer , а затем перейдите к файлу или папке , которую вы хотите сжать.

2. Теперь Выберите файл и папки , затем щелкните вкладку Общий доступ , затем щелкните кнопку/значок Zip.

3. выбранных файлов и папок будут сжаты в одном месте. При желании вы можете легко переименовать zip-файл в Windows 10.

4. Чтобы разархивировать или распаковать zip-файл, щелкните правой кнопкой мыши на zip-файле и выберите Извлечь все.

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

6. Измените расположение извлеченных файлов. Нажмите . Обзор и . Перейдите к месту, куда вы хотите извлечь ZIP-файлы. и выберите . Открыть.

7. Установите флажок « Показать извлеченные файлы после завершения » и нажмите Извлечь .

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

Это самый простой способ Заархивировать или разархивировать файлы и папки в Windows 10 без использования стороннего программного обеспечения.

Способ 2: Архивация или распаковка файлов и папок в окне свойств

1. Щелкните правой кнопкой мыши файл или папку , которую вы хотите сжать (zip), и выберите Свойства.

2. Теперь перейдите на вкладку General , затем нажмите кнопку Advanced внизу.

3. Затем в окне «Дополнительные атрибуты» установите флажок « Сжать содержимое для экономии места на диске » и нажмите «ОК».

4. Нажмите OK , чтобы закрыть окно свойств файла или папки.

5. Если вы выбрали папку, появится дополнительное всплывающее окно с вопросом, хотите ли вы « Применить изменения только к этой папке или Применить изменения к этой папке, подпапкам и файлам ».

6.Выберите соответствующий параметр , затем нажмите OK.

7. Чтобы распаковать или разархивировать файл или папку , щелкните правой кнопкой мыши и выберите Свойства.

8. Снова перейдите на вкладку General , затем нажмите кнопку Advanced.

9. Теперь убедитесь, что снимите флажок « Сжать содержимое для экономии места на диске » и нажмите OK.

10.Нажмите OK, чтобы закрыть окно свойств файла или папки.

Это самый простой способ  Заархивировать или разархивировать файлы и папки в Windows 10 , но если вы все еще застряли, воспользуйтесь следующим методом.

Способ 3: архивирование файлов и папок в Windows 10 с использованием параметра «Отправлено в сжатую папку»

Щелкните правой кнопкой мыши любой файл или папку, которые вы хотите сжать (архивировать), затем в контекстном меню нажмите « Отправить на » и выберите « Сжатая (архивированная) папка ».

Кроме того, если вы хотите заархивировать разные файлы или папки вместе, просто нажмите и удерживайте клавишу Ctrl при выборе тех файлов и папок, которые вы хотите заархивировать, затем щелкните правой кнопкой мыши на любом выбранном элементе и нажмите « Отправить в », затем выберите « Сжатая (заархивированная) папка ».

Способ 4: архивирование или распаковка файлов и папок в Windows 10 с использованием существующего Zip-файла

1. Щелкните правой кнопкой мыши пустую область на рабочем столе или в любой другой папке, затем щелкните New и выберите « Сжатая (заархивированная) папка », чтобы создать новый zip-файл.

2. Переименуйте эту только что созданную ZIP-папку или нажмите Enter, чтобы использовать имя по умолчанию.

3. перетащите файлы или папки, которые вы хотите заархивировать (сжать) в папку выше zip.

4. Кроме того, вы можете щелкнуть правой кнопкой мыши на файле или папке, которые вы хотите заархивировать, и выбрать Вырезать.

5. Перейдите к ZIP-папке, которую вы создали выше, затем дважды щелкните , чтобы открыть ZIP-папку.

6. Теперь щелкните правой кнопкой мыши пустую область внутри zip-папки и выберите Вставить.

7. Чтобы разархивировать или распаковать файлы или папки, снова перейдите к папке zip и дважды щелкните ее, чтобы открыть.

8. Оказавшись внутри zip-папки, вы увидите свои файлы и папки. Щелкните правой кнопкой мыши файл или папку, которую вы хотите распаковать (разархивировать) и выберите Вырезать.

9.Перейдите к местоположению , куда вы хотите распаковать файлы.

10. Щелкните правой кнопкой мыши пустую область и выберите Вставить.

Это инструкция Заархивировать или разархивировать файлы и папки в Windows 10 , но если вы все еще застряли, следуйте следующему методу, где вы можете заархивировать или распаковать файлы и папки в Windows 10 с помощью командной строки.

Метод 5: Архивация или распаковка файлов в Windows 10 с помощью командной строки

1.Откройте командную строку. Пользователь может выполнить этот шаг, выполнив поиск «cmd» и затем нажав Enter.

2. Введите следующую команду в cmd и нажмите Enter:

 Чтобы сжать (архивировать) файл: compact /c "full_path_of_file" /i /Q

Чтобы распаковать (разархивировать) файл: compact /u "полный_путь_к_файлу" /i /Q
 

Примечание: Замените полный_путь_файла фактическим путем к сжатому или несжатому файлу. Например:

Чтобы сжать (архивировать) файл: compact /c «C:\Users\Test\Desktop\Impt.txt» /i /Q
Чтобы распаковать (разархивировать) файл: compact /u «C:\Users\Test\Desktop\Impt.txt» /i /Q

3. Закройте cmd и перезагрузите компьютер.

Метод 6: архивирование или распаковка папок в Windows 10 с помощью командной строки

1. Откройте командную строку. Пользователь может выполнить этот шаг, выполнив поиск «cmd» и затем нажав Enter.

2. Введите следующую команду в cmd и нажмите Enter:

 Чтобы сжать только папку: compact /c "full_path_of_folder" /i /Q

Чтобы сжать папку и ее содержимое: compact /c /s:"full_path_of_folder" /i /Q

Чтобы распаковать только папку: compact /u "полный_путь_папки" /i /Q

Чтобы распаковать папку и ее содержимое: compact /u /s:"full_path_of_folder" /i /Q
 

Примечание: Замените полный_путь_файла фактическим путем к сжатой или несжатой папке.

3. Закройте cmd и перезагрузите компьютер.

Рекомендуется:

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

Как быстро архивировать и распаковывать файлы и папки на Mac

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

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

Zip-файлы и папки на Mac

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

1) Выбрать все файлы или папки. У вас есть несколько способов сделать это. Вы можете использовать Control + A , чтобы выбрать все элементы в папку, удерживайте Shift и нажмите первый и последний файл или папку, чтобы выбрать диапазон, или удерживайте Command и щелкните их один за другим.

2) Как только вы выберите файлы или папки, щелкните правой кнопкой мыши или удерживайте Control и нажмите .

3) В контекстном меню выберите Compress X Items .Обратите внимание, что используется термин «сжатие», а не «zip», хотя цель та же.

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

Распаковать файлы и папки на Mac

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

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

Настройки утилиты архивации

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

Самый быстрый способ получить к нему доступ — щелкнуть Перейти > Перейти в папку в строке меню. Затем скопируйте и вставьте этот путь во всплывающем окне: /System/Library/CoreServices/Applications и нажмите Go .

Вы увидите Архив Утилита в списке, поэтому двойным щелчком откройте ее. Затем нажмите Archive Utility > Preferences в строке меню.

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

Просто закройте окно настроек, когда закончите вносить изменения.

Сторонние приложения

Если вы обнаружите, что архивируете и распаковываете файлы больше часто и нуждаются в дополнительных функциях, в Mac App Store есть приложения, которые можно проверить вне.

  • WinZip (29,99 долл. США) — популярное приложение для сжатия файлов с прямым совместным использованием и защитой паролем.
  • A-Zippr: RAR & Zip Tool (бесплатно с IAP) также предлагает шифрование AES и предварительный просмотр файлов.
  • RAR Extractor Expert (бесплатно с IAP) — еще один вариант, поддерживающий распаковку защищенных паролем файлов и пакетное извлечение.

Подведение итогов

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

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

Что будет быстрее, перекинуть заархивированный файл на флешку и распаковать там или перекинуть разархивированные файлы?

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

Бесспорно, правильный ответ «перенос и заархивированных файлов» .

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

Очевидно, вы не знаете, что вы не можете «распаковать» локально на диске или устройстве хранения.
Исходный файл архива должен быть прочитан (откуда бы он ни хранился), а затем ЦП будет выполнять распаковку в основной памяти.

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

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



Другой способ взглянуть на ваш вопрос — предположить некоторую степень параллелизма между операциями и угадать время.

Таким образом, для случая 1 копирование zip-файла на флэш-накопитель требует выполнения операций чтения одновременно с операцией записи (но с некоторой блочной задержкой).
Запись также требует больше времени для выполнения, чем чтение (например, см. Почему копирование одного и того же объема данных занимает больше времени, если они распределены по многим отдельным файлам?).
После создания копии ее можно прочитать, распаковать и записать обратно на флэш-накопитель.
Несмотря на параллелизм операций чтения, распаковки и записи, на общей временной шкале преобладает время записи всех несжатых файлов.

  РРРРРРРРР
 ВВВВВВВВВ
           ррр ррр ррр
            ДДДД ДДДД ДДДДД
              WWWWWWWWWWWWWWWWWWWWWWW
время -->
  

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

  РРР РРР РРР
 ДДДД ДДДД ДДДДД
   WWWWWWWWWWWWWWWWWWWWWWW
  

Как можно ожидать, что случай 1 будет выполнен быстрее, чем случай 2, если первый этап операций чтения предназначен для того же объема данных с того же устройства, а последний этап операций записи — для того же объема данных на то же устройство
и
случай 1 затруднен из-за необходимости сначала выполнять копирование?

Разархивируйте, обновите и снова заархивируйте XML-файлы в папке | by Vaclav Dekanovsky

Использование Python для автоматизации офисной рутины

Изображение автора

В повседневной офисной работе вам часто приходится что-то делать с кучей файлов.Разархивируйте, переместите, переименуйте, обновите, снова заархивируйте и отправьте или загрузите на FTP. Все это просто сделать, но очень много времени, потому что вам придется повторять их вручную на десятках или сотнях файлов.

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

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

  1. Разархивировать группу файлов
  2. Обновить их содержимое — в нашем примере мы изменим содержимое узла XML
  3. Снова заархивировать результат — с помощью zipfile и Shutil библиотеки

Вы можете выполните это упражнение в записной книжке github-Unzip_Update_Zip_full.ipynb.

Пример кода Python, выполненного в блокноте Jupyter

Существует несколько способов настройки Python на вашем компьютере.Лично мне нравится использовать блокнот Anaconda и Jupyter. Вы загружаете и устанавливаете пакет conda, предназначенный для упрощения управления средой Python со всеми возможными улучшениями, и запускаете записную книжку, которая является неотъемлемой частью пакета.

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

Давайте рассмотрим, как вы подошли бы к задаче по распаковке файла в Python. Просто зайдите в Google и введите «unzip python». Он быстро перечисляет результаты, и вы выбираете, скажем, один из крупнейших сайтов вопросов и ответов — Stackoverflow Unzipping files in Python. За 3 строки кода вы узнаете, как это сделать:

 import zipfile 
with zipfile.ZipFile(path_to_zip_file, 'r') as zip_ref:
zip_ref.extractall(directory_to_extract_to)

Вы импортируете библиотеку, необходимую для работы с .zip файлов — zipfile . Это позволяет вам использовать его функции и методы для распаковки архивов и их повторного сжатия.

Сначала вы открываете архив для чтения с помощью zipfile.ZipFile(path_to_zip_file, 'r') , а затем извлекаете содержимое пакета в каталог zip_ref.extractall(directory_to_extract_to) .

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

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

Библиотека os позволяет получить содержимое папки os.listdir() и объединить имена папок и файлов с помощью os.path.join(folder,file) .Listdir возвращает как файлы, так и подпапки. Вы можете добавить file.endswith(".zip") , чтобы идентифицировать только архивы.

В качестве альтернативы вы можете использовать os.path.splitext() . Его второй вывод — это расширение файла.

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

 def unzip(folder: str, file: str, folder_to_extract: str) -> list: 
"""распаковывает файл в папке в folder_to_extract
возвращает список файлов в zip архиве"""
с zipfile. ZipFile(os.path.join(папка,файл), 'r') as zip_ref:
zip_ref.extractall(folder_to_extract)
return zip_ref.namelist()# применение функции к выводу может быть втиснуто в понимание списка
[ unzip(folder, f, "temp") for f in os.listdir(folder) if f.endswith(".zip")]

После извлечения XML в папку temp мы можем работать с ним.Python содержит библиотеку xml.etree для обработки файлов XML. В нашем случае мы знаем, что zip-архив содержал один XML-файл a.xml , хотя вы всегда можете перечислить все файлы в архиве, используя — zip_ref.namelist() .

Чтобы обновить файл XML, необходимо импортировать библиотеку дерева и загрузить документ XML.

 из xml.etree импортировать ElementTree как ET# разобрать XML-документ в переменную 
tree = ET.parse(path)# получить корневой элемент, содержащий все узлы XML
root = tree.getroot()

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

Допустим, мы хотим обновить узел ... в нашем XML. Мы должны сначала найти его. В библиотеке etree есть несколько методов для поиска узлов XML.

  • .find() обнаружил первое появление элемента XML
  • .findall() список всех вхождений подэлемента

Оба метода принимают имя элемента, или вы можете найти его, используя xpath . Xpath — это своего рода адрес внутри XML для поиска нужного элемента. Как только узел найден, используйте аргумент .text , чтобы получить значение, записанное между тегами.

 # в  найти узел ... и показать его содержимое (.text) 
id = root.find("id").text

Наш идентификатор разделен на три части символом подчеркивания «_»:

Один из XML имеет идентификатор — test_001_20201026 . .text возвращает значения в виде строки, и вы можете применить функцию .split("_") , чтобы разбить текст на детали.

 [In]: 
split_id = id.split("_")
print(split_id)[Out]: ["test","001","20201026"]

Вывод представляет собой список Python, который может легко обновляться поэлементно. Сначала мы меняем префикс split_id[0] = new_prefix . Потом обновляем версию.

 split_id[0] = new_prefix 
split_id[1] = "{:03d}".format(new_version)

Мы использовали "{:03d}".format(new_version) , чтобы добавить ведущие нули до 3 символов, при необходимости преобразовать 1 в 001 .

Обновленные значения можно объединить в одну строку с помощью . (split_id)

Как я уже упоминал, любое обновление переменной, полученной из дерева , также обновляет дерево . Мы достигли желаемого обновления XML, и нам нужно только экспортировать его, используя дерево .запись (выход_путь) .

Посмотрим на полный код обновления XML:

Теперь обновленный a.xml лежит в папке temp . Нам нужно только заархивировать его и поместить этот архив в обработанную папку . Давайте сначала создадим выходную папку, если она не существует. Мы будем использовать Path из библиотеки pathlib .

 # создаем выходную папку, если она не существует 
Path(output_folder).mkdir(parents=True, exists_ok=True)

Затем мы упаковываем XML в zip-архив, используя zipfile lib.Теперь нам нужно открыть архив для записи ‘w’ . Затем используем ссылку на этот архив и .write(path_to_file, name_of_this_file) .

Если не указать второй параметр name_of_the_zipped_file , то будет заархивирован весь путь, включая папки и подпапки.

Если вы не знаете имя файла, библиотека os может помочь вам с функцией os.path.basename() .

 с zip-файлом.ZipFile(output_path, 'w') as myzip: 
myzip.write(path_to_processed_xml, os.path.basename(path_to_processed_xml))
при сжатии укажите имя заархивированного файла, чтобы также не сжимать содержащиеся в нем папки. Image by Author

Хотя иногда нужно упаковать папки и файлы. В нашем примере Folder_001_20201101.zip содержит файл и другие файлы в папке.

В таком случае было бы слишком сложно использовать zip-файл, но у вас есть альтернатива в Shutil.make_archive(выходная_папка, формат, папка_в_упаковку) . Этот метод архивирует только содержимое папки folder_to_pack и помещает результат в папку output_folder . Вы можете выбрать один из форматов zip , tar , gztar , bztar , xztar .

Теперь мы знаем все компоненты процесса:

  1. распаковал несколько архивов в папке во временную папку
  2. обновил каждый из разархивированных файлов
  3. и снова заархивировал этот обновленный файл в архив

В этом финале упражнение, мы должны сделать несколько небольших настроек.Мы будем использовать имя исходного архива, обновим его, а также обновим содержимое всех содержащихся XML-файлов. Причина в том, что в архиве может быть два или более XML-файла с разными идентификаторами, и мы заархивируем их все обратно в обновленный zip-архив (который не может иметь 2 разных имени).

Полный код можно найти в этой записной книжке — Unzip_Update_Zip_full.ipynb

В этом простом руководстве вы увидели мощь Python (или любого другого языка программирования).С помощью нескольких строк кода вы можете автоматизировать задачи, которые заняли бы много времени, если бы выполнялись вручную. Я использую этот принцип, когда решаю, стоит ли тратить время на кодирование:

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

Операция в этом примере может иметь множество вариантов.

Добавить комментарий

Ваш адрес email не будет опубликован.