Command mv
moves files. When file in destination exists, it will be replaced. The right command to copy file is cp
. It’s used same way as mv
.
Command mv git.sh /root/*
will substitute wildcard char *
with all names the directory contains. Then there are a few cases:
- /root contains multiple files or directories: command will fail
- /root contains one file: git.sh will be moved and replace the file in directory /root
- /root is empty: git.sh will be moved as git.sh to /root
mv
will remove source but cp
keeps it.
It’s better to have destination path with filename, for example mv git.sh /root/git.sh
. When moving multiple files use destination path just to directory without filename or wildcard chars, for example mv dir/* /root/
. When you want to move directory with subdirectories add -R
argument.
Use man mv
or man cp
for more information.
solved why command mv remove all the file? [closed]