Command Line Tools ALL Developers Should Know

Поделиться
HTML-код
  • Опубликовано: 26 окт 2024

Комментарии • 184

  • @CodingPhase
    @CodingPhase 2 года назад +37

    Forrest is back

    • @fknight
      @fknight  2 года назад +7

      Tryna get back on track lol

  • @cdey3886
    @cdey3886 2 года назад +92

    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 Год назад +2

      can u remind me what fzf was?

    • @yash1152
      @yash1152 Год назад +3

      oh 4:32

    • @davidbreier84
      @davidbreier84 Год назад +3

      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 2 месяца назад

      Ditto I saw my boss using neovim and I was hooked.

  • @nikfp
    @nikfp 2 года назад +31

    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 года назад +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 Год назад +1

      @Nik P add it to the public themes?

    • @StfuSiriusly
      @StfuSiriusly Год назад

      oh my posh?

  • @Chalisque
    @Chalisque Год назад +1

    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.)

  • @graybri
    @graybri Год назад +1

    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

  • @tonyf5869
    @tonyf5869 2 года назад +5

    That Steve Ballmer clip is always great.

  • @ambuj.k
    @ambuj.k Год назад +10

    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.

  • @lucidity1230
    @lucidity1230 2 года назад +8

    grep, Vim, and tmux changed my life in the command line. Cannot recommend those tools enough.

  • @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.

  • @kshitijpatil2019
    @kshitijpatil2019 Год назад +1

    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

  • @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.

  • @troyroa7768
    @troyroa7768 2 года назад +1

    "The Chosen Ones" - music to my ears.

  • @j00st1982
    @j00st1982 2 года назад +5

    Never getting tired of the not able to exit vim jokes! :)

  • @jellyfp
    @jellyfp 2 года назад +3

    i’d recommend for people to use zoxide
    it’s like the cd command but you don’t need to type the full path

  • @elliotts5574
    @elliotts5574 Год назад +1

    helix, broot, exa are my vital tools.

  • @JM-tj5qm
    @JM-tj5qm 2 года назад +5

    You are the best, the perfect mix of helpful and entertaining. Congrats on 400k

    • @fknight
      @fknight  2 года назад

      I appreciate that!!

  • @zympf
    @zympf Год назад

    readline in vi mode .. can't live without it

  • @murtadha96
    @murtadha96 2 года назад +7

    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 года назад +1

      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

  • @vencemarron
    @vencemarron 2 года назад +3

    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)...

  • @Yuanti
    @Yuanti 2 года назад +16

    I'll save this for when i screw up my pc again :-)

  • @chiranjeevinaidu3660
    @chiranjeevinaidu3660 2 года назад +1

    I use Oh-My-Zsh, tmux and plugins in OMZ such as autocorrect and suggestions this makes life seriously easy

  • @duscraftphoto
    @duscraftphoto 2 года назад +3

    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!

  • @wheezybackports6444
    @wheezybackports6444 2 года назад

    The one that writes your programs for you. That is the ultimate tool.

  • @comforttwala20
    @comforttwala20 2 года назад +4

    Congrats on the 400k 🔥

  • @chillydoog
    @chillydoog 2 года назад

    halfway throught the video and Ive leared about 'ls' and 'package-managers'
    nice work dog. this will git you far

  • @yuriinchagov4814
    @yuriinchagov4814 2 года назад

    Shell sessions, shell sessions, shell sessions...
    I actually said it. Great vid 👍

  • @anon_y_mousse
    @anon_y_mousse 2 года назад +4

    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.

  • @misaelpereira9679
    @misaelpereira9679 2 года назад

    Let's talk how smooth the sponsors ads was put and transitioned without we even notice

  • @codingwithculp
    @codingwithculp Год назад

    I highly recommend the book by Neal
    Stephenson - "In the beginning was the command line."

  • @hyeokjindoo7467
    @hyeokjindoo7467 2 года назад +1

    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

  • @scheimong
    @scheimong 2 года назад +8

    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 👍

  • @krishatch7576
    @krishatch7576 2 года назад

    Package manager most important. Brew the goat

  • @enpassant7358
    @enpassant7358 2 года назад

    When you said, can't figure out how to exit vi, I laughed out loud and subscribed. 😅

  • @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.

  • @jimigrunge
    @jimigrunge Год назад +1

    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

  • @nuttywombat
    @nuttywombat 2 года назад +6

    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.

  • @yash1152
    @yash1152 Год назад +2

    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.

  • @CallousCoder
    @CallousCoder Год назад

    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.

  • @charlestopher
    @charlestopher Год назад

    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.

  • @hakhastudio7575
    @hakhastudio7575 2 года назад +1

    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 ...

  • @itildude
    @itildude 2 года назад

    Fortune and Cowsay for must haves!

  • @tc_kommark
    @tc_kommark 2 года назад +1

    Great video! I always heard tmux mentioned in videos, but had no clue what it was. I love using it!

  • @SeanCallahan52
    @SeanCallahan52 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.

  • @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.

  • @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.

  • @robertbaush
    @robertbaush Год назад

    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. ;-)

  • @LukeAvedon
    @LukeAvedon 2 года назад

    I am in Windows Terminal with PowerShell. My favorites are posh-git and ag 'The Silver Searcher'

  • @ximalas
    @ximalas 2 года назад +1

    ncdu is nice for visualizing disk usage. It''s also interactive.

    • @5inque_wu
      @5inque_wu Год назад

      gdu is a crossplatform alternative, you should give it a go. (LOL, 'cos gdu is written in go)

  • @exsesx
    @exsesx 2 года назад +1

    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

  • @paechan
    @paechan 2 года назад +1

    The file browser lf is pretty amazing. Super lightweight and easy to use.

  • @UraharaKira
    @UraharaKira 2 года назад +1

    Nushell have been a game changer for me

  • @luccahuguet
    @luccahuguet 2 года назад

    I knew it wasn't likely but I was still hoping for a mention of nushell, when you started listing them

  • @kvelez
    @kvelez Год назад

    Great video, I enjoyed it a lot.

  • @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

  • @CarlosGT13
    @CarlosGT13 2 года назад +2

    Tools that I always recommed are: nvim, tmux and git

  • @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.

  • @harddiskkosong3661
    @harddiskkosong3661 2 года назад

    The multiplexer one seems interesting.. im tired opening many tabs of terminal session and switching it..

  • @CallousCoder
    @CallousCoder Год назад

    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.

  • @JhonatasRosendo
    @JhonatasRosendo 2 года назад +4

    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!

  • @martiananomaly
    @martiananomaly 2 года назад

    0:24 Love the Age of empires on the PC!

  • @albinpaul3429
    @albinpaul3429 2 года назад +1

    Iterm2 for mac. I think it's excellent.

  • @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

  • @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.

  • @salehjamali6716
    @salehjamali6716 Год назад

    Gimme my award

  • @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)

  • @chriscastillo8068
    @chriscastillo8068 2 года назад

    Seen the age of empires screenshot and nostalgia hit.

  • @mushroom_clouds
    @mushroom_clouds 2 года назад +1

    You should do a project tutorial

  • @maddinmanek8679
    @maddinmanek8679 2 года назад +5

    PowerShell is a good addition I use often.

    • @wh7988
      @wh7988 2 года назад +5

      🤮🤮🤮

    • @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 Год назад

      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 Год назад

      @@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.

  • @H4KnSL4K
    @H4KnSL4K 2 года назад +1

    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 :)

  • @batboy49
    @batboy49 2 года назад +1

    zsh I use an i3 windows manager I have tried a variety of terminal emulators but my favorite is still xfce4-terminal

  • @henningjoerdens
    @henningjoerdens 2 года назад +1

    What’s your neovim setup? It looks beautiful :)

  • @CerisuHakka
    @CerisuHakka 2 года назад

    I have 'top' running on a second monitor as a simple/minimalist performance readout

  • @daffaharyadi9647
    @daffaharyadi9647 2 года назад +1

    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.

  • @adamohm
    @adamohm 2 года назад

    Awesome as always!

  • @akashchandra2223
    @akashchandra2223 Год назад

    How do you have so much time to do all these things

  • @BennyDaon
    @BennyDaon Год назад

    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.

  • @shrtcrt
    @shrtcrt 2 года назад

    Is that a humidor on the shelf?

  • @quantumastrologer5599
    @quantumastrologer5599 2 года назад +1

    Neofetch (works best with an arch install)

  • @Jquub
    @Jquub 2 года назад +1

    For me:
    - zellij (terminal multiplexer)
    - zoxide (smarter cd command)

  • @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

  • @marcinzdunek2902
    @marcinzdunek2902 Год назад

    i recommend tig, also zsh, oh my zsh and autosuggestions feature

  • @comebackcs
    @comebackcs Год назад

    So what is Command Line Developer tools on mac?

  • @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.

  • @sophiaonyoutube
    @sophiaonyoutube 9 месяцев назад

    "... not because they like it more but because they can't figure out how to exit" 😂 classic

  • @midchan
    @midchan 2 года назад +1

    emacs can run in the terminal why no mention

  • @sootynemm
    @sootynemm 2 года назад

    istg cometeer is the simple rick's of coffee pods

  • @broafka
    @broafka Год назад

    1:35 LOL, where is this from? Do you have a link to the video?

  • @PlGGS
    @PlGGS 2 года назад +1

    Gotta have nano, I had no idea it's a gnu app before this video tho lol

  • @EmileNani
    @EmileNani 2 года назад +4

    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.

  • @levinevara8592
    @levinevara8592 Год назад

    its not really a command but a helper? the -h or -help, basically a little documentation for a program

  • @nekoill
    @nekoill 6 месяцев назад

    Yeaaaah, CLI FTW

  • @FiReLScar
    @FiReLScar 2 года назад

    nvim would be my first but if we’re going by what you didn’t already mention then git

  • @rafael.aloizio1769
    @rafael.aloizio1769 2 года назад

    You can't thanks me for following you, you must do a pair programing session

  • @tordjarv3802
    @tordjarv3802 Год назад

    The best shell command I recommend is git

  • @Skylla54
    @Skylla54 2 года назад +3

    ehh
    WindowsTerminal on WSL2 with Fish Shell
    favorite tool tldr, tbh and neomutt for writing/reading emails.
    Neomutt feels cool, makes my Hotwallets for SmartContract Development more secure(no JS possible^^) and clients feel in good hands if they look over my terminal based workflow.😅
    No joke, I just got hired for a project over others, because on a screensharing session I used my terminal with the retro blue colorscheme. I said it clearly thats just for the show, later I heard the only thing that sticked is that I use a bluescreen and I'm a professional Hacker, because I said I participated on a small Hackathon on the weekend.😅
    Show, don't tell is true in so many areas😂

    • @fknight
      @fknight  2 года назад +1

      WSL2 is absolutely amazing! Such a good tool for someone who needs Windows. Never used Neomutt but it sounds cool. I'll have to check it out. And that story is great, lol!

  • @diwasrimal6750
    @diwasrimal6750 2 года назад

    You gotta have youtube-dl

  • @leftymclefterson582
    @leftymclefterson582 8 месяцев назад

    Midnight Commander and MCEdit are my favs
    Best file manager and best editor :P

  • @natywubet2175
    @natywubet2175 Год назад

    Why is no one mentioned nala?

  • @edwardmacnab354
    @edwardmacnab354 Год назад

    you forgot dash shell . As for text editors , couldn't you just use echo > file.txt or would that be echo | file.txt ? I know , I'm a blatant nube . Er--I mean Noob .

  • @guilherme5094
    @guilherme5094 2 года назад

    Really nice👍