When reading a manpage for complex tools like rsync, or find, often there are options that imply several other options. Or like with wget the manpage will recommend a several options together for a certain situation. So consider this excerpt:

… Actually, to download a single page and all its requisites (even if they exist on separate websites), and make sure the lot displays properly locally, this author likes to use a few options in addition to -p:

wget -E -H -k -K -p http://<site>/<document>

At that point interested readers are essentially driven to do four separate searches on that manpage to chase down each of those options. So I hit: HOME / -E. Got lucky because the first match just happened to be the -E option and not chatter about “Content-Encoding”.

Then what? I forgot all options I need to search for and lost my starting place, so I had to browse/search back to where I was to learn that I next need to search for -H. Then I hit: HOME / -H. It brings me to an irrelevant match on “non-HSTS-compliant”. So I must hit / ENTER many times until I reach the right position. Searching for -k is tedious too. …And so on…

With rsync the -a: “archive mode is -rlptgoD (no -A,-X,-U,-N,-H)”. Rsync is not a disaster though as they took care to summarize all options with a one-liner in one place.

Anyway, unless I am missing a trick¹, it seems there must be a lot of time waste with users having to jump around using a dicey search mechanism prone to false positives.

¹ In the course of writing this rant, I discovered I could search the rsync man page by doing /-a\>, which at least skips past many false hits by specifying a word boundary. Still more tedious than it has to be though.

  • LibreMonk@linkage.ds8.zoneOP
    link
    fedilink
    arrow-up
    1
    ·
    6 days ago

    The tldr app is in Debian official repos so I installed it with apt tools. From there, it failed me:

    $ tldr wg
    Downloading tldr pages to ~/.local/share/tldr
    tldr: HttpExceptionRequest Request {
      host                 = "tldr.sh"
      port                 = 443
      secure               = True
      requestHeaders       = []
      path                 = "/assets/tldr.zip"
      queryString          = ""
      method               = "GET"
      proxy                = Nothing
      rawBody              = False
      redirectCount        = 10
      responseTimeout      = ResponseTimeoutDefault
      requestVersion       = HTTP/1.1
      proxySecureMode      = ProxySecureWithConnect
    }
     (ConnectionFailure Network.Socket.getAddrInfo (called with preferred socket type/protocol: AddrInfo {addrFlags = [], addrFamily = AF_UNSPEC, addrSocketType = Stream, addrProtocol = 0, addrAddress = 0.0.0.0:0, addrCanonName = Nothing}, host name: Just "tldr.sh", service name: Just "443"): does not exist (Temporary failure in name resolution))
    

    Looks like it needs cloud access. My gear only works on Tor, so then I tried it this way:

    $ torsocks tldr wg
    No tldr entry for wg
    $ torsocks tldr wget
    No tldr entry for wget
    $ torsocks tldr find
    No tldr entry for find
    $ torsocks tldr rsync
    No tldr entry for rsync
    $ torsocks tldr -u
    Downloading tldr pages to ~/.local/share/tldr
    tldr: Data.Binary.Get.runGet at position 4: Did not find end of central directory signature
    CallStack (from HasCallStack):
      error, called at libraries/binary/src/Data/Binary/Get.hs:351:5 in binary-0.8.8.0:Data.Binary.Get
    

    Also checked for kmdr but that’s not in the official debian repos, which I try to stick to. I appreciate the tips though.