Page 2 of Command-line Interface Articles
Whether you’re zeroing out an old disk drive or creating a USB flash drive with your favorite Linux distro, dd is there to take care of business. One of the shortcomings of using dd back in the day was the lack of transparency into what it was actually doing and
[…]
We’ve all been there. We need to trigger something from a commit to a git repository, and instead of triggering the build directly, we end up tweaking something in a file, committing it, and pushing it. It’s usually just adding a blank line (and subsequently removing it, depending on where
[…]
I’m not entirely sure when the change happens, but recently as I was upgrading AWS CodeBuilds to use a newer version of Ubuntu, I ran into some problems with aws ecr get-login. Without making any code changes, my build started to fail with the following: [Container] 2021/06/21 20:44:19 Running command
[…]
Symbolic links, or symlinks come in handy when you need to share directories with multiple directories and not have to worry about keeping each linked instance in sync. The problem with symlinks is that not every command-line utility supports them, and often times, they do support them, but it’s not
[…]
A while back I fell in love with GitLab, specifically their GitLab Runners. This was at a time before GitHub had GitHub Actions, so I decided to move the majority of my git repositories over to GitLab. Fast forward a few years, GitHub has Actions, and more importantly, it seems
[…]
Recently, a buddy of mine was having some issues with Homebrew after upgrading to Big Sur. After doing the Googling he could have done on his own, I came to realize that he needed to manually upgrade to the latest version, that was compatible with Big Sur. He said he
[…]
While I do love the command-line, and will throw shell script at most problems if it’s the right tool for the job, it’s actually fairly rare that I write case statements. Generally speaking, my shell scripts will usually interrogate a variable or two, never too crazy or anything. With that,
[…]
Last year I had sunset a project that was using both AWS’ S3 and Linode’s S3-compatible object storage offering. After pulling down some final snapshots, I wanted to delete the buckets on both services. Similar to the error you receive when you attempt to rmdir a directory with files in
[…]
Recently, while working with a bunch of files, I came to realize that I needed to rename every single file. Not just that, I only needed to rename a small bit of the filename. If I was working with a document, I wound have leveraged a “search and replace” feature,
[…]
Last week I discussed counting files in the current directory. It was a quick and dirty way to get the number of files in a directory with some pretty strong assumptions about the type of files / directories that your current directory contained. Sure, it was a short sighted in
[…]
As the year comes to a close, I like to look back and see how many blog posts I have written for the year. My blog is powered by Jekyll and I like to keep my posts organized by year, in directories. With all of my posts in one place,
[…]
It can happen for a number of reasons. You’re connected to a server via SSH and things just stop responding. It’s hung, stuck, frozen, locked up, unresponsive or many just not be paying attention to the keys you’re so desperately pounding on your keyboard. It’s happens regularly, but not regularly
[…]
Generally speaking, when I need to work with an array or dictionary type of variable, I tend to reach for something other than Bash / shell scripting. This primarily stems from the fact that Bash didn’t support arrays until version 4.x and when I first learned about them, macOS (then
[…]
Even though the command-line is like my second home, I still fall short in terms of being able to some basic things. This is primarily because they just don’t come up that often so when I do figure out how to do it, I just don’t retain what I’ve learned.
[…]
As the world has been shifting away from using terms like master and slave in technology, I was left wondering what the heck I was going to do about my git aliases that relied explicitly on the word master. git itself makes it really easy to swap the default branch
[…]
Been hitting the lottery with system upgrade related issues as of late. The latest come in the form of ssh barking about an invalid public key when connecting to a server. This wasn’t happening on all of my servers, just one in particular. Also, it wasn’t actually stopping me from
[…]
My buddy Justin FINALLY got his website back up and running after “accidentally” letting his domain lapse. On a new domain, of freaking course, which unlocked a task on my TODO list as I needed to update a bunch of broken links on my site to point to his new
[…]
While I’m the guy that effectively lives on the command-line, I still rarely use sed. As I’ve been trying to use it more, I’ve run into some gotchas, mostly around the regular expression syntax and doing multiple replacements at one time. Fortunately, both are easy enough to accomplish. Doing multiple
[…]
If you’ve ever connected to a new server via SSH, you were probably greeted with a message about how the authenticity of the host couldn’t be established. The message and prompt looks something like this: The authenticity of host '1.2.3.4 (1.2.3.4)' can't be established. ECDSA key fingerprint is SHA256:nKYgfKJByTtMbnEAzAhuiQotMhL+t47Zm7bOwxN9j3g. Are
[…]
As you may already be aware, I also write guides for Alligator.io. As of late, I’ve been covering a lot of command-line tools and tricks as part of a “Command-line Basics” series. I’m also a bit of a scatter brain sometimes, and last month ended up starting on this particular
[…]
Originally I was going to talk about how to list installed packages on my desktop distro of choice, Arch Linux. Then I remembered that not everybody is as enlightened as I am, so I should probably cover other distributions as well ;) And really, it’s really not a distro-centric situation,
[…]
Years ago I had finally picked up on using a terminal multiplexer as part of my day to day workflow. I started with tmux having only used screen for one off server tasks that I wanted to persist across my Internet connection taking a shit. Nothing wrong with tmux but
[…]
Maybe not, but mine definitely have been. Doubt this is a popular opinion but I’ve recently come to realization that while seemingly making me more productive, my shell aliases have the potential of making me dumb. Don’t get me wrong, I’m still a big fan of shell aliases, but I’m
[…]
I live on the command-line. I also use the hell out of rsync to move files around. And because I’m paranoid / security conscious, I run sshd on an alternate port to provide an additional layer of obscurity to things. While providing me with some piece of mind, using an
[…]
I’m known for having a lot of projects. These days I have a day job, am trying to grind out more posts a week on this blog, regularly write for Alligator.io, run HolidayAPI and Ginpop and am currently on the “advisor track” for Startup School with CrowdSync. This list doesn’t
[…]