[rešeno] BASH alias za 7-Zip

Torej, v datoteki ".bashrc" bi rad ustvaril aliasa za sledeča ukaza, vendar ne vem točno, kako bi to izpeljal, da bi delovalo:

Ukaz za stiskanje mape:
tar cf - mapa/ | 7za a -si -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on mapa.tar.7z


Razširjanje mape:
7za x -so mapa.tar.7z | tar xf

Komentarji

  • ne vem če lahk alias sprejme 'dinamične' parametre (v tvojem primeru mapa) in ne vem če lahko alias sprejme presledke :)
    če bi mel neki v smislu

    alias tarITbaby ='tar cf - mapa/ 7za a -si -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on /home/neka/mapa.tar.7z'
    bi šlo..sam drugač... po moje da ne ..

    bomo vidli kaj drugi pravijo :)
  • Ne, BASH aliasi ne sprejemajo parametrov, zato je potrebno aliase, ki uporabljajo parametre spremeniti v funkcije.
  • OK, našel sem rešitev s pomočjo @lynxlynxlynx-a na #lpn irc kanalu.

    # Alias 7-zip: arhiviranje mape
    7zipa() {
    tar cf - \"$1\"/ | 7za a -si -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on \"$(basename \"$1\")\".tar.7z;
    }


    # Alias 7-zip: razširjanje mape
    7zipe() {
    7za x -so \"$1\" | tar xf -;
    }


    Razlog za izbiro tovrstnega ukaza 7-zip tiči v sledeči razlagi v dokumentaciji:
    Backup and limitations
    DO NOT USE the 7-zip format for backup purpose on Linux/Unix because :
    - 7-zip does not store the owner/group of the file.

    On Linux/Unix, in order to backup directories you must use tar :
    - to backup a directory : tar cf - directory | 7za a -si directory.tar.7z
    - to restore your backup : 7za x -so directory.tar.7z | tar xf -
  • BigWhale Član Ubuntu.si
    Se ti res splaca tale telovadba, da bos prihranil tistih nekaj procentov prostora? :)
  • Typhon Član
    uredil/-a 14. April, 2011
    Splača se mi, ker imam 10 let star PC in pomanjkanje prostora na disku. :) Varnostna kopija /etc imenika je po arhiviranju znašala borih 1.6 MB!
Za komentiranje se prijavite ali pa se vpišite.