무슨 뜻이에요? [복사]

무슨 뜻이에요? [복사]

어떻게 해야 할지 이해하기 어렵습니다 ./.

Linux Essentials 책에서 -file.rm ./-file

답변1

.디렉터리는 현재 디렉터리입니다. 이 디렉터리는 ..이 디렉터리의 상위 디렉터리입니다.

$ pwd
/home/user

$ cd docs; pwd   # change to directory 'docs'
/home/user/docs

$ cd .  ; pwd     # we change to the '.' directory, therefore we'll stay. No change
/home/user/docs

$ cd .. ; pwd     # back to up level
/home/user

Linux에서는 명령 옵션이 기호로 도입됩니다 -. 즉 , etc.로 시작하는 파일을 ls -l참조하려는 경우 명령은 옵션을 지정하려고 한다고 생각합니다. 예를 들어 삭제하려는 경우:--file

rm -file

file명령의 옵션을 사용하려고 하기 때문에 불평할 것입니다 rm. 이 경우 파일의 위치를 ​​표시해야 합니다. 현재 디렉터리(예: 디렉터리)에서 .파일을 로 참조해야 합니다 ./-file. 즉, 디렉터리에서 .파일이 -file. 이 경우 명령은 rm이를 옵션으로 간주하지 않습니다.

rm ./-file

를 사용하여 수행할 수도 있습니다 --.

에서 man rm:

이름이 "-"로 시작하는 파일(예: "-foo")을 삭제하려면 다음 명령 중 하나를 사용합니다.

rm -- -foo
rm ./-foo

답변2

마침표 문자는 .현재 디렉터리입니다. 예를 들어 lsls .는 동의어입니다. 당신이 /etc명령을 받고 있다면 cat /etc/fstab/, 똑같은 일을 cat ./fstab하십시오 .cat fstab

rm ./-file파일 이름이 아닌 명령줄 옵션으로 시작하는 모든 항목이 rm구문 분석 되기 때문에 사용됩니다 . -예를 들어 이름이 인 ls -l파일을 표시하려는 시도는 없지만 이 작업은 수행 됩니다 .-lls ./-lls /some/directory/-l

답변3

입력하면 name rm -file대신 명령줄 옵션이 전달됩니다 .rm-file

제거하려면 이름을 따옴표로 -file묶 거나 escape 하십시오 . Bash 또는 zsh에서 명령이 올바른 파일 이름을 가져오는지 확실하지 않은 경우 탭 완성을 사용하십시오. 예: 화면이 인쇄되지 않으면 뭔가 잘못했다는 것을 알고 Enter 키를 누르기 전에 수정해야 하며, 다른 예는 를 인쇄해야 합니다 .rmrm "-file"-rm \\-filetype rm -fiTABrm -filerm "-fiTABrm "-file"

의 경우 디렉터리와 파일 이름 사이의 구분 기호만 사용합니다 ./. /"."은 현재 디렉토리를 나타냅니다. ".."은 상위 디렉토리를 의미합니다. 따라서 foo현재 디렉터리에서 파일을 삭제하려면 rm ./foo( rm foo이 방법도 작동함)을 입력하세요. 이전 디렉터리의 파일을 삭제하려면 rm ../foo한 수준 위 디렉터리에 포함된 디렉터리에서 삭제하려는 파일을 입력하세요.barrm ../bar/foo

이 경우 캐릭터가 가장 먼저 보이지 않도록 앞쪽 ./에 배치하면 특정 옵션을 사용하고 있다고 착각하게 됩니다.-file-rm

DOS에 대해 조금 알면 DOS에 rm -file해당됩니다 rm /file.

관련 정보