Getting an error cp: cannot stat when trying to copy files from one folder to another
Solution 1
If your source directory is set in quotes, then make sure that the *
is outside the quotes, i.e.
cp "source/"* dest
or
cp "source"/* dest
Solution 2
It's an odd thing about the unix system that glob expansion (aka use of the "*
") is done by the shell, and not by the program you are calling, and furthermore, if the glob doesn't match anything, instead of expanding to nothing, it expands to itself and passes that to the program. So the cp command sees literally "/mock/*
" which doesn't exist, because you have no file called "*
". Somewhat perversely if you had a file called "*
" it would dutifully copy it without complaining.
Solution 3
cannot stat
= file/dir does not exist. Check the path first.
And, you say you want to copy /mock
but the error message says mock
. Show the real code first.
When I test in ubuntu, cp (GNU coreutils) 8.28
, I have no problem with copying all files under a dir to another dir, when both paths are correct.
root@DESKTOP-9NHNV2I:~# cp /root/temp/* /root
root@DESKTOP-9NHNV2I:~# ls
temp test.txt test2.txt test3333.txt
Solution 4
cp is used in unix/linux for copy
cp /mock/* ~/projweek
this means copy from /mock folder all files to folder projweek that resides in root
This means cp: cannot stat ‘mock/*’: No such file or directory
unable to copy all files from mock folder because file or directory not exists on relevant path
Solution 5
cp: cannot stat ‘mock/*’: No such file or director
- Check that the files exist on the path.
- Also to copy all the files in a folder to another location, use
.
operator like:cp /source/. /dest/
user5647516
Updated on July 08, 2022Comments
-
user5647516 almost 2 years
I have this directory called "mock", which contains 3 directories. I am trying to copy all the items from "mock" directory into the "projweek" directory using the following command:
cp /mock/* ~/projweek
But I get this error:
cp: cannot stat ‘mock/*’: No such file or directory
Any ideas as to why that is?
-
TRiNE about 5 yearsIn my case folder folder name was in correct :D
-
-
user5647516 over 8 yearsSo how can I am amend this? Both mock and projweek are in the root @LifeSaver
-
papo over 5 yearsgood to have this answer here, if you come by search, but not exactly the case of OP, as OP didn't use quotes. star inside double quotes "*" is taken literally , as a file with a star (*) in its name. End it does not exist.
-
papo over 5 yearsok, could you please edit the answer, so it will be valid also for the OP's question?
-
Kenneth Odle over 5 yearsTry
ls /mock
. Do you get an error? If so, your path to/mock
is incorrect. If not, make sure that/mock
actually has files in it. -
Jack M almost 4 yearsNote that what's true for
*
also goes for~
. For some reason the only way I could getcp "~/stuff" dest
to work wascp "$HOME/stuff" dest
. -
Andrew Koster over 2 yearsThis does not answer the question at all.
-
tripleee over 2 yearsThis particular problem is a symptom of stackoverflow.com/questions/37586811/…