리눅스 셀 스크립트중 파일최대길이 구하는것좀 알려주세요...

정천수의 이미지

1.리눅스 bash shell 에서 파일최대길이 구하는 스크립트좀 알려주세요
초짜라서 뭐가 뭔지 하나도 몰라서

bootmeta의 이미지

파일의 길이를 구하는 것인가요?
아니면 생성가능한 파일 크기의 제한을 의미하는 것인가요?

linux에서 단순히 파일 길이를 구하는 것이면

stat -c "%s" 파일명

google로 "shell 파일 크기 구하기"로 검색하셔도 금방 나올 답안이니 이 것은 아닌 것 같고 최대 파일 크기라면 다음 분에게 pass

정천수의 이미지

단순히 파일크기가 아니라 최대 몇자리까지 파일명을 만들수 있는지 알수
있는 스크립트를 말하는 것입니다. 워낙 초보라서 문제의 요점도 제가
잘못 설명한것 같군요

slc의 이미지

#!/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

정천수의 이미지

답글 감사하고요 이제시작이다 보니 마지막부분이해가 아직
힘들지만 그래도 알수 있어서 감사합니다

cinsk의 이미지

파일이 가질 수 있는 최대 길이는 파일 시스템에 따라 달라질 수 있습니다. 따라서 "리눅스에서 지원하는 가장 긴 파일 이름은?"이 질문은 답하기가 어렵습니다.

어찌됐건, 특정 길이에 대한 제한은 shell에서 getconf(1)를 써서 얻어낼 수 있습니다.

간단하게, 다음 명령으로 파일 이름의 길이 제한에 대해 알아낼 수 있습니다.

$ getconf PATH_MAX /
4096

단, 이 결과의 뜻을 조심해서 해석해야 합니다. 이 결과는 디렉토리 "/"가 있는 파일 시스템에서 "/"에서 시작하는 상대 경로의 최대 길이가 4096이 될 수 있다는 뜻입니다. "/"는 root 디렉토리이므로, 절대 경로(absolute path)의 최대 길이라고 해석해도 괜찮습니다.

하지만, 예를 들어 "/mnt/asdf/"가 다른 파일 시스템이라고 가정해 봅시다. 이 때 getconf 명령을 실행하면 다른 값이 나올 수도 있습니다. 편의상 8196이라고 가정해 봅시다. 이 뜻은 디렉토리 "/mnt/asdf/"에서 시작하는 상대 경로의 최대 길이가 8196이 될 수 있다는 것입니다.

아래 명령을 수행하면 파일에 관련된 다양한 제한 사항들을 알아낼 수 있습니다.

$ getconf -a /

좀 더 자세한 사항은 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/

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.