파일이 가질 수 있는 최대 길이는 파일 시스템에 따라 달라질 수 있습니다. 따라서 "리눅스에서 지원하는 가장 긴 파일 이름은?"이 질문은 답하기가 어렵습니다.
어찌됐건, 특정 길이에 대한 제한은 shell에서 getconf(1)를 써서 얻어낼 수 있습니다.
간단하게, 다음 명령으로 파일 이름의 길이 제한에 대해 알아낼 수 있습니다.
$ getconf PATH_MAX /
4096
단, 이 결과의 뜻을 조심해서 해석해야 합니다. 이 결과는 디렉토리 "/"가 있는 파일 시스템에서 "/"에서 시작하는 상대 경로의 최대 길이가 4096이 될 수 있다는 뜻입니다. "/"는 root 디렉토리이므로, 절대 경로(absolute path)의 최대 길이라고 해석해도 괜찮습니다.
하지만, 예를 들어 "/mnt/asdf/"가 다른 파일 시스템이라고 가정해 봅시다. 이 때 getconf 명령을 실행하면 다른 값이 나올 수도 있습니다. 편의상 8196이라고 가정해 봅시다. 이 뜻은 디렉토리 "/mnt/asdf/"에서 시작하는 상대 경로의 최대 길이가 8196이 될 수 있다는 것입니다.
무슨 의미인지?
파일의 길이를 구하는 것인가요?
아니면 생성가능한 파일 크기의 제한을 의미하는 것인가요?
linux에서 단순히 파일 길이를 구하는 것이면
google로 "shell 파일 크기 구하기"로 검색하셔도 금방 나올 답안이니 이 것은 아닌 것 같고 최대 파일 크기라면 다음 분에게 pass
단순히 파일크기가
단순히 파일크기가 아니라 최대 몇자리까지 파일명을 만들수 있는지 알수
있는 스크립트를 말하는 것입니다. 워낙 초보라서 문제의 요점도 제가
잘못 설명한것 같군요
숙제?? ^^.
#!/bin/bash
FN=""
IDX=1
SLEN=0
while [ $IDX -le 1024 ]
do
FN="A"$FN
touch $FN ; err=$?
if [ $err -eq 0 ] ; then
echo "length : $IDX : GOOD"
rm -f $FN
SLEN=$IDX
else
ERRMSG=`touch $FN 2>&1`
echo "length : $IDX : BAD"
echo $ERRMSG | grep -i "File name too long" > /dev/null 2> /dev/null ; err1=$?
if [ $err1 -eq 0 ] ; then
echo "Max filename length : $SLEN"
else
echo "unknown error."
fi
exit 1
fi
IDX=`expr $IDX + 1`
done
------------------------------------------------------------
개인 메일 서버를 만들어 사용합시다..
언제부터 e-메일이 포털의 전유물이 된거지??
home
답글 감사하고요
답글 감사하고요 이제시작이다 보니 마지막부분이해가 아직
힘들지만 그래도 알수 있어서 감사합니다
파일이 가질 수 있는
파일이 가질 수 있는 최대 길이는 파일 시스템에 따라 달라질 수 있습니다. 따라서 "리눅스에서 지원하는 가장 긴 파일 이름은?"이 질문은 답하기가 어렵습니다.
어찌됐건, 특정 길이에 대한 제한은 shell에서 getconf(1)를 써서 얻어낼 수 있습니다.
간단하게, 다음 명령으로 파일 이름의 길이 제한에 대해 알아낼 수 있습니다.
단, 이 결과의 뜻을 조심해서 해석해야 합니다. 이 결과는 디렉토리 "/"가 있는 파일 시스템에서 "/"에서 시작하는 상대 경로의 최대 길이가 4096이 될 수 있다는 뜻입니다. "/"는 root 디렉토리이므로, 절대 경로(absolute path)의 최대 길이라고 해석해도 괜찮습니다.
하지만, 예를 들어 "/mnt/asdf/"가 다른 파일 시스템이라고 가정해 봅시다. 이 때 getconf 명령을 실행하면 다른 값이 나올 수도 있습니다. 편의상 8196이라고 가정해 봅시다. 이 뜻은 디렉토리 "/mnt/asdf/"에서 시작하는 상대 경로의 최대 길이가 8196이 될 수 있다는 것입니다.
아래 명령을 수행하면 파일에 관련된 다양한 제한 사항들을 알아낼 수 있습니다.
좀 더 자세한 사항은 sysconf(3), pathconf(3)의 man page를 보기 바랍니다. 또한 SUS manual을 보시면 좀 더 자세한 내용을 알 수 있습니다. http://www.unix.org/version3/online.html
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기