# Metacharacter

A metacharacter, in the shell, is a character that usually has some other meaning or is used to signify something other than that character itself. For example, the wildcard * is often a shell metacharacter, and a * is often replaced with (often said to be expanded to or substituted with) a list of all the files in the current directory.

Quoting (or escaping) is done in order to suppress the behaviour of metacharacters. This may be necessary in case you have a filename called a*work or the like, and you do not want the asterisk to be expanded at the command line. Escaping is done with any of the following methods:

• 'single quotes' (which suppresses all shell substitutions)
• "double quotes" (which suppresses most substitutions)
• \backslashes (which escapes single characters)

## Example

```\$ echo ~
```\$ echo \~