Unix tip: Useful Unix aliases
It's easy to create aliases and some of them can save you a lot of time and trouble. Stored in one of your startup files (e.g., .profile), they can provide a modestly easier environment for your work. This week, we'll look at a bunch of especially useful aliases.
If you use functions, but lose track of what you've called them, you can use this handy alias for listing them:
boson# alias functions='set | grep "()"'
Type "functions" on your command line with this function in effect and you might see something like this:
boson# functions SHOW_ARGC=() SHOW_ARGV=() SHOW_LINENO=() SHOW_SOURCE=() STACK=() GROUPS=()
You can also set up aliases for helping you to move around in the file system and find your way back. Some of these just save you a bit of typing, but consider how often you type cd commands.
alias ..="cd .." alias ...="cd ../.." alias ....="cd ../../.." alias back='cd $OLDPWD'
The last alias in the list above might prove particularly useful if you're working between two directories and just want to bounce back and forth between the two of them. Each time you move, $OLDPWD takes on the value of the directory you were just in.
There are a number of ways to get a listing of only the directories in your current file system location. This one seems the snappiest:
alias dirs='ls -d */'
To shorten what you have to type to get long listings or categorized listings, you might try these:
alias ll='ls -l' alias lf='ls -F' alias l='ls -al'
The "lf" alias will provide a file listing with / at the end of directory names and @ at the ends symbolic links. The "l" alias will, of course, provide a long listing of all files and with a nice savings on keystrokes.
A useful extension of the aliases shown above is to include a pipe to more so that you are sent one screenful of output at a time. This alias has been very nice to use:
alias lm="ls -al | more"
To be prompted before you remove files, you can use one of the following aliases. I generally don't want to have to type "y" for each and every file deletion, so I prefer leaving rm as is and using del when I want the extra check. Of course you can always just use "rm -i".
alias rm='rm -i' alias del='rm -i'
You can use the same idea with other aliases that return a lot of text. It's a good idea to use a consistent naming scheme (i.e., adding an "m") so the aliases are easier to remember. Here's an example with the history command:
alias h=history alias hm="history | more"
You can set up a case-insensitive grep command and save a little typing with this "gi" alias. Notice how easily it selects your target text without concern for how the text appears in the target file.
alias gi="grep -i" boson# gi hello /tmp/msgs865 hello world Hello World HELLO WORLD
One additional alias that I have found very useful, since I am often looking for particular files and don't want directories in my listings is this "ff" (find file) alias:
alias ff="find . -type f -name"
This ff alias starts at the current directory. You could instead have two such aliases, one that looks from root and one that looks from the current directory:
alias ff="find / -type f -name" alias f.="find . -type f -name"
Once you've defined and invoked a large useful set of aliases, you should be prepared to turn them off selectively or in one fell swoop. Keep the "unalias " command in mind if you want to disable a particular alias and "unalias -a" if you want to dsiable all of your aliases at once.
Essential JavaFX
Get started building rich Web apps quickly with an introduction to the power of JavaFX key features -- scene node graphs, nodes as components, the coordinate system, layout options, colors and gradients, custom classes with inheritance, animation, binding, and event handlers.Enter now!
The Nomadic Developer
Consulting can be hugely rewarding, but it's easy to fail if you are unprepared. To succeed, you need a mentor who knows the lay of the land. Aaron Erickson is your mentor, and this is your guidebook. Enter now!













Aliases etc.
Thanks - there were some useful aliases in your latest article. You might like this function, which I find very useful when looking for permission errors:lsdup() {
here=$(pwd)
while true
do
print "$(ls -ld) $PWD"
cd ..
[ $PWD = "/" ] && break
done
cd $here
}
moving to previous directory
To go back to the previous directory I just use "cd -". No special alias is required. But what if you're working amongst three directories? What's a good way to quickly set up shortcuts which allow to bounce between them?aliases
You may not want to aliase rm -i as rm, especially if you use rm to remove files, etc using a script in cron, using the next choice would be better.