[HN Gopher] Command Line Tools I Like (2022)
       ___________________________________________________________________
        
       Command Line Tools I Like (2022)
        
       Author : yu3zhou4
       Score  : 71 points
       Date   : 2024-10-09 19:27 UTC (3 hours ago)
        
 (HTM) web link (rwblickhan.org)
 (TXT) w3m dump (rwblickhan.org)
        
       | netol wrote:
       | exa is abandoned. There is now a maintained fork called eza:
       | https://github.com/eza-community/eza
        
         | yu3zhou4 wrote:
         | I just ran `brew install eza` and I'm overwhelmed with amount
         | of dependencies it installs. Among many others - openjdk, qt,
         | node - what is going on?
        
           | quadhome wrote:
           | You're likely running on an old version of MacOS that isn't
           | able to use the precompiled binaries. So, brew is installing
           | all the dependencies necessary to build eza from scratch.
           | 
           | Intel-era Mac?
        
             | yu3zhou4 wrote:
             | MacBook Air M2 2022, macOS Sequoia 15.0
        
             | IshKebab wrote:
             | But why would it need all of those dependencies?
        
               | groby_b wrote:
               | Because all dependency managers at some point devolve to
               | "install ocean, then boil ocean".
               | 
               | (If you care, "brew deps <package> --tree" will tell
               | you.)
        
               | yu3zhou4 wrote:
               | brew deps eza --tree prints:
               | 
               | eza
               | 
               | +-- libgit2                   +-- libssh2              |
               | +-- openssl@3              |       +-- ca-certificates
               | +-- openssl@3                  +-- ca-certificates
        
               | jasonpeacock wrote:
               | Because most of those are dependencies required to
               | _build_ the actual dependencies.
               | 
               | There's (generally) 4 types of dependencies:
               | - Toolchains (frameworks, compilers)         - Build
               | (headers and libraries)         - Runtime (libraries)
               | - Test (frameworks, headers, libraries)
               | 
               | And those dependencies all bring their own
               | dependencies...
        
       | skdd8 wrote:
       | I love ranger: https://github.com/ranger/ranger It is a file
       | manager inspired by vim and midnight-commander.
        
       | petepete wrote:
       | xh is a clone of httpie written in Go, it's a little snappier if
       | that's important to you.
        
       | gigatexal wrote:
       | Zoxide looks really cool
        
         | kstrauser wrote:
         | I adore it. `z <project I'm working on>` is my brain's
         | hardwired shortcut to get back to what I was doing.
         | 
         | Pair it with dotenv to automatically set my my shell
         | environment for that project, _whatever_ it is I 'm doing at
         | the moment, and it's _sooo_ ergonomic to bounce around between
         | tasks.
        
         | elmariachi wrote:
         | It is! It's saved me quite a bit of typing since I started
         | using it.
        
         | stared wrote:
         | It is a simple tool, yet it makes a day-and night difference
         | when traversing directories.
        
       | AtlasBarfed wrote:
       | IS EXA PARSEABLE????!!!???
       | 
       | It's a slowly developing trend, but I also wish that a --json
       | output flag was a part of all cli utility output.
       | 
       | Tldr sounds interesting. Man pages are awful for quick reference.
       | At this point it should be possible to collect the statistically
       | ranked most common example usages of commands and provide them,
       | especially if there are very very common associated commands that
       | are piped with them.
        
         | dingnuts wrote:
         | I tried out tldr a few years back and in practice tldr never
         | seemed to have what I want in it
         | 
         | now, for the same use case, I search for the man page on Kagi,
         | use the LLM "ask this page questions" feature to ask the man
         | page how to do what I want, and then ctrl-f with the flags it
         | outputs and read the man page entries for those to ensure no
         | hallucinations.
        
       | KneeAwn wrote:
       | I love these tools. A few more I like are: eget - good for
       | getting these little tools (https://github.com/zyedidia/eget)
       | dust - fd is to find as dust is to du
       | (https://github.com/bootandy/dust) yank - nice to quickly copy
       | things from the command line (https://github.com/mptre/yank)
        
         | jftuga wrote:
         | eget looks great! Thanks for mentioning it.
        
       | terminaltrove wrote:
       | If you're looking for more or new tools, we have lots at Terminal
       | Trove and continuously add new ones.
       | 
       | https://terminaltrove.com/new/
       | 
       | https://terminaltrove.com/tool-of-the-week/
       | 
       | Every tool added has images/gifs and a quick way to install it.
       | 
       | We love this list and sponsored the development of fd which we
       | heavily use ourselves!
        
         | Diti wrote:
         | Your website recommends using `nix-env` to install tools. This
         | hasn't been the recommended way for a while. It should either
         | be installed declaratively, used in a shell without installing,
         | or be installed using `nix profile`.
        
           | terminaltrove wrote:
           | Oh right, we didn't know this, most of the tools install
           | guides have nix-env like fd, lychee, gtrash, etc and others
           | we listed which we just use for installation.
           | 
           | https://github.com/lycheeverse/lychee?tab=readme-ov-
           | file#nix...
           | 
           | https://github.com/sharkdp/fd?tab=readme-ov-file#on-nixos--
           | v...
           | 
           | https://github.com/umlx5h/gtrash?tab=readme-ov-
           | file#nixpkgs-...
           | 
           | Thanks for the heads up!
        
       | jasonpeacock wrote:
       | I really enjoy `glow`, it makes me smile when I use it:
       | 
       | https://github.com/charmbracelet/glow
       | 
       | It's a commandline markdown viewer/renderer.
        
       | donatj wrote:
       | Eternal Terminal `et` when we worked from an office where our
       | connection would drop regularly was a life saver. It's like Mosh
       | but less opinionated and doesn't interfere with scrollback.
       | 
       | https://eternalterminal.dev/
       | 
       | Probably goes without saying, but for anyone who doesn't know
       | about it, `jq` is life changing, was kind of surprised not to see
       | it. It's a sort of query language for querying JSON blobs. I use
       | it almost every single day. It's indispensable.
       | 
       | https://jqlang.github.io/jq/
        
         | ExtremisAndy wrote:
         | I have never heard of "jq". Oh my goodness. Your comment may
         | have just changed my life. I cannot emphasize enough how many
         | times I have needed a tool like this (and, yes, shame on me for
         | not making a better effort to find one). Thank you!
        
       | jftuga wrote:
       | I've recently made a new command line tool:
       | 
       | https://github.com/jftuga/DateTimeMate
       | 
       | Golang package and CLI to compute the difference between date,
       | time or duration
       | 
       | Here is a more detailed announcement:
       | 
       | https://news.ycombinator.com/item?id=41058826
        
       ___________________________________________________________________
       (page generated 2024-10-09 23:00 UTC)