
일부 작업을 완료하기 위해 기계에 SSH로 접속하고 있습니다. 내 홈 디렉터리에는 이전에 하위 디렉터리가 있었는데, 다른 디렉터리(예: )와 마찬가지로 디렉터리 myDirectory
내에서 이동할 수 있는 이름을 지정하겠습니다 .home
cd
cd ./myDirectory
이제 명령을 실행하면 오류가 발생합니다.
"myDirectory는 디렉토리가 아닙니다."
그리고 내가 실행하면 다른 디렉토리와는 다르게, 이전과는 다르게 색상이 지정됩니다 ls
. myDirectory
나~할 수 있다그러나 를 실행 mv someFile ./myDirectory
하고 최근에 이런 방식으로 여러 파일(지금 액세스해야 함)을 이동했습니다.
따라서 myDirectory
분명히 디렉토리를 가리키지만 ~/myDirectory
더 이상 존재하지 않습니다. 문제를 이해하고 있다고 생각하지만 디렉토리에 액세스하는 데 어떤 명령을 사용해야 하는지 잘 모르겠습니다. 이 디렉토리에 액세스하거나 새 위치를 확인하려면 어떻게 해야 합니까?
이 명령을 실행합니다:
ls -ld myDirectory
생산물:
-rw-rw-r-- 1 myUsername myUsername 15029 Nov 2 17:57 myDirectory
답변1
-
출력의 첫 번째는 다음과 같습니다 ls -ld myDirectory
.myDirectory
일반 파일, 디렉토리가 아닙니다.
어떻게 이런 일이 일어났는지 추측할 수 있을 뿐입니다. 한 가지 가능성은 귀하(또는 누군가/무언가)가 원래 디렉토리의 이름을 변경/이동/삭제했기 myDirectory
때문에 이름이 지정된 항목이 없다는 myDirectory
것입니다. 그런 다음 일부 일반 파일 someFile
의 이름을 myDirectory
.
mv someFile ./myDirectory
someFile
로 이름이 변경됩니다 myDirectory
. (존재하는 경우) 이름의 이전 일반 파일이 myDirectory
손실됩니다. 즉, 이런 방식으로 두 개 이상의 파일 이름을 바꾼 경우 마지막 파일만 쉽게 복구할 수 있습니다. 이름 아래에 있어요 myDirectory
.
이러한 사고를 방지하려면 디렉토리라고 생각되는 것을 참조할 때 뒤에 슬래시를 추가하세요. 만약 당신이 그랬다면
mv someFile ./myDirectory/
그리고 ./myDirectory
디렉토리가 아닌 경우 도구는 아무것도 이동하지 않고 불평할 것입니다.
지금까지 우리는 someFile
일반 파일이라고 가정했습니다. 디렉토리 유형일 수 있는 경우(그것도 파일이야) 그런 다음 (하고 싶은 작업에 따라)추가하는 것이 더 나을 수도 있습니다/.
대신에 /
.