파일을 이동하는 동안 실수로 잘못된 bash 스크립트를 실행했습니다. "Lisa"로 시작하는 모든 폴더는 사라지고 이동되지 않습니다. 다음은 오류 스크립트의 대략적인 내용입니다.
folder_path = "/media/hdd/folder/"
Lisa = "/media/hdd/folder/folder1/Lisa/"
mv $folder_path Lisa* $Lisa
Lisa로 시작하는 폴더가 모두 사라졌는데 확인해 보니 /media/hdd/folder/folder1/Lisa/
거기에 없습니다. 나는 그것들이 제거되었다고 가정하지만 df -h
잘못된 스크립트를 실행하기 전에 동일한 여유 공간이 여전히 보고됩니다.
아무 소용이 없군요 lsof
. 폴더가 삭제된 건가요? 어떤 도움이라도 대단히 감사하겠습니다.
답변1
구문에 몇 가지 문제가 있어 몇 가지 문제가 발생합니다. Bash에서(이 스크립트를 그렇게 실행하고 있는지는 확실하지 않지만) =
운영자는 주위에 공백이 있으면 할당을 수행하지 않습니다. 즉, 에 x=y
할당 하고 과를 비교합니다 . 공백이 있으므로 둘 다 설정되지 않은 것으로 가정하겠습니다 (할당이 수행되지 않으므로).y
x
x = y
x
y
folder_path
Lisa
그렇다면 그냥 수행 하고 빈 문자열로 mv
확장하세요 . 따라서 기본적으로 다음을 실행합니다.$folder_path
$Lisa
mv Lisa*
이는 현재 작업 디렉토리에서 "Lisa"로 시작하는 모든 항목으로 확장됩니다. 내용에 따라 파일 덮어쓰기, 이동, 이름 바꾸기 등 다양한 작업을 수행할 수 있습니다.