Hi Eric, Thanks a lot for your detail explanation, I really appreciated that since I know you all is very busy people :-)
I understand now how it's works Cheers, Susanto On Tue, Jun 21, 2011 at 12:58 AM, Eric Blake <[email protected]> wrote: > On 06/20/2011 08:21 AM, Susanto Wijaya wrote: > > May I ask question about mv * command? > > Are you talking about a literal: > > $ mv * > > typed on the command line? To see what this really did, try: > > $ echo mv * > > and notice how the shell expands every existing file name in the current > directory before ever calling mv. Therefore, mv sees the last expanded > argument as the name of the directory to move files into (assuming the > last file named happens to be a directory)... > > > > > > > The question is when I use mv filename command using normal user login, > the > > result is all files and directory will lost except might be 1 folder > > which explains why doing this in your home directory moves all other > files into the last-named directory, per the 'mv [OPTION]... SOURCE... > DIRECTORY' synopsis form. > > > > > If I use mv * command using root user in root directory "/", the result > is > > all files and directory in / root directory will gone. > > Well, yeah, insofar as possible (the operation may abort a bit early > depending on whether you moved something critical to the success of the > continued operation of mv). But this is not a bug in mv, so much as the > power of Unix to let you shoot yourself in the foot if you type a stupid > command as root. > > > > > Is all directory and files move to /dev/null ? > > No, they are all moved to the last directory specified by your command > line. > > > > > Now all my files in home directory is lost after run the mv * command > > Not lost, but moved. > > -- > Eric Blake [email protected] +1-801-349-2682 > Libvirt virtualization library http://libvirt.org > >
