/media/bill/PROJECTS/System_maintenance/Linux/IFS internal file (word) separator.txt +-----+ IFS stands for "internal field separator". It is used by the shell to determine how to do word splitting, i. e. how to recognize word boundaries. Try this in a shell like bash (other shells may handle this differently, for example zsh): mystring="foo:bar baz rab" for word in $mystring; do echo "Word: $word" done The default value for IFS consists of whitespace characters (to be precise: space, tab and newline). Each character can be a word boundary. So, with the default value of IFS, the loop above will print: Word: foo:bar Word: baz Word: rab In other words, the shell thinks that whitespace is a word boundary. Now, try setting IFS=: before executing the loop. This time, the result is: Word: foo Word: bar baz rab Now, the shell splits mystring into words as well -- but now, it only treats a colon as the word boundary. The first character of IFS is special: It is used to delimit words in the output when using the special $* variable (example taken from the Advanced Bash Scripting Guide, where you can also find more information on special variables like that one): # enddoc