filmov
tv
Command Line Tools ALL Developers Should Know
Показать описание
The command line interface. A program that accepts text input to execute operating system functions. It used to be the only way we could interact with computers back in the 60s. And in the 1970s and 1980s, command line input was commonly used by Unix systems and PC systems like MS-DOS and Apple DOS. Today, however, we have lost our way. With GUIs, or graphical user interfaces, most users *never* use command-line interfaces (CLI). Except for us, the chosen ones. The software developers and system administrators of the world, we use the CLI to configure computers, install software, and access features that are not available in the graphical interface. But not only that, it increases productivity. It’s one of those things where you put more time in on the frontend to learn, but once you do, you will get that time back in droves (10 fold). So in this video, I want to share with you the most prevalent command line tools used today.
Let’s start off with the shell. It is the first thing you see when opening a terminal. But it’s not the same as the terminal. The terminal itself is actually a terminal emulator - a program that opens a window and lets you interact with the shell. That would be your GNOME terminal, Windows Terminal, Xterm, Alacritty. But the shell… In Linux, we usually use the word shell to refer to the main command-line interface on which we execute programs called commands. This would be your C shell, Z shell, Korn shell, Bourne shell, bash, or even Windows PowerShell. It’s the thing that allows interaction between the user and the kernel. So when you type in ls, the shell executes the ls command. The shell can also execute other programs such as applications, scripts, and user programs.
With one of those programs being our next tool, the text editor. Which allows you to edit text using the command line interface, like code, READMEs, and git commit messages. This would be your Vi, VIM, Neovim, GNU nano, Emacs, Gedit, and so on. Some are just basic text editors, like nano, whereas developers typically use more customizable and extensive text editors like Vim, not because they like it more, but because they can’t figure out how to exit.
Some of these command line tools come default on many systems, but many of them you’ll have to install yourself. That’s where our next tool comes into play, the package manager. Package managers ease the process of installing software. You can think of it as an app store for the command line, even before app stores were even a thing. This would be your apt, dpkg, pacman, homebrew. Or you may be more familiar with some application-level package managers such as yarn and npm. A package manager allows you to install, configure, audit, upgrade, or remove software packages and dependencies. From your operating system, in the context of the former list.
Now my favorite tool name, the fuzzy finder, aka an interactive Unix filter. It can be used with any list, files, command history, processes, hostnames, bookmarks, lines of code, git commits, and so on. It’s effectively file search for everything using their fuzzy finder algorithm. So if you know the type of file, or a word in a file name or the file path or commit message or code or whatever, you just run the fuzzy finder and start typing to find what you’re looking for, system wide. Or specify to only search project wide. And the algorithm will filter out everything that doesn’t match. You can think of it as real time grep. It’s incredibly convenient and saves a lot of time.
I know there are many, many more command line tools out there. Which would be the first you’d recommend to a friend? Leave a comment below and enjoy the video.
------------------------
📓 Learning Resources:
👨💻 My Coding Gear:
Let’s start off with the shell. It is the first thing you see when opening a terminal. But it’s not the same as the terminal. The terminal itself is actually a terminal emulator - a program that opens a window and lets you interact with the shell. That would be your GNOME terminal, Windows Terminal, Xterm, Alacritty. But the shell… In Linux, we usually use the word shell to refer to the main command-line interface on which we execute programs called commands. This would be your C shell, Z shell, Korn shell, Bourne shell, bash, or even Windows PowerShell. It’s the thing that allows interaction between the user and the kernel. So when you type in ls, the shell executes the ls command. The shell can also execute other programs such as applications, scripts, and user programs.
With one of those programs being our next tool, the text editor. Which allows you to edit text using the command line interface, like code, READMEs, and git commit messages. This would be your Vi, VIM, Neovim, GNU nano, Emacs, Gedit, and so on. Some are just basic text editors, like nano, whereas developers typically use more customizable and extensive text editors like Vim, not because they like it more, but because they can’t figure out how to exit.
Some of these command line tools come default on many systems, but many of them you’ll have to install yourself. That’s where our next tool comes into play, the package manager. Package managers ease the process of installing software. You can think of it as an app store for the command line, even before app stores were even a thing. This would be your apt, dpkg, pacman, homebrew. Or you may be more familiar with some application-level package managers such as yarn and npm. A package manager allows you to install, configure, audit, upgrade, or remove software packages and dependencies. From your operating system, in the context of the former list.
Now my favorite tool name, the fuzzy finder, aka an interactive Unix filter. It can be used with any list, files, command history, processes, hostnames, bookmarks, lines of code, git commits, and so on. It’s effectively file search for everything using their fuzzy finder algorithm. So if you know the type of file, or a word in a file name or the file path or commit message or code or whatever, you just run the fuzzy finder and start typing to find what you’re looking for, system wide. Or specify to only search project wide. And the algorithm will filter out everything that doesn’t match. You can think of it as real time grep. It’s incredibly convenient and saves a lot of time.
I know there are many, many more command line tools out there. Which would be the first you’d recommend to a friend? Leave a comment below and enjoy the video.
------------------------
📓 Learning Resources:
👨💻 My Coding Gear:
Комментарии