실수로 mv mymods /* *
. 이제 실행 취소하거나 어떤 명령도 사용할 수 없습니다. 어떻게 해결하나요?
나는 디렉토리 이름에 있었다/home/nginx/crap
[root@somehost /home/nginx/crap]# mv mymods /* *
Centos 6.3 사용자 - 루트
디렉토리 구조/home/nginx/crap
답변1
/*
기본적으로 모든 것을 에서 파일을 옮겼을 가능성이 높습니다 . 주어진 /
디렉토리는 최상위 디렉토리이고 모든 것을 *
그 아래로 옮깁니다. 내 질문은 어디로 옮겼습니까?
어디로 옮겼는지 알 수 있다면 모든 것을 다시 되돌릴 수도 있습니다. 이제 명령이 다른 위치에 있는 경우 명령을 직접 호출해야 하며 mv
(즉 /accident/dir/mv
, 필요한 라이브러리가 예상되는 위치에 없다는 점을 감안할 때 명령을 실행할 수 있다는 보장도 없습니다) 둘 중 하나입니다.
CentOS CD/DVD와 함께 제공되는 복구 CD 기능을 사용하여 시스템을 부팅하고 HDD를 마운트할 수 있도록 하는 것이 좋습니다. 여기에서 Live CD의 mv
명령을 사용하여 HDD의 Linux 설치를 복구 할 수 있습니다 .
답변2
해당 명령의 결과는 다음과 같습니다.
- 파일 또는 폴더
/home/nginx/crap/mymods
- 모든 디렉토리
/
(이론에 의하면) - 다음의 모든 파일과 디렉터리
/home/nginx/crap/
*
in 에서 지정한 마지막 디렉토리로 이동했습니다 /home/nginx/crap/
. 다음과 같이:
ls -d /home/nginx/crap/*
afile1 afile2 dir1 dir2
그러면 모든 것이 dir2
.
의 마지막 항목이 *
파일인 경우 파일과 폴더를 파일로 이동할 수 없으므로 명령이 실패했을 것입니다.
gist
게시물 의 마지막 파일은 tree.txt
파일을 이동하지 않았을 가능성이 높으며 다른 일이 발생했을 가능성이 높습니다.
사용할 수 있는 명령이 있는지 확인하세요 env
.