어떻게 해야 할지 이해하기 어렵습니다 ./
.
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
마침표 문자는 .
현재 디렉터리입니다. 예를 들어 ls
및 ls .
는 동의어입니다. 당신이 /etc
명령을 받고 있다면 cat /etc/fstab/
, 똑같은 일을 cat ./fstab
하십시오 .cat fstab
rm ./-file
파일 이름이 아닌 명령줄 옵션으로 시작하는 모든 항목이 rm
구문 분석 되기 때문에 사용됩니다 . -
예를 들어 이름이 인 ls -l
파일을 표시하려는 시도는 없지만 이 작업은 수행 됩니다 .-l
ls ./-l
ls /some/directory/-l
답변3
입력하면 name rm -file
대신 명령줄 옵션이 전달됩니다 .rm
-file
제거하려면 이름을 따옴표로 -file
묶 거나 escape 하십시오 . Bash 또는 zsh에서 명령이 올바른 파일 이름을 가져오는지 확실하지 않은 경우 탭 완성을 사용하십시오. 예: 화면이 인쇄되지 않으면 뭔가 잘못했다는 것을 알고 Enter 키를 누르기 전에 수정해야 하며, 다른 예는 를 인쇄해야 합니다 .rm
rm "-file"
-
rm \\-file
type rm -fi
TABrm -file
rm "-fi
TABrm "-file"
의 경우 디렉터리와 파일 이름 사이의 구분 기호만 사용합니다 ./
. /
"."은 현재 디렉토리를 나타냅니다. ".."은 상위 디렉토리를 의미합니다. 따라서 foo
현재 디렉터리에서 파일을 삭제하려면 rm ./foo
( rm foo
이 방법도 작동함)을 입력하세요. 이전 디렉터리의 파일을 삭제하려면 rm ../foo
한 수준 위 디렉터리에 포함된 디렉터리에서 삭제하려는 파일을 입력하세요.bar
rm ../bar/foo
이 경우 캐릭터가 가장 먼저 보이지 않도록 앞쪽 ./
에 배치하면 특정 옵션을 사용하고 있다고 착각하게 됩니다.-file
-
rm
DOS에 대해 조금 알면 DOS에 rm -file
해당됩니다 rm /file
.