Я видел файл .sh при выполнении в терминале, он извлекает некоторые файлы jar внутри файла sh. Как создать такие файлы sh? Я не смог открыть этот файл sh в обычном gedit, чтобы проверить содержимое. Есть ли способ сделать это?
Создайте архивы оболочки с помощью утилиты shar . Например:
# Create some fixture data to archive.
cd /tmp
mkdir -p foo/bar/baz
touch foo/bar/baz/quux
# Create the shell archive.
find foo/ -exec shar {} + > quux.sh
# Remove fixture data.
rm -rf foo/
# Extract archive to recreate directories and files.
sh quux.sh
Вы можете проверить, что это воссоздало ваши данные, с помощью ls -R foo
. Вдобавок, если вы проверите quux.sh , вы увидите, что он состоит из серии простых команд оболочки. Вы можете вставить эти команды непосредственно в другой сценарий оболочки, если хотите, или вызвать архив из другого сценария, чтобы распаковать его.
Версия BSD shar на macOS не обрабатывает двоичные файлы данные без отдельного шага кодирования, тогда как в версии GNU доступны различные варианты кодирования . Если ваша версия shar не поддерживает двоичное кодирование, вам может быть лучше использовать более надежную опцию архивирования, такую как tar . Ваш пробег может отличаться.
Для сжатия файла или набора файлов можно использовать команду gzip
в UNIX.
Для сжатия одного файла используйте:-
$ gzip filename
Создается файл с именем filename.gz
.
.
Чтобы заархивировать папку, сначала создайте файл .tar
, а затем заархивируйте его.
.
Пусть имя папки будет shell
.
Для создания файла .tar
используйте:-
$ tar cvf filename.tar shell/.
Создаст файл с именем filename.tar
Теперь используйте
$ gzip filename.tar
Создаст файл с именем filename.tar.gz
.
.
Таким образом, вы можете сжать файл.
Примечание: Чтобы распаковать файл, можно использовать команду gunzip
.