19 Commits

Author SHA1 Message Date
Gustavo Adolfo Mesa Roldán 438e6867c5 0.5r9 - Executer 2020-10-03 08:12:14 +02:00
Gustavo Adolfo Mesa Roldán 4e04efe1af 0.5r9 - Executer 2020-10-03 08:01:47 +02:00
Gustavo Adolfo Mesa Roldán 5816870906 0.5r8 2020-10-03 07:19:07 +02:00
Gustavo Adolfo Mesa Roldán b25fc8bd8d 0.5r7 2020-10-03 07:00:43 +02:00
Gustavo Adolfo Mesa Roldán edccc89586 0.5r7 2020-10-03 06:46:02 +02:00
Gustavo Adolfo Mesa Roldán 6b94a50229 0.5r6 - stable 2020-10-03 05:56:48 +02:00
Gustavo Adolfo Mesa Roldán 2596a6a6fb 0.5r6 - More... 2020-10-03 05:40:11 +02:00
Gustavo Adolfo Mesa Roldán b8cb0defe8 0.5r5 - vmdk run 2020-10-03 05:05:40 +02:00
Gustavo Adolfo Mesa Roldán b10ba9ffee 0.5r4 - Readme 2020-10-03 03:52:10 +02:00
Gustavo Adolfo Mesa Roldán 8ae84ab526 0.5r4 - Readme 2020-10-03 03:33:00 +02:00
Gustavo Adolfo Mesa Roldán 6692024ae1 0.5r4 - Readme 2020-10-03 03:27:35 +02:00
Gustavo Adolfo Mesa Roldán 9a13b0168c 0.5r4 - Readme 2020-10-03 03:26:43 +02:00
Gustavo Adolfo Mesa Roldán 446b6647ed 0.5r4 - Readme 2020-10-03 03:20:12 +02:00
Gustavo Adolfo Mesa Roldán fd40e86308 0.5r4 2020-10-03 03:18:22 +02:00
Gustavo Adolfo Mesa Roldán 2c6f419db8 More extensions and check after to run 2020-10-03 03:01:42 +02:00
Gustavo Adolfo Mesa Roldán 0be7239088 0.5r2 - Exit 0 2020-09-30 19:59:07 +02:00
radikal a460d09a15 rar arch installation fixed 2020-09-30 16:15:55 +02:00
Gustavo Adolfo Mesa Roldán ed3cc63cec 0.5r1 2020-09-30 03:25:51 +02:00
Gustavo Adolfo Mesa Roldán 4a276f5a6d 0.5r1 2020-09-30 03:25:20 +02:00
7 changed files with 192 additions and 140 deletions
+50 -16
View File
@@ -1,4 +1,18 @@
#Linux compressor humanizer # Linux compressor humanizer
## Installation
###### install
```
sudo ./install.sh
```
###### Uninstall
```
sudo ./uninstall.sh
```
## Usage
###### Compress ###### Compress
``` ```
@@ -10,22 +24,42 @@ $ lch file.zip file1 [file2...]
$ lch file.zip $ lch file.zip
``` ```
## Supported extensions ###### Options
- tar ```
- tar.gz $ lch -h - Show help
- tar.bz2 $ lch -v - Print version
- tar.xz $ lch -c - Check compression systems
- bz2 $ lch -i - Install the compressors dependencies
- tgz ```
- gz
- zip
- 7z
- rar
## Install ## Supported extensions
```
sudo ./install.sh ###### Packing/unpacking:
``` - 7z
- bz2
- gz
- rar
- tar
- tar.bz2, tbz, tbz2, tb2
- tar.gz, tgz
- tar.xz, txz
- zip
###### Unpacking only:
- arj
- cab
- dmg
- iso
- lzh
- lzma
- rpm
- squashfs
- vdi
- vhd
- vmdk
- win
- xar
- z
## Testing with docker ## Testing with docker
``` ```
+34 -57
View File
@@ -1,53 +1,16 @@
#!/usr/bin/env bash #!/usr/bin/env bash
VERSION=0.5r0 VERSION=0.5r9
DEST=$1 DEST=$1
shift 1 shift 1
ORIG=$@ ORIG=$@
if [[ -e /usr/lib/lch/resources.sh ]]; then . /usr/lib/lch/resources.sh; else . ./lib/resources.sh; fi
if [[ -e /usr/lib/lch/compressor.sh ]]; then . /usr/lib/lch/compressor.sh; else . ./lib/compressor.sh; fi if [[ -e /usr/lib/lch/compressor.sh ]]; then . /usr/lib/lch/compressor.sh; else . ./lib/compressor.sh; fi
if [[ -e /usr/lib/lch/decompressor.sh ]]; then . /usr/lib/lch/decompressor.sh; else . ./lib/decompressor.sh; fi if [[ -e /usr/lib/lch/decompressor.sh ]]; then . /usr/lib/lch/decompressor.sh; else . ./lib/decompressor.sh; fi
if [[ -e /usr/lib/lch/check.sh ]]; then . /usr/lib/lch/check.sh; else . ./lib/check.sh; fi if [[ -e /usr/lib/lch/installer.sh ]]; then . /usr/lib/lch/installer.sh; else . ./lib/installer.sh; fi
function help()
{
echo "Help:"
echo "-----"
echo ""
echo "lch [-h] [-v] [-c] [-i] [FILE [FILE...]]"
echo ""
echo "Examples:"
echo "$ lch -h - This help"
echo "$ lch -v - Print version"
echo "$ lch -c - Check compresion systems"
echo "$ lch -i - Install the compressors dependencies"
echo "$ lch file.zip - Decompress"
echo "$ lch file.zip /home/file - Compress"
echo "$ lch files.zip file1 file2 - Compress multiple"
echo ""
echo "Supported extensions:"
echo " rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z"
echo ""
echo "Run 'man lch' for more info."
echo ""
}
if [ "$DEST" = "--help" ] || [ "$DEST" = "-h" ] # executer tar -cvf $DEST $ORIG
then
help
exit 0
fi
if [ "$DEST" = "--check" ] || [ "$DEST" = "-c" ]
then
check
exit 0
fi
if [ "$DEST" = "--install" ] || [ "$DEST" = "-i" ]
then
install $DEST $@
exit 0
fi
if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ] if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ]
then then
@@ -56,21 +19,35 @@ then
else else
echo -e "\nlch $VERSION" echo -e "\nlch $VERSION"
echo -e "---------\n" echo -e "---------\n"
fi
if [ -z "$DEST" ] case $DEST in
then "--help" | "-h")
help help
exit 1 ;;
else "--check" | "-c")
if [ -n "$ORIG" ] check
then ;;
echo "Compressor:" "--install" | "-i")
echo -e "-----------\n" install $DEST $@
compressor $DEST $ORIG ;;
else *)
echo "Decompressor:" if [ -z "$DEST" ]
echo -e "-------------\n" then
decompressor $DEST help
fi exit 1
else
if [ -n "$ORIG" ]
then
echo "Compressor:"
echo -e "-----------\n"
compressor $DEST $ORIG
else
echo "Decompressor:"
echo -e "-------------\n"
decompressor $DEST
fi
fi
;;
esac
exit 0
fi fi
+5 -3
View File
@@ -1,4 +1,4 @@
.TH LCH 1 "29 September 2020" .TH LCH 1 "03 October 2020"
.SH NAME .SH NAME
lch \- command\-line compressor and decompressor for humans lch \- command\-line compressor and decompressor for humans
.SH SYNOPSIS .SH SYNOPSIS
@@ -10,9 +10,11 @@ lch \- command\-line compressor and decompressor for humans
simplicity in mind. Automatically select the compression format by file simplicity in mind. Automatically select the compression format by file
extension. extension.
Supported extensions: Packing/unpacking supported extensions:
7z, bz2, gz, rar, tar, tar.bz2, tbz, tbz2, tb2, tar.gz, tgz, tar.xz, txz, zip
rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z Unpacking only supported extensions:
arj, cab, dmg, iso, lzh, lzma, rpm, squashfs, vdi, vhd, vmdk, win, xar, z
.SH OPTIONS .SH OPTIONS
.TP .TP
+9 -14
View File
@@ -1,38 +1,34 @@
#!/usr/bin/env bash #!/usr/bin/env bash
function lowercase()
{
echo "$DEST" | tr 'A-Z' 'a-z'
}
function compressor() function compressor()
{ {
case $(lowercase) in case $(lowercase) in
*.tar) *.tar)
tar -cvf $DEST $ORIG executer tar -cvf $DEST $ORIG
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
tar -czvf $DEST $ORIG executer tar -czvf $DEST $ORIG
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
tar -c $ORIG | bzip2 > $DEST executer tar -c $ORIG | bzip2 > $DEST
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
tar -cJf $DEST $ORIG executer tar -cJf $DEST $ORIG
;; ;;
*.bz2) *.bz2)
bzip2 -c $ORIG > $DEST executer bzip2 -c $ORIG > $DEST
;; ;;
*.gz) *.gz)
gzip -c $ORIG > $DEST executer gzip -c $ORIG > $DEST
;; ;;
*.zip) *.zip)
zip -r $DEST $ORIG executer zip -r $DEST $ORIG
;; ;;
*.7z) *.7z)
7za a $DEST $ORIG executer 7z a $DEST $ORIG
;; ;;
*.rar) *.rar)
rar a $DEST $ORIG executer rar a $DEST $ORIG
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -41,5 +37,4 @@ function compressor()
esac esac
echo -e "\nDone" echo -e "\nDone"
exit 0
} }
+11 -15
View File
@@ -1,37 +1,34 @@
#!/usr/bin/env bash #!/usr/bin/env bash
function lowercase()
{
echo "$DEST" | tr 'A-Z' 'a-z'
}
function decompressor() function decompressor()
{ {
case $(lowercase) in case $(lowercase) in
*.tar) *.tar)
tar -xvf $DEST executer tar -xvf $DEST
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
tar -xzvf $DEST executer tar -xzvf $DEST
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
tar xjf $DEST executer tar xjf $DEST
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
tar -xf $DEST executer tar -xf $DEST
;; ;;
*.bz2) *.bz2)
bzip2 -d $DEST executer bzip2 -d $DEST
;; ;;
*.gz) *.gz)
gzip -d $DEST executer gzip -d $DEST
;; ;;
*.zip) *.zip)
unzip $DEST executer unzip $DEST
;; ;;
*.7z) *.7z | *.arj | *.cab | *.dmg | *.iso | *.lzh | *.lzma | *.rpm | *.squashfs | *.vdi | *.vhd | *.vmdk | *.win | *.xar | *.z)
7za e $DEST executer 7z e -y $DEST
;; ;;
*.rar) *.rar)
unrar x $DEST executer unrar x $DEST
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -40,5 +37,4 @@ function decompressor()
esac esac
echo -e "\nDone" echo -e "\nDone"
exit 0
} }
+7 -32
View File
@@ -1,33 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
function check()
{
local a=false
echo -e "Verification of compression systems:\n"
echo -e "Systems\t\t\tStatus"
echo "----------------------------------"
for i in "rar" "unrar" "tar" "bzip2" "gzip" "zip" "unzip" "7za"
do
if ! [ -x "$(command -v $i)" ]
then
echo -e "$i\t\t\t\e[91mNot Installed\e[0m"
$a = true
else
echo -e "$i\t\t\t\e[32mInstalled\e[0m"
fi
done
if $a
then
echo -e "\nIn order to use all the extensions install the packages: tar, bzip2, gzip, zip, unzip, 7za, rar, unrar"
fi
echo ""
exit 0
}
function rarInstall(){ function rarInstall(){
if [ -e "$(command -v wget)" ] if [ -e "$(command -v wget)" ]
then then
if [[ $(uname -m) -eq "x86_64" ]] if [[ "$(uname -m)" == "x86_64" ]]
then then
RAR_URL="https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz" RAR_URL="https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz"
RAR_FILE="rarlinux-x64-5.9.1.tar.gz" RAR_FILE="rarlinux-x64-5.9.1.tar.gz"
@@ -43,7 +19,7 @@ function rarInstall(){
rm -r rar $RAR_FILE rm -r rar $RAR_FILE
echo "rar/unrar installed." echo "rar/unrar installed."
else else
echo -e "\n\e[91m[Error]\e[0m - Wget is not installed, so rar could not be installed.\nPlease install wget.\n" echo -e "\n\e[91m[Error]\e[0m - wget is not installed, so rar could not be installed.\nPlease install wget.\n"
read -p "Press [ENTER] to continue installing or [CTRL+C] to exit." read -p "Press [ENTER] to continue installing or [CTRL+C] to exit."
fi fi
} }
@@ -54,7 +30,7 @@ function install()
if [ "$UID" != "0" ]; then if [ "$UID" != "0" ]; then
echo " Only root can execute this script, sorry." echo " Only root can execute this script, sorry."
echo " Try 'sudo $0 $@'" echo " Try 'sudo lch $@'"
exit 0 exit 0
fi fi
@@ -76,7 +52,7 @@ function install()
if [ -x "$(command -v apt)" ] if [ -x "$(command -v apt)" ]
then then
echo -e "APT system detected\n" echo -e "APT system detected\n"
apt install -y tar bzip2 gzip zip unzip p7zip-full 1> /dev/null apt install -y tar bzip2 gzip zip unzip p7zip-full p7zip-rar 1> /dev/null
elif [ -n "$(grep "centos" /etc/*-release)" ] elif [ -n "$(grep "centos" /etc/*-release)" ]
then then
echo -e "CentOS system detected\n" echo -e "CentOS system detected\n"
@@ -84,15 +60,15 @@ function install()
rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm 1> /dev/null rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm 1> /dev/null
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 1> /dev/null rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 1> /dev/null
yum repolist 1> /dev/null yum repolist 1> /dev/null
yum install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null yum install -y -q tar bzip2 gzip zip unzip p7zip p7zip-plugins 1> /dev/null
elif [ -x "$(command -v dnf)" ] elif [ -x "$(command -v dnf)" ]
then then
echo -e "DNF system detected\n" echo -e "DNF system detected\n"
dnf install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null dnf install -y -q tar bzip2 gzip zip unzip p7zip p7zip-plugins 1> /dev/null
elif [ -x "$(command -v yum)" ] elif [ -x "$(command -v yum)" ]
then then
echo -e "Yum system detected\n" echo -e "Yum system detected\n"
yum install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null yum install -y -q tar bzip2 gzip zip unzip p7zip p7zip-plugins 1> /dev/null
elif [ -x "$(command -v pacman)" ] elif [ -x "$(command -v pacman)" ]
then then
echo -e "Pacman system detected\n" echo -e "Pacman system detected\n"
@@ -106,5 +82,4 @@ function install()
fi fi
echo -e "\nDependencies installation finished\n" echo -e "\nDependencies installation finished\n"
exit 0
} }
+73
View File
@@ -0,0 +1,73 @@
#!/usr/bin/env bash
function help()
{
echo "Help:"
echo "-----"
echo ""
echo "lch [-h] [-v] [-c] [-i] [FILE [FILE...]]"
echo ""
echo "Examples:"
echo "$ lch -h - This help"
echo "$ lch -v - Print version"
echo "$ lch -c - Check compresion systems"
echo "$ lch -i - Install the compressors dependencies"
echo "$ lch file.zip - Decompress"
echo "$ lch file.zip /home/file - Compress"
echo "$ lch files.zip file1 file2 - Compress multiple"
echo ""
echo "Packing/unpacking supported extensions:"
echo " 7z, bz2, gz, rar, tar, tar.bz2, tbz, tbz2, tb2, tar.gz, tgz, tar.xz, txz, zip"
echo ""
echo "Unpacking only supported extensions:"
echo " arj, cab, dmg, iso, lzh, lzma, rpm, squashfs, vdi, vhd, vmdk, win, xar, z"
echo ""
echo "Run 'man lch' for more info."
echo ""
}
function check()
{
local a=false
echo -e "Verification of compression systems:\n"
echo -e "Systems\t\t\tStatus"
echo "----------------------------------"
for i in "7z" "bzip2" "gzip" "rar" "tar" "unrar" "unzip" "zip"
do
if ! [ -x "$(command -v $i)" ]
then
echo -e "$i\t\t\t\e[91mNot Installed\e[0m"
a=true
else
echo -e "$i\t\t\t\e[32mInstalled\e[0m"
fi
done
if $a
then
echo -e "\nIn order to use all the extensions install the packages."
echo -e "Or use 'lch -i' to install all dependences"
fi
echo ""
}
function lowercase()
{
echo "$DEST" | tr 'A-Z' 'a-z'
}
function error_not_install()
{
echo -e "$@ \e[91mis not installed\e[0m, use 'lch -i' to install and 'lch -c' to check."
exit 0
}
function executer()
{
if [ -x "$(command -v $1)" ]
then
"$@"
else
error_not_install $1
fi
}