What's wrong here?
%
ls
afile exefiles j toobig
%
lpr afile
lpr: afile: No such file or directory
Huh??
ls
shows that the file is there, doesn't it?
Try using:
-v
-t -e
|
%
ls -l | cat
-v -t -e
total 89$
-rw-rw-rw- 1 jerry 28 Mar 7 19:46 afile $
-rw-r--r-- 1 root 25179 Mar 4 20:34 exefiles$
-rw-rw-rw- 1 jerry 794 Mar 7 14:23 j$
-rw-r--r-- 1 root 100 Mar 5 18:24 toobig$
|
The
cat -e
option marks the ends of lines with a
$
.
Notice that
afile
has a
$
out past the start of the column.
Aha... the filename ends with a space.
Whitespace characters like TABs have the same problem, though the
default
ls -q
(
16.14
)
option (on many UNIX versions) shows them as
?
if you're using a terminal.
To rename
afile
, giving it a name without the space, type:
%
mv "afile " afile
The
quotes (
8.14
)
tell the shell to include the space as part of the first argument
it passes to
mv
.
The same quoting works for other UNIX commands like
rm
, too.