DEV Community

Cover image for ✨Be a 10X Linux User with these tools 😎💫

✨Be a 10X Linux User with these tools 😎💫

Shrijal Acharya on November 29, 2023

TL;DR This article lists six great tools for developers to install on their Linux machines. 🎉 Feel free to explore these tools, and sta...
Collapse
 
ldrscke profile image
Christian Ledermann

McFly McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network.
Oh My ZSH! Unleash your terminal like never before.

Collapse
 
dmitridon profile image
Dmitri Don

Can you provide few use cases where Oh My ZSH unleashes the terminal like never before? :) I installed it, but only pressing Y to update it every time i start the terminal... Never had time to research why I really installed it, but someone recommended to get it :)

Collapse
 
lopis profile image
Joao L.

There's many little things, but one of the best quality of life improvements of zsh is the vastly improved tab-completion.

Thread Thread
 
dmitridon profile image
Dmitri Don

Ok, tried to press Tab twice, got selectable list of directories... ok, pretty cool, but only for one level, after selecting on directory, had to double Tab again for the next level....

Collapse
 
ldrscke profile image
Christian Ledermann
Collapse
 
moopet profile image
Ben Sinclair

It's important to note that if you use ngrok in your job, you need to pay for a license per-seat.

I've personally not seen the appeal of exa beyond its git integration. Everything else people talk about it doing is done by GNU grep anyway!

Collapse
 
shricodev profile image
Shrijal Acharya

About Exa, I use it with an alias, so I don't need to use the command exa ..., I just use ls as I used to, and it will use exa under the hood. Exa's output looks appealing and is good to work with, and the git integration is a cherry on top.

alias ls='exa -al --color=always --group-directories-first'
alias la='exa -a --color=always --group-directories-first'
alias ll='exa -l --color=always --group-directories-first'
alias lla='exa -la --color=always --group-directories-first'
Enter fullscreen mode Exit fullscreen mode
Collapse
 
moopet profile image
Ben Sinclair • Edited

Those arguments are all copied from GNU ls anyway, so you could do the same thing with alias ls='ls -al --color=always --group-directories-first.
Is there a difference in the output that couldn't be configured with flags or setting environment variables like LSCOLORS, etc.?

And what's the difference between ls and lla?

Thread Thread
 
shricodev profile image
Shrijal Acharya

That's a customization specific to me. Just ignore that. I use ls and lla interchangeably sometimes. 🥴

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

One tool that has helped me enormously with keeping my mind on the right topic is atuin, which makes it a lot easier to find old commands, so instead of trying to sift through my history and losing track of my actual task, I can just fuzzy-find stuff without wasting too much thought of it.

And speaking of tasks, I've recently started using taskwarrior and timewarrior to track what needs to be done and how much time I spend on it. I even have it integrated into my zsh prompt so any active task is listed there because otherwise I'd just get distracted and leave the timer running while doing something completely unrelated.

Collapse
 
shricodev profile image
Shrijal Acharya • Edited

My way of searching history was to use hs | fzf, where hs is an alias for the history command. Atuin is definitely going to come in handy. I am a WSL guy, and for now, my approach works well for me. I don't want to add too many tools to the system as it's already a bit slower.

Collapse
 
ndrone profile image
Nicholas Drone

The last 2 just seem to pretty up the existing commands, I probably won't use since the flags are hardcoded in my brain from years of use. Instead of Z I use autojump github.com/wting/autojump may not have all the features of Z but I'm commonly somewhere in my home directory anyway.

Collapse
 
shricodev profile image
Shrijal Acharya

autojump definitely seems to be a great alternative to z. z seems to be unmaintained for years. I guess it's time to switch for me as well. I am surprised they both have the same star count. 😆

Collapse
 
sebastianccc profile image
Sebastian Christopher • Edited

If anyone is interested there is also zoxide 💿 And it looks to be active maintained, and build in Rust.

Collapse
 
hypnoglow profile image
Igor Zibarev

I second this, zoxide is just superior to z, autojump, and else.

Collapse
 
proteusiq profile image
Prayson Wilfred Daniel

Nice 👌🏾. I found bat, cat with wings, enriching my terminal life.

Collapse
 
shricodev profile image
Shrijal Acharya

Such a handy tool. Added to my toolkit. Now, no more 'cat' only 'bat'. 😆

Collapse
 
pxlmastrxd profile image
Pxlmastr

Great post! I personally use both fd and fzf in my workflow, so glad to see that fzf is up there.

Collapse
 
shricodev profile image
Shrijal Acharya

fzf is a pretty handy little tool that definitely speeds up my daily workflow. It had to be mentioned! 😉

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

I only started using fzf sometime around early 2023 but it's already become a central part of how I use linux.

When I want to open a project, I just type p projectname which lists all git repos in my $HOME/workspace and lets me fuzzy-find the one I want. Then I edit a file by typing e filename which does the same but for files and opens them in nvim. I even use it to check out git branches. Great tool! 👍💖

Thread Thread
 
shricodev profile image
Shrijal Acharya

fzf is a must-have gem for any Linux user I guess. 😉

Collapse
 
ricventu profile image
Riccardo Venturini • Edited

You should try this awesome alias (require bat):

alias fzf='fzf --preview "bat --color=always --style=header,grid --line-range :500 {}"'

Collapse
 
shricodev profile image
Shrijal Acharya

Great one! Added.

Collapse
 
lovestaco profile image
Athreya aka Maneshwar • Edited

I like localtunnel more, which gives you the flexibility to make your subdomain.

Collapse
 
shricodev profile image
Shrijal Acharya

I've never tried that before. I guess I need to give it a try. Thank you for sharing!

Collapse
 
linuxguist profile image
Nathan S.R.

Nice List. Thanks for the thoughtful composition.

Collapse
 
shricodev profile image
Shrijal Acharya

Glad I could help! 🙌

Collapse
 
pavlosisaris profile image
Paul Isaris

Very nice list, actually helpful tools! Thanks!

Collapse
 
shricodev profile image
Shrijal Acharya

🙌

Collapse
 
grantcarthew profile image
Grant Carthew

Exa was good, replaced with github.com/lsd-rs/lsd

Collapse
 
shricodev profile image
Shrijal Acharya

So many alternatives! 🥴 Exa, Eza, or LSD

Collapse
 
alexr profile image
Alex (The Engineering Bolt) ⚡

@shricodev what service are you using to generate these animated hero images. Love them, they look really cool!

Collapse
 
shricodev profile image
Shrijal Acharya

For the image I use lexica.art. It contains AI stock images and I pick one that suits the blog title. For the animation leiapix works absolutely perfectly. I hope this helps you and maybe someone who has the same question.

Collapse
 
code42cate profile image
Jonas Scholz

I've seen a few cover gifs like yours, how did you create it? Looks nice:)

Collapse
 
shricodev profile image
Shrijal Acharya

Jonas, I have mentioned the same in @alexr comment. Could you check that out? I'm glad you liked it.

Collapse
 
ireznik profile image
Ilja Reznik • Edited

Exa is discontinued.
Community fork is eza
If you want to have a synched shell history you can try
atuin

Collapse
 
shricodev profile image
Shrijal Acharya

I have mentioned about eza in Exa. atuin seems to be a great tool. Would love to give it a try!

Collapse
 
metammodern profile image
Buniamin Shabanov

Oh, oh! You used convert.leiapix.com for the top image! Nice!

Collapse
 
shricodev profile image
Shrijal Acharya

Yes, sir! 😄

Collapse
 
nylzen profile image
Nelson

Good! I'll try z and exa! Thanks for sharing

Collapse
 
shricodev profile image
Shrijal Acharya

Glad to hear that Nelson! 😀

Collapse
 
ori75660 profile image
Ori Roza

great article!

Collapse
 
shricodev profile image
Shrijal Acharya

Thank you, Ori! 😀

Collapse
 
gerimate profile image
Geri Máté

Awesome list! Knew it was gonna be great when I saw Ngrok mentioned first

Collapse
 
shricodev profile image
Shrijal Acharya • Edited

Absolutely! Ngrok is a game-changer. How could I not mention it right? 😉 I think it's a must-have tool for easily exposing local servers and testing webhooks. What's been your standout experience with it so far?

Collapse
 
shekharrr profile image
Shekhar Rajput

I can relate to you sir, In our final year we used ngrok to showcase our project in a hackathon.

Collapse
 
shricodev profile image
Shrijal Acharya

We somehow had a similar first experience with ngrok!

Collapse
 
gabitchov profile image
PASCUAL Gabriel

Nice tools. I will try eza and ranger that look very helpful

Collapse
 
shricodev profile image
Shrijal Acharya

Please do give them a try. 😀

Collapse
 
shradhhu_53 profile image
Shraddha Khattar

Great listings! 👏

Collapse
 
shricodev profile image
Shrijal Acharya

Thank you, Shraddha! 😀

Collapse
 
cloudezigns profile image
cloudezigns

Thanks for sharing!