Been using the CLI more and more and for whatever reason it gives me more dopamine than using apps with a GUI and I’m curious about what else is out there since I was a windows user til 6 months ago.

Discovering ish and the ability to use alpine linux on my iphone, also has me curious if there is anything useful/fun out there that isn’t openssh, ranger, and ffmpeg. (a-shell is still updated and comes with those two by default but doesn’t have access to alpine repo and apk, uses its own iphone based thing) Tho im curious about cli tools/apps in general to use on my pc or over ssh, not just those that could be installed on my phone

I mostly use ffmpeg to convert video and compress stuff for size limits (so I can convert before sftp when away from my pc after the render finishes) Ranger file manager on phone since it can easily exit at a path, and yazi with the shell script that lets it exit at whatever path your on on pc.

Will update this list as people comment.

  • Conversion/Compression: ffmpeg
  • Email: mutt, neomut
  • File management: mc, nnn, ranger, yazi, sfm
  • File editor: vim, neovim
  • Git: lazygit
  • Piracy: ani-cli (anime) rip (music)
  • Pdf Management: pdftk (pdftk-idk, or stapler)
  • Python: rich, pythondialog, textual
  • Docker management : lazydocker
  • Performance monitor: btop, nvtop (nvidia), ncdu (disk usage)
  • Network management: nmtui
  • Web browser : browsh (firefox backend)
  • Video downloader: yt-dlp
  • Shell scripts: dialog, whiptail
  • Misc: netpbm (plaintext image creation) If you can’t comment this post seems to be bugged for me at least, says I’ve deleted it and I can’t reply to anyone.
  • Mordikan@kbin.earth
    link
    fedilink
    arrow-up
    2
    ·
    2 months ago
    1. lazydocker: terminal based docker management
    2. ncdu: disk usage analyzer
    3. nmtui: terminal based network management
    4. browsh: terminal based web browser with headless Firefox backend
  • Decker108@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    2 months ago

    My list is a bit software developer-centric, but can be useful for development-adjacent tasks too.

    • The Github CLI - great for doing routine GH work, like opening PRs or filing issues.
    • glab - ditto for Gitlab.
    • jq - JSON parsing, formatting, searching and modification.
    • pup - like jq, but for HTML pages.
    • sed - A powerful text find-and-replace tool with regular expressions.
    • scp - File transfers over SSH.
    • xargs - run a command for every line of output from another command. Great for automating manual tasks.
    • curl - make any type of HTTP (and many other protocols) request from the command line.
    • tar - compress/uncompress archive files.
    • pwgen - generate passwords with lots of options.
    • uuidgen - generate universally unique ids.
    • exiftool - read and modify image/video/audio file metadata. Good for adding/editing tags/albums/dates/etc.
  • Maiq@lemy.lol
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    nvtop : visualize nvidia GPU usage and memory

    top : monitor/manage processes although ps aux | grep appName is still my goto.

    pyenv : easily install and use any python version

    ipython : a customizable python interpreter. I have figured out many poorly modules using ipython and great for exploring modules.

    Import psutil as ps
    
    ps.#then hit tab
    
    

    after hitting tab will show all attributes related to your imported module, use arrow keys to select methods == profit!

    nethogs : monitor network connections by app.

    firejail : app sandboxing

  • Zikeji@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    Ripgrep (rg) instead of grep or ack. Stupid fast.

    yt-dlp since I don’t see it mentioned.

    Drop tmux and use zellij (if you are scared of tmux, zellij is easier to learn IMO).

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 months ago

    Git: lazygit
    Docker management : lazydocker

    Well, seeing them in the list like that rubs me the wrong way. 😅

    Both of those come with a CLI, called git and docker respectively, which is the official way of using them. These CLIs might not be particularly sexy, depending on who you ask, but they’re decent enough and worth learning, even if you go the lazy* route, since online resources all just explain the official CLIs and you might find yourself one day administering remote systems where you can’t install additional software…

  • cally [he/they]@pawb.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 months ago

    things i use:

    • gitui . terminal UI for git (like lazygit)

    • helix . modal text editor similar to vim, but with less configuration required

    • eza . basically ls but with some more features

  • www-gem@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    2 months ago

    I rely on cli tools for a lot of things too. Here’s a list:

    tmux: terminal multiplexer
    zsh (with fzf zsh completion): shell
    fzf: fuzzy finder
    doas: sudo replacement
    bat: cat replacement
    fd: find replacement
    advcpmv: cp/mv replacement
    eza: ls replacement
    zenith: htop replacement
    trash-cli: trash management
    neomutt: email client
    neovim (and plugins): text/code editor
    buku: internet bookmarks manager
    tut: mastodon client
    ucollage: image viewer
    udevil: (un)mounting removable devices and networks without a password
    magic-tape: youtube search/download and more
    rofi: used with scripts to do a lot of things
    pass: password manager
    yazi: file explorer
    iwd: wireless manager
    ikhal: calendar and webdav sync with vdirsyncer
    taskjuggler: complete task manager
    newsboat: feed aggregator
    fwupd: firmware updater
    chawan: web browser
    ncmpcpp: mpd-client

    I have some of them detailed here.
    This GitHub also has a long list.

  • harsh3466@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    zoxide. It’s cd but better. It remembers which directories you’ve navigated to, and fuzzy finds them.

    So instead of typing:

    cd /really/long/path/to/sime/dir

    You can type:

    zoxide dir

    And it’ll take you right to the directory.

    I’ve got it aliased to zd so I type:

    zd dir

    And I’m there.

  • GrappleHat@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    Unpopular opinion maybe: many of the suggestions here are not worth the time.

    Buy I’ll add one to the mix: yt-dlp I use a lot to download YouTube videos. Very robust.

    • dil@lemmy.zipOP
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      Feel free to tell them why and help fill us in on whats better lol, im sure no one minds finding better, or is it because youd rather use an app or website?

  • TootSweet@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    I’m a big fan of jq. It’s a domain-specific language for manipulating JSON data.

    ImageMagick is like ffmpeg but for images.

    inotify-tools has command-line utilities that can be used in a Bash script or a Bash one-liner to make arbitrary things “happen” when something “happens” to a file or directory. (Then the file is opened or written to or renamed or whatever.)

    I probably should mention rsync. It’s like a swiss army knife for copying files from one place to another. And it supports “keeping files syncronized” between two locations.

    Of course, there’s tons of stuff that you pretty much can’t talk about Bash scripting without mentioning. Sed, awk, grep, find, etc.

    Also, I totally relate about the terminal giving more dopamine. I kinda just hate going on a point-and-click adventure to do things like image editing or whatever. To the point that I’ve written a whole-ass domain-specific-language to do what I want rather than use Gimp. (And I’m working on another whole-ass domain-specific-language to do a traditionally-GUI-app sort of task.)

    • Badabinski@kbin.earth
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      A bunch of GNU tools have added JSON output and it’s so good. Like, GNU column can take tabular data and convert it into JSON really easily. It’s like the perfect text stream.

    • EarlGrey@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      Amazing tool but sadly abandoned and slowly getting more and more unstable and difficult to build

      The better options:

      • Stapler (which also hasn’t been updated in a few years) is a version implemented in python
      • pdftk-idk is a slightly more active implementation in java