Terminal Icon

Terminal

The preferred computing interface for many hackers around the world.
88 Stories
All Topics

Josh Comeau joshwcomeau.com

The frontend developer's guide to the terminal

This guide by Josh Comeau is Josh doing what Josh does so well: taking complex/arcane/technical topics and making them approachable & fun for his audience.

It takes years of practice to become a terminal guru, but here’s the good news: we can take a shortcut. We don’t really need to know 98% of the stuff you can do with a terminal. If we focus on the most-important critical fundamentals, we should be able to become comfortable with the command line in a remarkably short amount of time. ✨

That’s what this blog post is all about.

Go Time Go Time #222

Making the command line glamorous

This week we’re bringing The Changelog to Go Time — we had an awesome conversation with Toby Padilla, Co-Founder at Charm where they’re building tools to make the command line glamorous. Toby and the team at Charm have gone “all in” on Go — all of Charm is written in Go. They moved to Go from other languages, saying “Go is the answer to building these type of tools.” And even on this episode Toby says “I love Rust, it’s really cool, it’s a super-exciting language, but I jumped ship. I wanna be more productive, I wanna use all the fun toys, and so I started doing Go.” Clearly this episode will be in good company here on Go Time.

We talk about the state of the art, the next big thing happening on the command line and in ssh-land. They have an array of open source tooling to build great apps for the terminal and Charm Cloud to power a new generation of CLI apps. We talk through all their tooling, where things are headed for CLI apps, the focus and attention of their team, and what’s to come in bringing glamor to the command line.

The Changelog The Changelog #481

Making the command line glamorous

This week we’re talking to Toby Padilla, Co-Founder at Charm — where they build tools to make the command line glamorous. We talk about the state of the art, the next big thing happening on the command line and in ssh-land. They have an array of open source tooling to build great apps for the terminal and Charm Cloud to power a new generation of CLI apps. We talk through all their tooling, where things are headed for CLI apps, the focus and attention of their team, and what’s to come in bringing glamor to the command line.

Terminal browsix.org

Browsix – Unix in a browser tab

Your first thought when reading that headline might’ve been _WebAssembly. Mine was! But no, that is not how Browsix does its thing:

Browsix is a framework that bridges the considerable gap between conventional operating systems and the browser, enabling unmodified programs expecting a Unix-like environment to run directly in the browser. Browsix does this by mapping low-level Unix primitives, like processes and system calls, onto existing browser APIs, like Web Workers and postMessage.

They have examples of this tech enabling a terminal in the browser, a Latex editor, and even a client/server-based meme generator written in JS and Go.

Terminal vitalyparnas.com

Clever uses of pass, the Unix password manager

Turns out the pass command on your local Linux box can be used for a bunch of encryption-related things in addition to what most of us use it for: managing a user’s password.

One cool example is you can hide API keys from shoulder surfers (and history’s memory) by storing the key encrypted on disk and using pass to access it at runtime:

curl -H "API-Key: $(pass provider/api_key)" ...

Productivity github.com

A simple script to print the last 10 commands you ran in this directory

What was I doing the last time I was here?

We’re linking to the repo, but the idea is where it’s at. The code is a one-liner (if you’re using zsh)

grep -v "jog" ~/.zsh_history_ext | grep -a --color=never "${PWD}   " | cut -f1 -d"|" | tail

Then you add this to your .zshrc

function zshaddhistory() {
	echo "${1%%$'\n'}|${PWD}   " >> ~/.zsh_history_ext
}

Now you’re all set for the next time you need to jog your memory!

freeCodeCamp Icon freeCodeCamp

Learn the 50 most-used linux & terminal commands

I’m sharing this because I’m watching this course, so learn with me as I learn from Colt Steele. It’s awesome because it has chapters so you can easily jump to the sections that interest you most.

Touch cat tail. Find man head. Who?

The previous seven words are common Linux commands. If you are a programmer, you are likely going to need to use Linux and terminal commands at some point.

All these commands work on Linux, macOS, WSL, and anywhere you have a UNIX environment.

Pairs well with Modern Unix tools and Oh my! Zsh. 🍷

Learn the 50 most-used linux & terminal commands

Terminal arp242.net

s/bash/zsh/g

Martin Tournoij lays out a bunch of ways he finds zsh more compelling than bash.

There are many more things. I’m not going to list them all here. None of this is new; much (if not all?) of this has around for 20 years, if not longer. I don’t know why bash is the de-facto default, or why people spend time on complex solutions to work around bash problems when zsh solves them. I guess because Linux used a lot of GNU stuff and bash was came with it, and GNU stuff was (and is) using bash. Not a very good reason, certainly not one 30 years later.

Smashing Magazine Icon Smashing Magazine

How to build your own mouseless development environment

I’ve never gone full mouseless (nor do I necessarily recommend it), but there’s extreme productivity wins to be mined by keeping your hands on the home row as much as possible.

Building a development environment with the shell as a keystone offers multiple benefits. You can use tools that fit nicely with each other, you can customize everything depending on your own needs, and the biggest of all, you can control your entire development environment with your keyboard. This can save a lot of cognitive energy as well as deliver a pleasant user experience.

This is an excellent walk-through on Smashing Mag for those ready to level up their terminal game:

Today, I’d like to share with you these tools so that you too can increase your efficiency and your comfort in your daily job. They work well together — shaping what I call my Mouseless Development Environment. More precisely, we’ll discuss:

  • Why using the Linux shell can be very powerful when working with plain text (including code);
  • Why using the dreaded Arch Linux;
  • The advantage of a tiling window manager;
  • How to have a great terminal experience with URxvt, tmux, and tmuxp;
  • Why Vim can become your best friend.

Tom Payne github.com

Easy, secure dotfiles management with chezmoi

Here’s how Tom Payne describes his project:

chezmoi is a popular dotfile manager (currently over 4.5K stars on GitHub and increasing quickly). chezmoi helps you get your prefered environment synchronized across multiple machines (e.g. your home desktop, your work laptop, and a temporary development container in the cloud) while easily coping with differences from machine to machine and keeping all your secrets safe either with your password manager or encryption. Using chezmoi feels very much like using git (and indeed it builds on git). chezmoi is easy to install, quick to start with, runs everywhere, and scales from managing a handful of files on one machine to complex multi-machine set-ups with hundreds of dotfiles and plugins.

Getting a new machine set up looks like:

$ sh -c "$(curl -fsLS git.io/chezmoi)" -- init --apply <github-username>

My dotfiles “manager” is just a combination of git clone and setup.sh, but if I used many machines I’d probably reach for something more robust like this. If you’re already using a manager for yours, here’s a comparison guide of how chezmoi stacks up to other popular options.

0:00 / 0:00