I have two related questions in a Linux environment.I am confused when to use backward-slash \ and combining with asterisk *.When I try to run Unzip *.zip the command fails until I escape it. Why is it so?developer@tz:~/f$ bash -versionGNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)Copyright (C) 2013 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later developer@tz:~/f$ unzip *.zipArchive:  abstract.zipcaution: filename not matched:  date-function.zipdeveloper@tz:~/f$ unzip \*.zipArchive:  abstract.zip  inflating: abstract.xsl            Archive:  date-function.zipwarning [date-function.zip]:  zipfile is empty1 archive was successfully processed.1 archive had warnings but no fatal errors.developer@tz:~/f$ ls *.zipabstract.zip  date-function.zipdeveloper@tz:~/f$ ls \*.zipls: cannot access '*.zip': No such file or directoryOn the similar issue regarding one-liner functions.Suppose I have zip files: foo.zip and bar.zip in same directory and I need to extract both; when I do:ls *.zip | xargs -IZIP  basename -s .zip ZIPthe above commands will list: foo and bar on konsole, but when I run:ls *.zip | xargs -IZIP unzip ZIP -d $( basename -s .zip ZIP )it fails to run because when I pass the results of base, it does NOT get a value, hence it fails.When do I use \ or * or combine both when invoking konsole commands?How can I extract the zip file to a directory with its own name?
Understanding Linux Environment backward-slash and asterisk uses
shell script;zip