다른 운영 체제의 명령 행에서 어떤 문자가 허용되고 어떤 문자가 이스케이프되어야합니까?
다른 운영 체제의 명령 행에서 어떤 문자가 허용되고 어떤 문자가 이스케이프되어야합니까?
답변:
Wikipedia 기사에서 File Names 에 대한 파일 이름 문자에 대한 토론이 있습니다 .
이 에세이 정보는 Fixing Unix / Linux / POSIX Filenames에서 찾을 수 있습니다 .
이 기사는 OS X와 Windows XP : X 대 XP : 파일 이름의 금지 된 문자를 비교합니다 (PDF, pp 약 64-66 참조).
1,000 달러에 파일 이름에 포함되지 않아야 할 사항 Alex
내가해야하는 문자를 모르는 유엔이 적어 주며,하지만 리눅스에서, 아마도 예 : "N"(줄 바꿈)으로 특별한 의미가있는 문자, "t"(탭)와 다른 사람을 탈출하는 좋은 생각이 아니다, 그러나 이것은 일반적으로 파일 작업에서 문제가되지 않습니다. 아마도 당신은 "탈출"보다는 "탈출"을 의미 할 것입니다. 가장 일반적인 것들은 공간, ">", "<"등과 같이 쉘이 해석 할 것입니다. 그것들에 대한 논의를 위해 링크 된 기사 중 일부를보십시오.
* nix에서 파일 이름에 허용되지 않는 유일한 문자는 NUL
및 /
입니다. Windows에서 유일한 NUL
, :
그리고 \
진정으로 허용하지만, 많은 앱이 더도 방지하는 것을 제한하지 않는 ?
, *
, +
,와 %
.
어떤 시점에서 파일 이름에 모든 문자 할 필요가 쉘에 의해 해석되지하기 위해 요구되는 경우를 제외하고 탈출 할 수 있습니다.
다음 문자 중 하나를 사용하여 탐색기를 사용하여 Windows에서 파일을 작성하면 해당 문자가 허용되지 않는다고 불평합니다.
\ / : * ? " < > |
좋은 참고 자료는 다음과 같습니다.
파일, 경로 및 네임 스페이스 이름 지정
http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx
Microsoft는 다음과 같이 설명합니다.
"... Windows 기반 데스크탑 플랫폼에서 유효하지 않은 경로 문자는 ASCII / 유니 코드 문자 1-31뿐만 아니라 따옴표 ("),보다 작음 (<),보다 큼 (>), 파이프 (|), 백 스페이스를 포함 할 수 있습니다. (\ b), null (\ 0) 및 탭 (\ t)입니다. "
http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars.aspx
\ / : * ? " < > |
GNU / Linux 시스템에서 mkdir을 사용하여 모든 것을 벗어날 수 있습니다 . 디렉토리 mkdir '?'
를 만드는 데에도 사용할 수 있습니다 ?
. 나는 그것을 테스트하기 위해 램 디스크와 XFS 파일 시스템을 사용했다.