Command Line Tools ALL Developers Should Know

  Рет қаралды 111,734

ForrestKnight

ForrestKnight

Күн бұрын

Пікірлер: 185
@CodingPhase
@CodingPhase 2 жыл бұрын
Forrest is back
@fknight
@fknight 2 жыл бұрын
Tryna get back on track lol
@cdey3886
@cdey3886 2 жыл бұрын
I cannot stress enought how much Vim/neovim made me more productive and the terminal overall. I use Fish on Alacrity and my favourite tools are Vim, Ranger, FZF, tmux and of course Git
@yash1152
@yash1152 Жыл бұрын
can u remind me what fzf was?
@yash1152
@yash1152 Жыл бұрын
oh 4:32
@davidbreier84
@davidbreier84 Жыл бұрын
Fish is nice but I stopped using it because I encountered problems while scripting. It's not POSIX compatible and that made it hard to use (for me) unfortunately
@ajalanbrown2200
@ajalanbrown2200 5 ай бұрын
Ditto I saw my boss using neovim and I was hooked.
@JM-tj5qm
@JM-tj5qm 2 жыл бұрын
You are the best, the perfect mix of helpful and entertaining. Congrats on 400k
@fknight
@fknight 2 жыл бұрын
I appreciate that!!
@elliotts5574
@elliotts5574 Жыл бұрын
helix, broot, exa are my vital tools.
@nikfp
@nikfp 2 жыл бұрын
Oh-My-Posh - awesome prompt styling, extremely customizable as well. Cross platform, multi-shell, supports nerd fonts and glyphs, and has segments for all kinds of things. Doesn't cause any noticeable lag. (It's written in go so it goes!) Comes with a ton of themes available, but it's really easy to customize. I have the same prompt on bash and powershell with segments to tell me which shell I'm currently using, do I currently have elevated permissions, where am I in the file system, current node version (if in a node project), current Golang version (if in a Go project), and exit code of last command. Then, I have a second line that only appears when I'm in a git repo, and gives me all the git information for the repo at a glance. Blinking cursor is on a third line, and I have some unicode bars connecting it all so it looks purdy. I customized it to work well with terminals that are taller than they are wide as I frequently have multiple shells open next to each other in a TMUX split, or the terminal open half screen and a browser on the other half when using only one screen.
@kaseywahl
@kaseywahl 2 жыл бұрын
Oh-My-Posh is part of the reason I started using the command line in the first place--makes it easier to interact with the command line and understand what you're doing.
@sys434
@sys434 Жыл бұрын
@Nik P add it to the public themes?
@StfuSiriusly
@StfuSiriusly Жыл бұрын
oh my posh?
@kshitijpatil2019
@kshitijpatil2019 2 жыл бұрын
Man, thank you so much! I was googling like crazy to find 'tldr', couldn't recall its name. Finally found it in this video. I'm a heavy user of this tool and found it extremely useful
@Chalisque
@Chalisque Жыл бұрын
The other thing with command line is extensibility. For example, if I keep typing rsync -haux --progress dir1 dir2 myserver:where/ever I can e.g. define a function via rs() { rsync -haux --progress "$@"; } so that instead I type rs dir1 dir2 myserver:where/ever (I use aliases to rename rm to remove to prevent accidently typing rm when I mean rs -- learned that a while back) or I can type cat > ~/bin/rs #!/bin/bash rsync -haux --progress "$@" ^D chmod a+x ~/bin/rs and I have a command than anything can run as if it were an executable. (I do this a lot since it means I can see the terminal above while typing out my program, whereas e.g. vim or nano take over the screen.)
@tonyf5869
@tonyf5869 2 жыл бұрын
That Steve Ballmer clip is always great.
@zympf
@zympf Жыл бұрын
readline in vi mode .. can't live without it
@graybri
@graybri Жыл бұрын
using a tiling window manager was massive for my productivity. when i suddenly had to start teaching online during covid it became clear how much time is wasted rearranging and resizing items in the display. impossible to not include git in the list also. all of the text processing tools in the gnu core utils. finally i think it is important to set aside a liitle time everyday or every week to automate, customize, optimize and simplify your workflow. Whether that is adding a couple of command aliases to your shell, or adding a couple of keybindings to your editor. Even adding some inbox rules to your email
@j00st1982
@j00st1982 2 жыл бұрын
Never getting tired of the not able to exit vim jokes! :)
@comforttwala20
@comforttwala20 2 жыл бұрын
Congrats on the 400k 🔥
@troyroa7768
@troyroa7768 2 жыл бұрын
"The Chosen Ones" - music to my ears.
@yash1152
@yash1152 Жыл бұрын
0:46 > _"u get back that time 10X"_ for me, its not even just about time. its about maintaining my sanity. these _power user_ things are how my brain keeps poking me about if the thing i am using is not efficient hence making me mad. so, yeah... lack of efficiency makes me loose my mind, not _just_ time.
@lucidity1230
@lucidity1230 2 жыл бұрын
grep, Vim, and tmux changed my life in the command line. Cannot recommend those tools enough.
@chillydoog
@chillydoog 2 жыл бұрын
halfway throught the video and Ive leared about 'ls' and 'package-managers' nice work dog. this will git you far
@ambuj.k
@ambuj.k 2 жыл бұрын
One thing I found very cool in bash/zsh is the Ctrl+R shortcut, it's a reverse fuzzy finder but for your recent commands in the shell; So, I never waste my time pressing the up arrow key.
@icntthinkofanam3
@icntthinkofanam3 2 жыл бұрын
Thissssssssss
@TechJolt3d
@TechJolt3d Жыл бұрын
There is no way that is soo cool
@SamGrahamgee
@SamGrahamgee Жыл бұрын
ho ma god
@paultapping9510
@paultapping9510 Жыл бұрын
oh my! That's very useful!
@kaseywahl
@kaseywahl 2 жыл бұрын
2:25 "developers typically use more customizable and extensive editors like vim...not because they like it more, but because they can't figure out how to exit." GOLD.
@duscraftphoto
@duscraftphoto 2 жыл бұрын
Great content! I try to live in terminal because I find I can navigate faster cause I’m so used to. I started with Vim and stuck with it. Also, TLDR is definitely the right way to RTFM ha ha. Keep up the insightful content!
@darshanrajpattanaik2154
@darshanrajpattanaik2154 Жыл бұрын
as the low level learning says
@filiperibeiro4276
@filiperibeiro4276 2 жыл бұрын
Mcfly. A backwards search command tool. I have been using it for a couple of weeks now and it really increases my productivity.
@kdakan
@kdakan Жыл бұрын
A terminal or a console, today means just an empty user interface box, you can run any program in it, be it a shell, a game, whatever you like. It is not a required part of the shell. In fact, you can programmatically run shell scripts inside any program, effectively you can run a shell inside another program, direct the shell's stdout to your program and manipulate it, display it, etc.
@Yuanti
@Yuanti 2 жыл бұрын
I'll save this for when i screw up my pc again :-)
@Romek_S
@Romek_S 2 жыл бұрын
0:25 ...except for us! the chosen ones!... I laughed so loud that my deaf cat waked up and looked at me very, very angry... :D
@wheezybackports6444
@wheezybackports6444 2 жыл бұрын
The one that writes your programs for you. That is the ultimate tool.
@enpassant7358
@enpassant7358 2 жыл бұрын
When you said, can't figure out how to exit vi, I laughed out loud and subscribed. 😅
@jellyfp
@jellyfp 2 жыл бұрын
i’d recommend for people to use zoxide it’s like the cd command but you don’t need to type the full path
@chiranjeevinaidu3660
@chiranjeevinaidu3660 2 жыл бұрын
I use Oh-My-Zsh, tmux and plugins in OMZ such as autocorrect and suggestions this makes life seriously easy
@yuriinchagov4814
@yuriinchagov4814 2 жыл бұрын
Shell sessions, shell sessions, shell sessions... I actually said it. Great vid 👍
@hakhastudio7575
@hakhastudio7575 2 жыл бұрын
I am a muscle memory man, when I used to use terminal and linux, I forgot how to use windows, when I used to use vim, I forgot how to use gedit and so on ...
@misaelpereira9679
@misaelpereira9679 2 жыл бұрын
Let's talk how smooth the sponsors ads was put and transitioned without we even notice
@b1nglebongled1ngledangle
@b1nglebongled1ngledangle 2 жыл бұрын
Great video! I always heard tmux mentioned in videos, but had no clue what it was. I love using it!
@exsesx
@exsesx 2 жыл бұрын
First of all, Forest looks like Halbrand from rings of power. Second, subscribed. Great video for sure. I recently started to use neovim, still getting used to tmux a bit, been using homebrew, fzf, ripgrep, exa, etc. for a while. Command line tools is lit af.
@exsesx
@exsesx 2 жыл бұрын
Starship for visuals btw
@exsesx
@exsesx 2 жыл бұрын
Fish shell as well
@vencemarron
@vencemarron 2 жыл бұрын
I think that Windows users will appreciate scoop and oh my posh, which are my main recommendations. I use scoop to get some unix tools in Windows and as a secondary package manager (second to winget) for development stuff (deno, vim, bash, sass, tailwind css, among other programs available in it). Oh my posh just makes the powershell prompt pretty and useful for development to see git status, node status or dotnet status (you can customize it to your needs with the oh my posh docs)...
@jimigrunge
@jimigrunge 2 жыл бұрын
I use ZSH + Tmux + NeoVim (highly cusomized). I also keep bpytop (prettier htop) open in one of my panes to monitor make build when executing mulitple runners. I rarely leave the terminal when I'm in a coding session
@andrewiglinski148
@andrewiglinski148 2 жыл бұрын
Lol ‘because they can’t figure out how to exit’ made me literally lol while sitting by myself at a coffee shop.
@murtadha96
@murtadha96 2 жыл бұрын
I install pyenv to install and manage multiple versions of Python, nvm to install and manage multiple Node versions, and Starship to customise the prompt. I also have bat which is a good cat replacement. And batman (yep, that's what it's called) to produce better man pages (with colours and such). exa is also great (an ls replacement) which has syntax highlighting.
@analisamelojete1966
@analisamelojete1966 2 жыл бұрын
Use poetry to handle dependencies in your python projects. That’s a nice tool.
@NostraDavid2
@NostraDavid2 2 жыл бұрын
@@analisamelojete1966 Until it breaks because the dev said so. PDM and Hatch are two modern alternatives for when it does.
@graybri
@graybri Жыл бұрын
going to check out batman thanks
@robertbaush
@robertbaush 2 жыл бұрын
Hi Forrest Knight. Very good Content. For Windows Packet Manager you should also mention "Chocolately", in combination of windows powershell as Admin. Safes a lot of time. Your Question answered for windows: - totalcommander - lens - dia - vscode - docker - virtualbox - terraform - openssl - kubernetes-helm - nodejs Really great tipps. ;-)
@krishatch7576
@krishatch7576 2 жыл бұрын
Package manager most important. Brew the goat
@ximalas
@ximalas 2 жыл бұрын
ncdu is nice for visualizing disk usage. It''s also interactive.
@5inque_wu
@5inque_wu 2 жыл бұрын
gdu is a crossplatform alternative, you should give it a go. (LOL, 'cos gdu is written in go)
@nuttywombat
@nuttywombat 2 жыл бұрын
Neovim with Tmux to manage sessions (ie one session open per project root directory) is 90% of what I use. There's also zsh with oh-my-zsh, FZF, Git, etc etc, but productivity wise I lean on Tmux a lot.
@CallousCoder
@CallousCoder 2 жыл бұрын
Oh and ps I use that a lot especially when writing code to see what the resident size of my program is. Especially when writing a more involved C/C++ application then I want to be sure that it isn’t leaking memory. Even when my code checker says it’s okay I always check. And when I see NodeJS consume 90-150MB for something simple I decide to rewrite it in C++ or Rust because those containers will add up in cost! And since C++ or Rust is even 10 times faster we let definition require 10 times less for the same work load, saving lots and lots of money in the end.
@LukeAvedon
@LukeAvedon 2 жыл бұрын
I am in Windows Terminal with PowerShell. My favorites are posh-git and ag 'The Silver Searcher'
@kvelez
@kvelez Жыл бұрын
Great video, I enjoyed it a lot.
@anon_y_mousse
@anon_y_mousse 2 жыл бұрын
It's true, I've been using vim for over 20 years, still can't exit. Though, if grep isn't enough for your searching needs, locate and find can fill in the gaps. You just have to know regular expressions and understand the quirks of the tools.
@scheimong
@scheimong 2 жыл бұрын
My recommendation is not exactly a command line tool, but it's a prerequisite for using many of them: Regex. If you work with text files at all, you should learn Regex. If search and replace is a pistol, then search and replace with Regex is a freakin jet fighter.
@SimGunther
@SimGunther 2 жыл бұрын
Also recommend learning about perl regex and Plan9 regex 👍
@saiddope2241
@saiddope2241 18 күн бұрын
i just uninstalled all the DE and i now live in tty 😂❤ i love it , now all my games run super smooth and i barely hear the laptop fan turn fast
@itildude
@itildude 2 жыл бұрын
Fortune and Cowsay for must haves!
@salehjamali6716
@salehjamali6716 Жыл бұрын
Gimme my award
@charlestopher
@charlestopher 2 жыл бұрын
tmux, oh-my-zsh, and zsh-autosuggestions are huge ones for me. Lots of tools I use for vim as well. All of these save me a ton of time.
@H4KnSL4K
@H4KnSL4K 2 жыл бұрын
Dude, learn the pour-over technique. It's good meditation to calm your mind and prepare your brain for coding work... and gives you great coffee without spending extra
@SimGunther
@SimGunther 2 жыл бұрын
And it gives you extra coffee for the same beans :)
@hyeokjindoo7467
@hyeokjindoo7467 2 жыл бұрын
Lazygit is my favorite. Until I use this, I only use add commit pull and push, but now I can use almost every feature of git
@codingwithculp
@codingwithculp Жыл бұрын
I highly recommend the book by Neal Stephenson - "In the beginning was the command line."
@GamblingAndGolf
@GamblingAndGolf 2 жыл бұрын
Ripgrep, micro, jq. If you’re "strictly" a dev then Starship is super cool too. The latter is a little annoying if you are a wide ranged user when it comes to the cli.
@paechan
@paechan 2 жыл бұрын
The file browser lf is pretty amazing. Super lightweight and easy to use.
@henningjoerdens
@henningjoerdens 2 жыл бұрын
What’s your neovim setup? It looks beautiful :)
@sophiaonyoutube
@sophiaonyoutube Жыл бұрын
"... not because they like it more but because they can't figure out how to exit" 😂 classic
@midchan
@midchan 2 жыл бұрын
emacs can run in the terminal why no mention
@lm-gg-66
@lm-gg-66 2 жыл бұрын
Nushell have been a game changer for me
@JhonatasRosendo
@JhonatasRosendo 2 жыл бұрын
JQ is being a life saving tool for me lately, allowing me to make complex json queries with both Azure datafactory and databricks resources.
@otek_
@otek_ 2 жыл бұрын
jq rocks!
@albinpaul3429
@albinpaul3429 2 жыл бұрын
Iterm2 for mac. I think it's excellent.
@broafka
@broafka 2 жыл бұрын
1:35 LOL, where is this from? Do you have a link to the video?
@rafaelpereiradias2567
@rafaelpereiradias2567 2 жыл бұрын
You should learn and use AWK if you use too much shell. If you need to manage many runtime libs, you need asdf
@itstoxicqt
@itstoxicqt Жыл бұрын
I absolutely love CLI. I have 2 laptops one is my gaming pc windows10 stays on that machine. But my hp laptop couple years old I keep arch linux on. It's my main laptop when I just want to surf the web program etc my daily driver if I'm not gaming. I've last year or so have gotten to the point outside of a web browser I've been only using CLI apps. Email, music player, file manager, neovim, irc, discord (rip that 3rd party tool)
@martiananomaly
@martiananomaly 2 жыл бұрын
0:24 Love the Age of empires on the PC!
@maxmuster7003
@maxmuster7003 2 жыл бұрын
I like to use the DOS/DosBox command prompt, because in DOS the user is the big boss and not the kernel of the OS.
@CallousCoder
@CallousCoder 2 жыл бұрын
Two commands I’d recommend find and egrep find probably the more important one for me. Just to find certain files and perform certain actions on it is ideal. The nohup is also important. pushd popd I use that a ton.
@Parker8752
@Parker8752 2 жыл бұрын
Given the option, I would live entirely within getty on my laptop, but since that's not really practical with the modern web, I tend to use fish on alacritty, neovim (though I have been experimenting with helix), tmux, git (obviously), lynx (a terminal web browser) for looking things up quickly, and the ncurses vlc frontend. I also prefer using bat over cat and less/more, because it has line numbers and it enters a pager (most likely less) automatically if the file takes up more than a single screen. I also experimented with nushell for a little while; it's inspired by powershell but without the object orientation, and is good for displaying data on the screen, but I prefer stuff like zsh and fish.
@adamohm
@adamohm 2 жыл бұрын
Awesome as always!
@temetnosce7482
@temetnosce7482 2 жыл бұрын
Good start! Better to know these tools well than barely know a ton of tools. Also knowing docker will let you get a lot done. And if you know python, then having ipython available will let you avoid some of the more annoying tools like sed and awk. And while you are doing that, might as well figure out pudb so you can visually debug without a gui.
@quantumastrologer5599
@quantumastrologer5599 2 жыл бұрын
Neofetch (works best with an arch install)
@BennyDaon
@BennyDaon 2 жыл бұрын
Great video 🎉 There are many great tools re-incarnations out there like ripgrep, lsd, bat. The one that takes my terminal to the next level is git[hub|lab] CLI. For the first time, I can mange my project in the shell using a clean and sharp interface.
@leftymclefterson582
@leftymclefterson582 11 ай бұрын
Midnight Commander and MCEdit are my favs Best file manager and best editor :P
@akashchandra2223
@akashchandra2223 2 жыл бұрын
How do you have so much time to do all these things
@CarlosGT13
@CarlosGT13 2 жыл бұрын
Tools that I always recommed are: nvim, tmux and git
@harddiskkosong3661
@harddiskkosong3661 2 жыл бұрын
The multiplexer one seems interesting.. im tired opening many tabs of terminal session and switching it..
@jamesmurphy369
@jamesmurphy369 Жыл бұрын
nala is a prettier, faster alternative to apt manage your packages, I've set up aliases to do sudo updates and upgrades etc.
@CerisuHakka
@CerisuHakka 2 жыл бұрын
I have 'top' running on a second monitor as a simple/minimalist performance readout
@comebackcs
@comebackcs Жыл бұрын
So what is Command Line Developer tools on mac?
@shrtcrt
@shrtcrt 2 жыл бұрын
Is that a humidor on the shelf?
@batboy49
@batboy49 2 жыл бұрын
zsh I use an i3 windows manager I have tried a variety of terminal emulators but my favorite is still xfce4-terminal
@daffaharyadi9647
@daffaharyadi9647 2 жыл бұрын
Neovim with tmux (to manages sessions and windows), for the shell i used zsh with starship for customization, ranger for my file manager, and zathura (even tough this isn't cli tools but it increase my productivity) for reading paper and books. Even tho recently i'm trying to integrate all those tools to be used from my neovim set-up or tmux for maximum productivity.
@007arek
@007arek 2 жыл бұрын
Wezterm, vifm, nvim, taskwarrior, btop, dua, fasd, many fzf commands as the zsh functions. To be honest, many CLI commands I use in scripts with rofi, so I can bind them to the shortcuts.
@graybri
@graybri Жыл бұрын
just getting into rofi a bit now. lots of potential there
@levinevara8592
@levinevara8592 Жыл бұрын
its not really a command but a helper? the -h or -help, basically a little documentation for a program
@maddinmanek8679
@maddinmanek8679 2 жыл бұрын
PowerShell is a good addition I use often.
@wh7988
@wh7988 2 жыл бұрын
🤮🤮🤮
@Don_XII
@Don_XII 2 жыл бұрын
I just hate its syntax and the way it has "aliases" and stuff otherwise it's fine
@5inque_wu
@5inque_wu 2 жыл бұрын
How fast can your powershell launch? I always had mine launch longer than 30s (admittedly my $profile is quite heavily configured), if you just want something simple done, powershell is a nightmare with its verbosity. Bash/Zsh has way less typing.
@Don_XII
@Don_XII 2 жыл бұрын
@@5inque_wu damn 30s, when mine launches in more than 1 second I feel it's too much. how you feel opening new instances? that seems like a pain. I remember at somepoint it got to 2 to 4 seconds and i don't know why it is so slow to launch my $PROFILE isn't that heavy. even without it it starts kinda slow.
@luccahuguet
@luccahuguet 2 жыл бұрын
I knew it wasn't likely but I was still hoping for a mention of nushell, when you started listing them
@mushroom_clouds
@mushroom_clouds 2 жыл бұрын
You should do a project tutorial
@Jquub
@Jquub 2 жыл бұрын
For me: - zellij (terminal multiplexer) - zoxide (smarter cd command)
@chriscastillo8068
@chriscastillo8068 2 жыл бұрын
Seen the age of empires screenshot and nostalgia hit.
@sootynemm
@sootynemm 2 жыл бұрын
istg cometeer is the simple rick's of coffee pods
@tordjarv3802
@tordjarv3802 2 жыл бұрын
The best shell command I recommend is git
@PlGGS
@PlGGS 2 жыл бұрын
Gotta have nano, I had no idea it's a gnu app before this video tho lol
@natywubet2175
@natywubet2175 Жыл бұрын
Why is no one mentioned nala?
@bridgeboo3031
@bridgeboo3031 2 жыл бұрын
vim exit jokes crack me up so hard because i once had to google how to exit vim hehehehe
@guilherme5094
@guilherme5094 2 жыл бұрын
Really nice👍
@FiReLScar
@FiReLScar 2 жыл бұрын
nvim would be my first but if we’re going by what you didn’t already mention then git
@ayushgun
@ayushgun 2 жыл бұрын
Anyone have a similar config for the neovim UI shown at 2:19?
@EmileNani
@EmileNani 2 жыл бұрын
I use Konsole and neovim (recently switched from VSCode). I had tmux installed with alacritty and wezterm. I like how I can save my terminal window layouts and bookmark the paths of each instance of the terminal in Konsole. Its support of font ligatures also really great.
@nekoill
@nekoill 9 ай бұрын
Yeaaaah, CLI FTW
@diwasrimal6750
@diwasrimal6750 2 жыл бұрын
You gotta have youtube-dl
@rafael.aloizio1769
@rafael.aloizio1769 2 жыл бұрын
You can't thanks me for following you, you must do a pair programing session
Why Linux Is Better For Programming
13:32
Hallden
Рет қаралды 2,8 МЛН
12 GREAT command line programs YOU recommended!
16:25
The Linux Experiment
Рет қаралды 309 М.
100+ Linux Things you Need to Know
12:23
Fireship
Рет қаралды 1,5 МЛН
7 Design Patterns EVERY Developer Should Know
23:09
ForrestKnight
Рет қаралды 228 М.
i dove down the 7z rabbit hole (it goes deep)
12:50
Low Level
Рет қаралды 616 М.
Tools EVERY Software Engineer Should Know
14:33
ForrestKnight
Рет қаралды 165 М.
7 Amazing CLI Tools You Need To Try
18:10
Josean Martinez
Рет қаралды 426 М.
Why Are Open Source Alternatives So Bad?
13:06
Eric Murphy
Рет қаралды 737 М.
8 Data Structures Every Programmer Should Know
17:09
ForrestKnight
Рет қаралды 252 М.
Demystifying "find" and "find -exec" ...Lil' Linux Lesson!
8:12
Veronica Explains
Рет қаралды 61 М.