Credit: flickr / Stephan Mosel Hoping that 2017 will be a good year in some important ways, I’ve gathered 17 useful Unix tricks to make your hours on the command line a little more productive. 1: Oops! For all the times we forget to insert “sudo” before a command that we want to run as root, the oops alias might come in handy. alias oops='sudo !!' This alias will rerun the previous command with “sudo” prepended to it. You can call it something other than “oops” if you like — whatever you’re likely to remember when you forget to use sudo. 2: Making files executable A quick way to set up execute permissions for your scripts is to use an alias that is preset with the permissions you’re most likely to use. For example, you can easily create an alias to give execute permission across the board using an “ax” (all execute) like this: alias ax="chmod a+x" You can make the alias give execute permission to just the file owner and group, but you should probably then give it a different name. alias ugx="chmod ug+x" 3: Reusing arguments from your previous command You can save some time by reusing an argument from a previous command by using a placeholder instead. The expression $_, for example, represents the last argument from your previous command. While sequences like “vi /some/file/name” and “chmod 750 $_” might have some appeal (you could also reuse the command from your history and edit as needed), the same trick in an alias might be very convenient. Here’s an example: $ alias 750='chmod 750 $_' $ vi /some/file/name $ 750 $ ls -l /some/file/name -rwxr-x--- 1 justme mygroup 1234 Dec 22 /some/file/name 4: Checking listening processes It’s always good to have a quick way to verify what processes are listening on your servers/ This alias makes that easy. $ alias listen='netstat -l | grep "LISTEN "' 5: Examining most frequently used commands Sometimes you can learn a lot by looking at which commands are being most heavily used by some account on a system you manage. Turn this command into a script or function and you’ll be able to easily generate a simple report. history | awk '{print $2}' | sort | uniq -c | sort -nr | head Here’s what you’d do to define the command as a function. Put this code into your .bashrc or /etc/bashrc file. mostused() { history | awk '{print $2}' | sort | uniq -c | sort -nr | head } 6: Extracting from archives Here are some aliases that can simplify extracting files from archives. Use the one that corresponds to the extension of the archive you are extracting from. alias tgz='tar -zxvf' alias tbz='tar -jxvf' 7: Creating a new directory and jumping into it You can set up a function to create a directory and cd into it with one command. In this example, we’re calling the function newdir. The second version below adds a pwd command to display your changed location in the file system. function newdir () { mkdir -p "$@" && eval cd "$@"; } function newdir () { mkdir -p "$@" && eval cd "$@" && pwd; } 8: Returning to the previous directory Here’s an easy and fairly obvious way to go back to your previous directory. It uses the $OLDPWD setting to know where to send you. alias return='cd "$OLDPWD"' You can also bounce between two directories by using the cd – trick. And you’ll be reminded where you are sitting with each use of the command. $ cd /var/log $ cd /apps/maps/settings $ cd - /var/log $ cd - /apps/maps/settings $ cd - /var/log $ cd - /apps/maps/settings 9: Using aliases to help you remember important locations Sometimes important file locations are buried many layers deep in your file system. You can create symbolic links to get to them, but creating an alias means you don’t have to be in some particular location first. Here’s an example. alias cdlogs='cd home/oracle/jboss-4.2.2.GA/server/default/deploy/app.ear/app.war/logs 10: Finding files with no known or current owners If files are left on your system from people who no longer have accounts or were extracted from archives and don’t correspond to local users, you can find them using an alias like this one. alias findorphans='find / -nouser -ls' 11: Finding recently changed files An alias like the one below will report on the most recently modified files within the current directory. $ find . -type f -printf '%TY-%Tm-%Td %TT %pn' | sort -r | head -5 2016-12-22 13:28:06.5339703560 ./.bash_history 2016-12-22 12:51:08.7488158790 ./oddthoughts 2016-12-22 12:39:30.8013399550 ./bin/fixme 2016-12-22 12:34:38.3708657970 ./testingme 2016-12-15 18:25:47.5545172550 ./.viminfo 12: Finding really big files Finding very large files alias findbig='find /home -size +1000000b -ls' An alias like this can help you find very large files quickly, though you may have to adjust the size for your system. As written, this one will only find files that are larger than a megabyte in size. alias findbig='find /home -size +1000000b -ls' 13: Listing your aliases Listing your aliases doesn’t even require an alias. Just type the word alias and you’ll get a nice listing. $ alias alias all='ls -al' alias ax='chmod a+x' alias c='clear' 14: Listing your functions Listing your defined functions takes a little more effort, but not too much. alias functions='set | grep "()"' Here’s an example of using it. $ functions heavilyused () newdir () 15: Backing up in the file system Who wants to count dots? Using aliases like these, you can more easily select how many directories you want to back up into on your system. alias up1='cd ..' alias up2='cd ../..' alias up3='cd ../../..' 16: Reviewing history a little at a time Looking through history can be a bit overwhelming if you have a very large history buffer — say your last 1,000 commands — and want to find a command you used just yesterday. No problem if you combine the history and more commands. alias hm="history | more" 17: Zapping a user This command can be a little dangerous, but it will kill all the processes belonging to some particular user — if you have sufficient privilege to do so. You might want to use the sudo version. The three aliases defined below show 1) the simple version, 2) the sudo version, and 3) the self-destruct version. alias zap='pkill -U' alias zap='sudo pkill -U' alias selfdestruct='pkill -U `whoami`' Happy 2017! May it be a year that brings you joy even beyond the Unix command line. Related content how-to How to find files on Linux There are many options you can use to find files on Linux, including searching by file name (or partial name), age, owner, group, size, type and inode number. By Sandra Henry Stocker Jun 24, 2024 8 mins Linux opinion Linux in your car: Red Hat’s milestone collaboration with exida With contributions from Red Hat and critical collaborators, the safety and security of automotive vehicles has reached a new level of reliability. By Sandra Henry Stocker Jun 17, 2024 5 mins Linux how-to How to print from the Linux command line: double-sided, landscape and more There's a lot more to printing from the Linux command line than the lp command. Check out some of the many available options. By Sandra Henry Stocker Jun 11, 2024 6 mins Linux how-to Converting between uppercase and lowercase on the Linux command line Converting text between uppercase and lowercase can be very tedious, especially when you want to avoid inadvertent misspellings. Fortunately, Linux provides a handful of commands that can make the job very easy. By Sandra Henry Stocker Jun 07, 2024 5 mins Linux PODCASTS VIDEOS RESOURCES EVENTS NEWSLETTERS Newsletter Promo Module Test Description for newsletter promo module. Please enter a valid email address Subscribe