"mv 파일"그리고 지금은 없습니다


32

터미널 창에서 다음을 입력했습니다.

mv filename ..\..      [Note the wrong slash.]

지금은 찾을 수 없습니다. 지나간. 일부 검색을 실행하고 복구 가능한 삭제 된 파일을 살펴 보았습니다. 아무것도. of. 바로 전에 Windows 컴퓨터를 사용할 수 있습니다.

어디로 갔는지 아는 사람 있나요?


find / -iname thefilename -print 아마도 ?
Sergiy Kolodyazhnyy

@Serg thefilename파일을 원래 이름으로 사용하면 해당 find명령은 새 이름 아래에서 찾을 수 없습니다.
Eliah Kagan

의견을 게시 한 직후에 깨달았습니다. 파일이없는 경우 내 초기 응답은 find를 사용하는 것이지만 내가 알지 못하는 것은 op가 파일을 이동하는 대신 파일 이름을 바꿨다는 것입니다.
Sergiy Kolodyazhnyy

답변:


70

현재 디렉토리에는 아무데도 없습니다. 이름이 ....(4 개의 점) 으로 변경되었습니다 .

.앞에 있는 파일 이름 은 숨겨진 파일로 취급되므로 숨겨집니다. 따라서 그렇게하면 ls찾을 수 없습니다. 마찬가지로 항상 당신이 필요로 -a(또는 -A의) 옵션을 ls즉 숨겨진 파일을 볼 수있는 ls -a(또는 ls -A)을 참조하십시오.

당신이 실행 내가 그것을 파괴하자 mv filename ..\..가 있다면 처음 두 점은 상위 디렉토리를 의미 할 것입니다, ../하지만 당신은 백 슬래시 사용하고 ..\다음 문자를 탈출 쉘을 표시하지만 점은 .쉘 특별한 의미가 없습니다합니다. 따라서 리터럴로 취급 .하고 마지막으로 .추가 한 것이므로 ....파일 이름으로 4 개의 점이 생깁니다.

이전 (원래) 이름으로 되돌리려면을 실행하십시오 mv .... filename.


2
ㅎㅎ ㅎㅎㅎ 거기는: "....". 감사! 첫 번째 점을 .hideme 점으로 해석 한 것 같습니다.
John

2
la -A(자본 A와 함께) 제안하겠습니다 . 이 같은 않습니다 ls -a제외하지만, ....
Paddy Landau

13

mv .... filename다시 이름을 바꾸려면 실행하십시오 . (또한 mv ..\.. filename작동하지만 \원래 명령과 동일합니다.)

  • 파일이 삭제되지 않았으므로 복구 가능한 삭제 된 파일을 검색하지 못했습니다.
  • Windows에서 .와 같이 ..항목은 모든 디렉토리에 존재하며 각각 "현재"및 "부모"디렉토리를 참조하십시오. 그러나 Windows와 달리 두 개 이상의 점 시퀀스는 특별한 의미가 없습니다. 드문 일이지만 적어도 3 개의 점이있는 한 완전히 점으로 구성된 이름을 가진 일반 파일의 이름을 자유롭게 지정할 수 있습니다.
  • Windows와 달리 우분투에서 쉘은 \이스케이프 문자로 사용 하여 쉘이 특별한 의미를 부여하기보다는 다음 문자를 문자 그대로 취급합니다. .문자 (특히, 쉘이 할 책임 무엇이 아닌 쉘에서 특별한 의미가 없습니다 ...항목이 작동). 따라서 귀하의 명령에서 \.와 동일합니다 ..
  • 으로 heemayl는 말한다 , 기본적으로 대부분의 유틸리티는 파일과 이름이로 시작할 디렉토리를 표시하지 않습니다 .. 로 ....시작 했기 때문에 또는 플래그 없이 .실행 ls해도 이를 나타내지 않았습니다.-A-a

1
정확히 내가 찾은 방법입니다. 왜 내 "\"가 이스케이프 역할을하지 않았는지 궁금해했지만 나중에는 그렇게 대우받지 못했습니다. 맞는 말이다.
John

5

그것은 여전히 ​​같은 디렉토리에 있으며, 단지 '숨겨진'파일입니다. "mv .... filename"으로 복구 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.