Выбор лучших каталогов для сжатия и экономии места на диске

  1. Используемые изображения можно найти в/usr/share/desktop-base/softwaves-theme/wallpaper/contents/images(Думаю, это изображения по умолчанию ).

    cd /usr/share/desktop -base/softwaves -theme/wallpaper/contents/images

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

    gsettings получает изображение org.gnome.desktop.background -uri

  2. Копируем нужный нам (или все если не знаем какой использовать )в папку :Скажем, в ~/bg_images/.

    mkdir ~/bg _изображения/

    ср *.*~/bg _изображений/

    cd ~/bg _изображения

  3. Мы открываем изображение, которое будем использовать, в GIMP и экспортируем в формате PNG.

    Gimp -> экспортировать как -> выбрать файлы png -> установить сжатие на 0 -> ввести

  4. Допустим, это было изображение 1280x720.svg, а мы создали 1280x720.png.

    1. Открываем файл image1.tex (в той же папке )и добавляем код:

       \documentclass[10pt]{standalone}
       \usepackage{graphicx}
       \usepackage{tikz}
       \usepackage{array}
       \usepackage{parskip}
       \setlength\parindent{25pt}
       \def\bll{\boldmath$<$}
       \def\blg{\boldmath$>$}
      
       \begin{document}
          \begin{tikzpicture}
             \node at (0,0) {\includegraphics{1280x720.png}};
             \node at (1.2,0) {
             \begin{minipage}{310pt}
                \begin{center}
                   {\Huge \bfseries emacs controls:}
                \end{center}\vspace{5pt}
      
           \noindent{\Large\bfseries Navigation}\vspace{5pt}
      
      
           \begin{tabular}{>{\bfseries}r l}
              C-v:& Goes to next page.\\
              M-v:& Goes to previous page.\\
              C-l:& Moves the screen around the cursor's line.\\ 
              &(once $->$ center,\\ 
              &twice $->$ top,\\ 
              &three times $->$ bottom).\\
              C-n:& Next line.\\
              C-p:& Previous line.\\
              C-b:& Previous character (Backward).\\
              C-f:& Next character (Forward).\\
              C-a:& Beginning of line.\\
              C-e:& End of line.\\
              M-f:& Forward a word.\\
              M-b:& Backward a word.\\
              M-a:& Back to beginning of sentence.\\
              M-e:& Forward to end of sentence.\\
              M-\blg:& Move to End of file.\\
              M-\bll:& Move to Beginning of file.\\
           \end{tabular}\vspace{10pt}
      
           \noindent{\Large\bfseries Numerical arguments in commands}\vspace{5pt}
      
           \begin{tabular}{>{\bfseries}l l}
              C-u \bll Num\blg \bll command\blg :& Repeats $<$comand$>$ \\
              &Num times.\\ 
              Exceptions: & {\bfseries C-v} and {\bfseries M-v}\\
              & scrolls Num lines.\\
           \end{tabular}\vspace{10pt}
      
           \noindent{\Large\bfseries Cancel non-responding or incomplete command}\vspace{5pt}
      
           \begin{tabular}{c}
              {\bfseries C-g}\\
           \end{tabular}\vspace{10pt}
      
           \noindent{\Large\bfseries Change buffer etc}\vspace{5pt}
      
           \begin{tabular}{>{\bfseries}rl}
              C-x b: & Select buffer \\
              & Default [Enter]\\
              & [tab] show possible.\\
              C-x 1: & kill all buffers\\
              & but cursor's current.\\
              & [it is digit one]\\
              C-x 2:& Splits current window in two.\\
              C-x o:& moves cursor to other window.\\
              C-M-v:& Scrolls other window.
           \end{tabular}
        \end{minipage}\hspace*{45pt}
        \begin{minipage}{300pt}
           \noindent{\Large\bfseries Mark from}\vspace{5pt}
      
           \begin{tabular}{>{\bfseries}l}
              C-\bll SPC\blg\\
           \end{tabular}\vspace{10pt}
      
      
           \noindent{\Large\bfseries Delete and kill}\vspace{5pt}
      
           \begin{tabular}{>{\bfseries}r l}
           \bll DEL\blg & Delete char just before cursor.\\
           C-d: & Delete char just after cursor.\\
           M-\bll DEL\blg: & Kill word just before cursor.\\
           M-d: & Kill word just after cursor.\\
           C-k: & Kill from cursor to end of line.\\
           M-k: & Kill from cursor to end of sentence.\\
           C-w: & Kill from mark point to cursor.
           \end{tabular}\vspace{10pt}
      
           \noindent{\Large\bfseries Restore killed text ``Yanking''}\vspace{5pt}
      
           \begin{tabular}{>{\bfseries}l l}
              C-y: & Restore last killed or last row killed text.\\
              M-y: & Restore previous killed text.
           \end{tabular}\vspace{10pt}
      
           \noindent{\Large\bfseries Undo}\vspace{5pt}
      
           \begin{tabular}{>{\bfseries}l}
              C-/\\
              C-x u\\
              C-\_\\
           \end{tabular}
      
           \noindent{\Large\bfseries Files \& Buffers}\vspace{5pt}
      
           \begin{tabular}{>{\bfseries}rl}
              C-x C-f: & Find a file.\\
              C-x C-s: & Save active file.\\
              C-x C-b: & List buffers.\\
              C-x b \bll BufferName\blg:& Visit buffer.\\
              C-x s: & Save some buffers.\\
              C-x C-c:& Exit emacs.\\
              C-z:& Suspend emacs\\
              & return with \%emacs or 'fg'\\
           \end{tabular}\vspace{10pt}
      
           \noindent{\Large\bfseries Search}\vspace{5pt}
      
           \begin{tabular}{>{\bfseries}rl}
              C-s:& Forward search \\
              & (repeat C-s for next)\\
              C-r:& Backward search\\
              & Both navigate back and forth.
           \end{tabular}     
        \end{minipage}\hspace{5pt}
        \begin{minipage}{290pt}
           \noindent{\Large\bfseries More Useful Commands}\vspace{5pt}
      
           \begin{tabular}{>{\bfseries}r l}
              M-x replace-string:& Replace string after cursor.\\
              &(First letters and TAB \\
              & are enough to show it.)\\
              M-x recover-file: & Restores file.\\
              M-x auto-fill-mode: & Automatic breaks lines.\\
              M-x text-mode: & Human text.\\
              C-x f \bll NumChars\blg : & Chars in line.\\
              M-q: &Fix chars in paragraph.\\
              C-u 70 C-x f: & 70 chars per line.\\
              C-h c \bll comand\blg:& Basic help on command.\\
              C-h k \bll command \blg:& Extended help on command.\\
              C-h f \bll function \blg:& Help about function.\\
              C-x i:& Read included manuals.
           \end{tabular}\vspace{10pt}
        \end{minipage}  
        };
         \end{tikzpicture}
       \end{document}
      
    2. Компилируем с помощью pdflatex image1.tex и получаем файл image1.pdf.

      pdflatex image1.tex

    3. Затем у нас есть файл image1.pdf, и мы конвертируем его в svg с помощью команда texlive convert:

      конвертировать image1.pdf image1.svg

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

    1. Мы создаем каталог «bin» в нашей домашней папке (, если у нас его еще нет)

      mkdir ~/bin

      компакт-диск ~/бин

    2. Открываем файл 'изменить _background.sh'

      нано изменение _background.sh

    3. Копируем код вставляем:

      #!/бин/баш

      файл _путь=$1

      if [ "x$file _path" != "x" ];

      тогда gsettings set org.gnome.desktop.background picture -uri file ://"$file _path" фи

    4. Сохранить и закрыть

    5. chmod +x изменить _background.sh

    6. Затем открываем настройки в правом верхнем углу:

      Все настройки ->клавиатура ->прокрутить вниз ->нажать «+»

    7. Мы создаем собственный ярлык (Допустим, он показывает _emacs _справку )командой

      bash /home/userName/bin/change _background.sh /home/userName/bg _images/image1.svg

      где «userName» — наше имя пользователя

    8. Мы выбрали сочетания клавиш (Допустим, Ctrl + Alt + H)

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

    PS :Источник скрипта:https://askubuntu.com/questions/858663/how-to-change-background-with-keyboard-shortcutВыбранный ответ @SergiyKolodyazhnyy.

    Изображение результата:

    enter image description here

-1
10.07.2019, 17:45
1 ответ

Это можно сделать, передав содержимое каталога инструменту сжатия и перенаправив сжатый поток в нулевой канал (, чтобы избежать использования пробела ). Этот обжимной инструмент должен :1 -Сжать поток TO по конвейеру 2 -Возможность сжатия в /dev/null 2 -Предоставить статистику сжатия по удаленному файлу

Среди самых популярных инструментов лучше всего подходит bzip2, особенно из-за статуса вывода с числом входных и выходных байтов.

Окончательное решение выглядит так:

cat $(find DIRECTORY_PATH) | bzip2 -c --verbose > /dev/null

Где первая часть будет объединять все содержимое любого файла в выбранном каталоге.

cat $(find DIRECTORY_PATH)

В то время как вторая часть будет сжимать объединенный ввод из первой части, создавая единый отчет (--подробный )в конце, перенаправляя вывод в нулевой канал

bzip2 -c --verbose > /dev/null

Вывод должен выглядеть следующим образом, где регулярное выражение " (\d+ )in" должно фиксировать исходный размер для всех файлов в каталогах в байтах, а " (\d+ )in" сжатый размер в байтах. Вывод должен выглядеть так:

1.581:1, 5.059 bits/byte, 36.77% saved, 1039062 in, 657029 out.

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

0
28.01.2020, 05:12

Теги

Похожие вопросы