Несколько скриптиков на память

no avatar

Автор темы
ArturS
Сообщения: 28
Зарегистрирован: 22 дек 2021, 10:08
Благодарил (а): 2 раза
Поблагодарили: 1 раз
Контактная информация:

Несколько скриптиков на память

#1

14 мар 2025, 15:07

Первый:

Код: Выделить всё

#!/bin/sh

# 2025-03-01 

#╓────────────────────────
#║ Создание zip-архива из содержимого текущего каталога, включая симлинки и
#║ скрытые файлы. Созданный архив размещается каталогом выше под названием
#║ текущего каталога.
#║ 
#║ Опции архиватора zip
#║
#║   -r	- Включить в обработку подкаталоги (рекурсия).
#║   -y - Сохранять символические ссылки (--symlinks).
#║   -x	- Явно исключить указанные файлы.
#║
#║   .*	- Добавить все скрытые файлы и каталоги.
#║ 
#║ Выражение ( -x "../*" ) необходимо, чтобы zip не включал в архив файлы выше
#║ текущего каталога. А при таком его раскладе команды, и без этого выражения,
#║ он пытается впихнуть в архив абсолютно все файлы раздела.
#╚═════════════════════════════════════════════════════─────────────────────────

name=$(basename $(pwd))
zip -y ../$name.zip -r .* -x "../*"

#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────
Второй:

Код: Выделить всё

#!/bin/bash

# 2025-03-01 

#╓────────────────────────
#║ Создание rar-архива из содержимого текущего каталога, включая симлинки и
#║ скрытые файлы. Созданный архив размещается каталогом выше под названием
#║ текущего каталога.
#║ 
#║ Опции архиватора rar
#║ 
#║    a	- Добавить файлы в архив.
#║   -r	- Включить в обработку подкаталоги (рекурсия).
#║  -ol	- Сохранять символические ссылки как ссылки, а не как файлы.
#║ 
#║   "*"	- Добавить все файлы и каталоги.
#║   ".*"	- Добавить все скрытые файлы и каталоги.
#║ 
#║ Для распаковки архива в linux использовать утилиту unrar, но не прибегать к
#║ услугам файлового менеджера mc. В проитвном случае коректное извлечение 
#║ ссылок может быть невозможно.
#╚═════════════════════════════════════════════════════─────────────────────────

name=$(basename $(pwd))
rar a -r -ol ../$name.rar "*" ".*"

#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────
Третий:

Код: Выделить всё

#!/bin/bash

# 2025-03-01

#╓────────────────────────
#║ Создание tar-архива из содержимого текущего каталога, включая скрытые файлы.
#║ Созданный архив размещается каталогом выше под названием текущего каталога.
#║ 
#║ Опции архиватора tar
#║ 
#║   -c - Создать архив.
#║   -f	- Добавить файлы в архив.
#║
#║   *	- Добавлять в архив все файлы и каталоги.
#╚═════════════════════════════════════════════════════─────────────────────────

name=$(basename $(pwd))
tar cvf ../$name.tar *

#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────
Четвёртый:

Код: Выделить всё

#!/bin/sh

# 2025-03-01 

#╓────────────────────────
#║ Перепаковка формата tazpkg в формат zip-архива. 
#║ Там, между прочим, много интересного бывает...
#╚═════════════════════════════════════════════════════─────────────────────────

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

PKG="$1"
[ "$2" != "" ] && TODIR="$2" || TODIR=""

for i in "$PKG"
do
	FOLDR=$(echo $i|sed 's/\.tazpkg$//')
done
mkdir "$FOLDR"
cp "$PKG" "$FOLDR"
cd "$FOLDR"
PKGNEW=`ls | grep ".tazpkg"`
echo "$PKGNEW"

# Распаковка пакета SliTaz
cpio -idm < "$PKGNEW"

# Удаление ненужных файлов
[ -f description.txt ] && rm description.txt
[ -f md5sum ] && rm md5sum
[ -f files.list ] && rm files.list
[ -f receipt ] && rm receipt

# Распаковка извлеченного из пакета SliTaz архива
if [ -f fs.cpio.lzma ]; then
	echo "Обнаружен формат lzma"
	lzma -d fs.cpio.lzma | cpio -i -d -m
	cpio -i -d -m < fs.cpio
	rm fs.cpio
else
	echo "Обнаружен формат gz"
	zcat fs.cpio.gz | cpio -i -d -m
	rm fs.cpio.gz
fi
rm "$PKGNEW"

# Копирование каталогов на уровень выше
if [ -d fs ]; then
	cd fs
	mv * ..
	cd ..
	rmdir fs
	name=$(basename $(pwd))
	zip -y ../$name.zip -r .* -x "../*"
fi

cd ..
rm -R "$FOLDR"
echo "Пакет $PKG перепакован в формат zip"

#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────
Пятый:

Код: Выделить всё

#!/bin/bash

#╓────────────────────────
#║ Переименование расширения пакетов дистрибутива SliTaz "tazpkg" на 
#║ "lzma.cpio". Такое расширение легко понимает mc и входит в пакет как в 
#║ обыкновенный архив.
#║
#║ Команда ниже, это цикл for, который находит каждый файл, заканчивающийся на 
#║ ".tazpkg". Затем он рекурсивно выполняет операцию переименования всех с
#║ совпадающими именами файлы и заменяет расширение ".tazpkg" на ".lzma.cpio".
#║
#║ "done" в конце команды указывает, что цикл завершен. 
#║ {эксклюзив Для завсегдатаев форума}
#╚═════════════════════════════════════════════════════─────────────────────────

#for a in *.tazpkg; do mv -- "$a" "${a%.tazpkg}.lzma.cpio"; done

for a in *.tazpkg
do 
	mv -- "$a" "${a%.tazpkg}.lzma.cpio"
done

#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────
Как инструкции, народ? А то у меня проблемы с админом... Он тут инструкцию про флешку, написал(сами найдите на форуме)... На литературном. И не извинился, а до сих пор никому не понятно. Я с матюками всегда пишу, но все понимают... Тут одно, или не пиши, или объясняй людям...

Аватара пользователя

WWolf
Сообщения: 4166
Зарегистрирован: 14 фев 2018, 00:51
Решено: 35
Откуда: Краснодар
Благодарил (а): 1729 раз
Поблагодарили: 1272 раза
Контактная информация:

Несколько скриптиков на память

#2

14 мар 2025, 15:16

ArturS, используй ТЕГ [code], а не [icode]
не интуитивно в панеле вот он
123.png

Аватара пользователя

madesta
Сообщения: 2361
Зарегистрирован: 11 июн 2017, 21:47
Решено: 31
Откуда: BY
Благодарил (а): 83 раза
Поблагодарили: 491 раз
Контактная информация:

Несколько скриптиков на память

#3

14 мар 2025, 18:18

Я так понял, что речь идёт о том, как воспринимаются объяснения? Если для того, кто практически не сталкивался с выполнением скриптов в терминале, то ему разобраться будет или сложно или невозможно. Лучше к ним добавить какие-либо кнопки запуска (.desktop), при вызове которых ещё будет применяться zenity для запроса имени файла и/или других параметров. То есть, для пользователя, который не глубоко в теме, нужно предоставлять решения "под ключ" по принципу "нажал кнопку и выполнил".

no avatar

Greey
Сообщения: 155
Зарегистрирован: 15 июл 2020, 16:12
Решено: 1
Откуда: Russia
Благодарил (а): 16 раз
Поблагодарили: 7 раз

Несколько скриптиков на память

#4

15 мар 2025, 05:31

madesta писал(а):
14 мар 2025, 18:18
То есть, для пользователя, который не глубоко в теме, нужно предоставлять решения "под ключ" по принципу "нажал кнопку и выполнил".
Не пытаться заставить шевелить мозгами, не обучать, а предоставлять... Процесс деградирования любимого Linux`а, насаждаемый поклонниками Windows, в действии. Лет через десять подобной мутации появится новая особь - WindoLix

Аватара пользователя

Chocobo
Сообщения: 10063
Зарегистрирован: 27 авг 2016, 22:57
Решено: 216
Откуда: НН
Благодарил (а): 837 раз
Поблагодарили: 3042 раза
Контактная информация:

Несколько скриптиков на память

#5

15 мар 2025, 12:37

madesta писал(а):
14 мар 2025, 18:18
Лучше к ним добавить какие-либо кнопки запуска (.desktop), при вызове которых ещё будет применяться zenity
Или встраивать командами в контекстное меню фм по первым трем, если имеющиеся варианты компрессии чем-то не угодили)
Изображение
   
Изображение

Аватара пользователя

madesta
Сообщения: 2361
Зарегистрирован: 11 июн 2017, 21:47
Решено: 31
Откуда: BY
Благодарил (а): 83 раза
Поблагодарили: 491 раз
Контактная информация:

Несколько скриптиков на память

#6

15 мар 2025, 14:46

Chocobo писал(а):
15 мар 2025, 12:37
в контекстное меню фм
В Cinnamon Nemo мне так и не удалось решить задачу создания архивов с автоудалением исходных данных для упаковки, чтобы создавался архив из выделенного по ПКМ без путей так как делалось в xfce Thunar. В Thunar было просто, например, для zip (c нулевым уровнем сжатия): zip -r -0 $(zenity --entry).zip %N && rm -fr %N В actions Cinnamon Nemo указание %N для Exec не работает и где-то видел упоминание, что является deprecated. При указании же %F к объектам добавляются пути. Приходится сначала перемещать в отдельную пустую папку, потом выполнять zip -r -0 $(zenity --entry).zip *, затем созданный zip перемещать в нужное место, а исходные данные для упаковки удалять. Вместо двух команд как в Thunar в Nemo приходится выполнять последовательность из пяти команд (пример):

Код: Выделить всё

Exec=sh -c 'mv %F /home/minter/.local/temp && cd /home/minter/.local/temp && zip -r -0 $(zenity --entry).zip * && mv /home/minter/.local/temp/*.zip /home/minter/Документы && rm -fr /home/minter/.local/temp/*; exec bash'
Как выйти из этого тупика даже не представляю. Возможно, что имеется какой-то способ сделать --exclude на пути выделяемого, но в справке zip --help -h2 такого не нашёл. Думал, что найду какую-либо подсказку в /usr/share/nemo/actions, но получил вообще вынос мозга. Например, в тестовом примере sample.nemo_action имеется такое упоминание:
Name=Test Custom Action applied to %N
Comment=This is a test for Nemo actions. Action will be applied to %N
но для Exec= применяется только %F, %P или %U
:dash2:

no avatar

Автор темы
ArturS
Сообщения: 28
Зарегистрирован: 22 дек 2021, 10:08
Благодарил (а): 2 раза
Поблагодарили: 1 раз
Контактная информация:

Несколько скриптиков на память

#7

15 мар 2025, 21:00

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

Аватара пользователя

hellonet
Сообщения: 3297
Зарегистрирован: 11 окт 2016, 12:58
Решено: 17
Откуда: Новосибирск
Благодарил (а): 1193 раза
Поблагодарили: 518 раз
Контактная информация:

Несколько скриптиков на память

#8

15 мар 2025, 21:10

ArturS писал(а):
15 мар 2025, 21:00
Ну и движок форума тут у вас. Даже поблагодарить за дельную подсказку проблемно.
Нажимай самый правый верхний значок в виде ладони с большим пальцем вверх
Вложения
Благодарность.jpg
Благодарность.jpg (4.99 КБ) 206 просмотров

Аватара пользователя

hellonet
Сообщения: 3297
Зарегистрирован: 11 окт 2016, 12:58
Решено: 17
Откуда: Новосибирск
Благодарил (а): 1193 раза
Поблагодарили: 518 раз
Контактная информация:

Несколько скриптиков на память

#9

15 мар 2025, 21:15

ArturS писал(а):
15 мар 2025, 21:00
Я родом из области повыше по карте...
ИИ подсказал: На севере Краснодарского края находится Ростовская область. :thumbs:

no avatar

Автор темы
ArturS
Сообщения: 28
Зарегистрирован: 22 дек 2021, 10:08
Благодарил (а): 2 раза
Поблагодарили: 1 раз
Контактная информация:

Несколько скриптиков на память

#10

15 мар 2025, 21:26

Я ущемлён в правах?


Аватара пользователя

hellonet
Сообщения: 3297
Зарегистрирован: 11 окт 2016, 12:58
Решено: 17
Откуда: Новосибирск
Благодарил (а): 1193 раза
Поблагодарили: 518 раз
Контактная информация:

Несколько скриптиков на память

#11

15 мар 2025, 23:16

ArturS писал(а):
15 мар 2025, 21:26
Я ущемлён в правах?
Может не там смотришь?
Вложения
не там.jpg

Аватара пользователя

madesta
Сообщения: 2361
Зарегистрирован: 11 июн 2017, 21:47
Решено: 31
Откуда: BY
Благодарил (а): 83 раза
Поблагодарили: 491 раз
Контактная информация:

Несколько скриптиков на память

#12

16 мар 2025, 02:42

ArturS писал(а):
15 мар 2025, 21:00
Ну и движок форума
А ещё можно подвести курсор к одной из трёх указанных hellonet кнопок и получить подсказку в виде всплывающего сообщения.

Аватара пользователя

rogoznik
Сообщения: 10413
Зарегистрирован: 27 июн 2017, 13:36
Решено: 134
Откуда: Нижний Тагил
Благодарил (а): 791 раз
Поблагодарили: 2043 раза
Контактная информация:

Несколько скриптиков на память

#13

16 мар 2025, 17:14

ArturS писал(а):
15 мар 2025, 21:26
Я ущемлён в правах?
Нет, с правами все хорошо. Не там искал.
Вот где расположена кнопка в зависимости от используемой темы
Screenshot_20250316_070643.png
Avalanche
Screenshot_20250316_070718.png
prosilver_mint
Screenshot_20250316_070749.png
we_universal_lm
ИзображениеИзображение

Ответить

Вернуться в «Руководства»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей