• ɐɥO
    link
    fedilink
    90
    edit-2
    8 months ago

    I remember it like this:
    tar -extract ze file
    and
    tar -compress ze file

  • @blackstrat@lemmy.fwgx.uk
    link
    fedilink
    English
    558 months ago

    I hope whoever thought -l should mean “check links” instead of list has a special place in Hell set aside for them.

    I have no idea what print a message if not all links are dumped even means.

  • Maoo [none/use name]
    link
    fedilink
    English
    368 months ago

    No no it’s this:

    1. Decide you’ve gotta use tar.

    2. man tar

    3. Guess-and-check the flags until it seems to work.

    4. Immediately forget the flags.

    • bahmanm
      link
      fedilink
      English
      108 months ago

      That was my case until I discovered that GNU tar has got a pretty decent online manual - it’s way better written than the manpage. I rarely forget the options nowadays even though I dont’ use tar that frequently.

    • CarbonScored [any]
      link
      fedilink
      English
      2
      edit-2
      8 months ago

      As much as I also do step 4, to be honest I don’t see people use man anywhere near as much as they should. Whenever faced with the question “what are the arguments for doing xyz”, I immediately man it and just tell them - Practically everywhere you can execute a given command, you can also read full and comprehensive documentation, just look!

  • @Zacryon@feddit.de
    link
    fedilink
    308 months ago

    Ah yes, that’s the linux community as I know it. There is one thing someone wants to achieve and dozens of ways to do it. ;)

  • wvstolzing
    link
    fedilink
    208 months ago

    Those are straightforward; it’s the remaining 900 options that are confusing. I always need to look up --excludes and always get --directory wrong, somehow.

  • aard
    link
    fedilink
    198 months ago

    You also don’t need the dash for the short options.

    Also, if you’re compressing with bzip2 and have archives bigger than a few megabytes I’ll like you a lot more if you do it with --use-compress-prog=pbzip2

    • @sebastiancarlosOP
      link
      30
      edit-2
      8 months ago

      You also don’t need the dash for the short options.

      True, but I refuse to entertain such a non-standard option format. It’s already enough to tolerate find’s.

      • aard
        link
        fedilink
        178 months ago

        Technically the notation with dashes is the non-standard one - the dash form is a GNU addition. A traditional tar on something like Solaris or HP-UX will throw an error if you try the dash notation.

        • @sebastiancarlosOP
          link
          258 months ago

          It’s also traditional to eat raw meat, but we discovered fire at some point.

          • aard
            link
            fedilink
            88 months ago

            Don’t try to take my raw ground pork away from me.

            • Lvxferre
              link
              fedilink
              38 months ago

              my raw ground pork away from me.

              Who are you, the Mett demon?
              Matt Damon made out of mett\

              (It works great with beef, too. Bonus points for the raw yolk over it. If not homemade though there’s literally one bar that I trust with this, salmonella is not fun.)

              • aard
                link
                fedilink
                28 months ago

                Not enough onions. Your average mettigel has better mett/onion ratio.

            • Leo
              link
              fedilink
              English
              18 months ago

              That’s an audible “yuck” from me, man. Well done!

        • TheSaneWriter
          link
          fedilink
          English
          18 months ago

          I like the dashes, they make the options look like options to me.

    • @killeronthecorner@lemmy.world
      link
      fedilink
      108 months ago

      You also don’t need the dash for the short options.

      You know when you meet someone and you’re just like “oh boy, yeah, they’re evil. No humanity at all”

    • Programmer Belch
      link
      fedilink
      English
      28 months ago

      I think the -j also compresses with bzip2 but I’m not sure if this is defined behavior or just a shortcut

      • @tony@lemmy.hoyle.me.uk
        link
        fedilink
        English
        38 months ago

        There’s nothing technically wrong with using xjf rather than xzf, but it’ll bite you if you ever use a non-linux platform as it’s a GNU extension. I’m not even sure busybox tar supports it.

      • aard
        link
        fedilink
        38 months ago

        Yes, but I’m asking you to use pbzip. bzip at best utilizes one core, both for packing and unpacking. pbzip uses as many cores as IO bandwith allows - with standard SATA SSDs that’s typically around 30.

        pbzip can only utilize multiple cores if the archive was created with it as well.

          • Programmer Belch
            link
            fedilink
            English
            38 months ago

            I’ve searched for it and xz also doesn’t use multithreading by default, you can change the program tar uses to compress by passing the -I option. For xz using all possible CPU threads:

            tar -cv -I 'xz -6 -T0' -f archive.tar.xz [list of directories]

            The number indicates the compression ratio, the higher the number, the more compressed the archive will be but it will cost more in terms of memory and processing time

            • TheSaneWriter
              link
              fedilink
              English
              28 months ago

              Thanks for answering your own question, this is useful information.

  • @miniu@programming.dev
    link
    fedilink
    188 months ago

    Why when explaining, giving examples of shell command are people so often providing shortened arguments. It makes it all seam like some random letters you have to remeber by heart. Instead of -x just write --extract. If in the end they endup using the tool so often they need to write it fast they’ll check the shortcuts.

    • @catacomb@beehaw.org
      link
      fedilink
      English
      7
      edit-2
      8 months ago

      I don’t even mind the shortened arguments too much, though it doesn’t help. It’s more that every example seems to smush them together into a string of letters.

      I would have found

      tar -x -f pics.tar ./pics

      to be clearer when I was learning. There’s plenty of commands which allow combining flags but every tar tutorial seems to do it from the beginning.

        • @barsoap@lemm.ee
          link
          fedilink
          48 months ago

          tar -xf is not really special combining short options isn’t uncommon.

          Where tar is nonstandard is that you can leave out the -, tar xf is actually how POSIX specifies it. And we’ve kinda come full circle on that one with many modern utilities using a command syntax, you can read tar xf as “tar extract file” just as you can read git pull as, well, “git pull”.

          If you want to see a standard command with truly non-standard syntax have a look at dd.

      • @sonnenzeit@feddit.de
        link
        fedilink
        6
        edit-2
        8 months ago

        Many do as it’s considered good practice, but it’s not guaranteed, it just depends on the individual command (program). Usually you can use the --help option to see all the options, so for instance tar --help.

      • @Zangoose@lemmy.one
        link
        fedilink
        48 months ago

        Most commands will have expanded arguments started with 2 dashes that usually look like ‘–verbose-name-of-option’, they’re usually listed in the man page/documentation along with the abbreviated letter version

    • @ExLisper@linux.community
      link
      fedilink
      English
      08 months ago

      They are random letters you have to learn by hard. No one uses the long form. If someone just needs to use it one time they will copy the line from somewhere.

  • @Gecko@lemmy.world
    link
    fedilink
    English
    168 months ago

    Or just use long-forms like

    tar --create --file pics.tar ./pics
    

    instead of

    tar -cf pics.tar ./pics
    

    or

    tar --extract --file pics.tar```
    instead of
    

    tar -xf pics.tar

    
    which is honestly way easier to remember... \^\^
  • @d00phy@lemmy.ml
    link
    fedilink
    158 months ago

    The “-“ is often not necessary. I use it as a guide to see how long the person running tar has been using it.

    Example:

    tar -xf file.tar == tar xf file.tar

    • Fushuan [he/him]
      link
      fedilink
      English
      5
      edit-2
      8 months ago

      They are functionally flags though and uniletter flags should be preceded by a ‘-’, so I would still prefer to have the ‘-’ written, because it conforms with the standard.

  • @gibson@sopuli.xyz
    link
    fedilink
    158 months ago

    I don’t think tar is actually hard, we are just in the time where we externalize more information into resources such as Google. Its the same reason why younger people don’t remember routes by name or cardinal direction as much anymore.

    side note: $ tldr is much better than man for just getting common stuff done.

    • Aatube
      link
      fedilink
      98 months ago

      Yes, but still tar options are kinda janky.

  • @nucleative@lemmy.world
    link
    fedilink
    138 months ago

    I have to Google for this everytime. What I can never remember is how to check whether I should put my tar.gz into the subfolder first or risk getting a thousand files sprayed into my homedir.

  • @arc@lemm.ee
    link
    fedilink
    11
    edit-2
    8 months ago

    I know the basics off by heart. Not the hardest command syntax to learn all things considered.

    The most annoying would be the growing collection of “uber commands” which are much more of a pain in the ass - aws, systemctl, docker, kubectl, npm, cargo, etc. - the executable has potentially dozens of subcommands, each of which has dozens of parameters.

    • stilgar [he/him]
      link
      fedilink
      English
      68 months ago

      These “uber commands” tend to be much better since they are more explorable with --help explanations and readable flags.

      Much better than the random jumble of characters you’re expected to have memorised for awk, sed, find et al.

      • @arc@lemm.ee
        link
        fedilink
        48 months ago

        Powershell is horrible all right. What annoys me is they alias ls, dir and other common commands onto commands which don’t act or behave in the same way at all. I just run bash or command prompt rather than deal with the bs of powershell.

    • @arc@lemm.ee
      link
      fedilink
      38 months ago

      tar was originally was for tape archiving so it’s just a stream of headers and files which end up directed to a file or a device. It’s not well ordered, just whatever file happens to be found next is the next in the stream. When you compress the tar this stream it’s just piped through gzip or bzip2 on its way.

      The tradeoff for compressing this way is if you want to list the contents of the tar then you essentially have to decompress and stream through the whole thing to see what’s in it unlike a .zip or .7z where there would be a separate index at the end which can be read far more easily.