Linux mv 명령이 데이터를 알 수없는 위치로 옮겼습니까?


11

실수로 SSH 에서이 명령을 실행했습니다.

mv /var/www/vhosts/website/httpdocs/magento/*

이제 magento dir의 모든 데이터가 사라졌습니다. 어디로 옮겼는지 아는 사람 있습니까?

감사!


데이터가 들어간 디렉토리를 자동으로 결정하고 Bash를 사용중인 경우 다음을 수행하십시오 a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}". Bash에 없으면 다음과 같이 작동 printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1합니다.. 그렇지 않으면 마지막 디렉토리에 알파벳순으로있을 가능성이 높습니다. 끝난.
gniourf_gniourf

답변:


20

이 디렉토리의 사전 순으로 마지막 항목이 디렉토리 자체 인 경우 해당 디렉토리가 있습니다.

당신이 파일을 가지고 가정 a, b그리고 c및 디렉토리 d. 이 경우

mv /var/www/vhosts/website/httpdocs/magento/*

~로 확장

mv /var/www/vhosts/website/httpdocs/magento/a /var/www/vhosts/website/httpdocs/magento/b /var/www/vhosts/website/httpdocs/magento/c /var/www/vhosts/website/httpdocs/magento/d

이것은 모든 것을로 옮기는 명령 d입니다. 뭔가 있으면 거기를 봐

경우 d디렉토리 아니었다, mv그것에 대해 불평한다.


1
+1 : / var / www / vhosts / website / httpdocs / magento / * 디렉토리의 하위 디렉토리 아래를 확인하십시오. 힌트 : 하위 디렉토리는 여전히 magento 디렉토리에 있으므로 거의 모든 다른 것이 그 아래에 있어야하기 때문에 쉬워야하므로 하나의 디렉토리 만 남아 있어야합니다 ( '.'로 시작하는 디렉토리는 제외). 해당 하위 디렉토리를 입력하고 "mv * .." 이로 인해 이전에 해당 디렉토리 바로 아래에 있던 항목 이 이동 될 수 있으므로 다시 저장해야합니다. + magento / * 파일과 이름이 같은 파일은 덮어 쓰게됩니다 ( "mv"가 "mv -i"로 별칭이 지정되지 않은 경우)
Olivier Dulac

2
깔끔한 트릭 mv *: mkdir zzz; mv *현재 디렉토리의 모든 내용을 디렉토리 zzz로 이동시킵니다. zzz 다음에 렉사 그래픽으로 정렬 된 파일이 없는지 확인하십시오.

2

glglgl의 응답을 확장하려면 :

유닉스 계열 운영 체제에서 명령 줄 와일드 카드 확장은 셸에서 수행됩니다. 리눅스에서 대부분의 경우는 그렇습니다 bash. 매뉴얼 페이지에는 와일드 카드 확장이 알파벳순으로 정렬되어 있다고 명시되어 있습니다. 대부분의 Bourne 호환 쉘에도 동일하게 적용됩니다.


아마 대부분뿐만 아니라 모두. 그렇지 않으면 호환성이 부족합니다.
glglgl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.