Hey there! I’m on the lookout for my next engineering leadership adventure. If you know of any roles let me know through my contact page or on LinkedIn.
Peteris Krumins posted a nice little article today titled “Top Ten One-Liners from CommandLineFu Explained”. Two of these “one-liners” stood out to me:
#6 Quickly backup or copy a file - “cp filename{,.bak}” - This is a one-liner to copy the file and add a “.bak” extension to it. But remembering that command is a little hard, so instead, I added the following to my .bashrc file:
function backup {
cp ${1}{,.bak}
}
Now I can just type backup filename
#9 Copy your public-key to remote-machines for remote authentication - ssh-copy-id remote-machine
- I never knew about this command before, but I guarantee I’ll never forget it.
This one-liner copies your public-key, that you generated with ssh-keygen (either SSHv1 file identity.pub or SSHv2 file id_rsa.pub) to the remote-machine and places it in ~/.ssh/authorized_keys file. This ensures that the next time you try to log into that machine, public-key authentication (commonly referred to as “passwordless authentication.”) will be used instead of the regular password authentication.
** Update - A bit later than the original posting:**
Our servers here have some really long names. Something like ‘ProcessServer12.fac.company.com”. To ssh into those servers I could either memorize the IP addresses - which I have - or I can type in the server name. If I had “fac.company.com” in my /etc/resolv.conf, I could just ssh to ProcessServer12, but since my resolv.conf file get overwritten each reboot, I had to find a workaround.
In my .bashrc I added the domains and subdomains of the servers to my LOCALDOMAIN variable:
export LOCALDOMAIN="fac.company.com company.com foo.bar.baz.anothercompany.com"
This is better because it’s a local change rather than a global change