If you want to work with files that have spaces or special characters in the filenames, you may have to use quotes. For instance, if you wanted to create a file that has a space in the name, you could use the following:
/dev/null |
% |
---|
Normally, the shell uses spaces to determine the end of each argument.
Quoting (8.14, 8.15)
changes that - for example, the above example only has two arguments.
You can also use a backslash (\
) before a special character.
The example below
will rename a file with a space in the name, changing the space to an
underscore ( _
):
%mv a\ file a_file
Using the same techniques, you can deal with any character in a filename:
%mv '$a' a
At worst, a space in a filename makes the filename difficult to use as an
argument.
Other characters are dangerous to use in a filename.
In particular, using
?
and
*
in a filename is playing with fire. If you want to delete the file
a?,
you may end up deleting more than the single file.
-