[완료]쉘에서 tar로 묶어주는 것인데, 파일이 4메가정도에서 다시 0으로 초기화가 되어버립니다.

sia79의 이미지

제가 사용한 명령은 간단하게 ls -1 | xargs tar -cvf /tmp/test/hahaha.tar 입니다.

현재 디렉토리에 매우 많은 파일들이 있고, 파일 이름이 날짜시분초로 되어있어서 시간순서대로 묶어주려고 합니다.

그냥 ls -1 치면 가장 낡은 파일이 처음이고 최신 파일이 마지막으로 오는 순서대로 정렬되어 보여주므로...

그대로 tar로 묶어주면 되겠다 싶어 저렇게 쓴 것인데요.

/tmp/test/hahaha.tar 이 파일이 약 4.5메가 써지면 그 다음 바로 0바이트부터 되는데 이유를 모르겠습니다.

혹시 tar에 묶어줄 파일 수의 제한이 있는지요? 물론 man 을 살펴보았는데, 찾질 못했습니다.

사용환경은 fedora 5 입니다. 디렉토리에는 1kb내외의 파일이 약 15만개 있습니다.

추가합니다:

find . | xargs tar -cvf /tmp/test/hahaha.tar 로 하면 모든 파일이 정상적으로 전부 묶여지는군요;;; 단지 정렬이 안될 뿐.

정렬을 시키려고 find . | awk -F/ '{print $2}' | sort | xargs tar -cvf /tmp/test/hahaha.tar 을 하면 또 위와 같이,

4.5메가정도에서 0바이트 되면서 다시 새로 써집니다. 왜 그런가요? ㅜ.ㅜ

코퍼스의 이미지

제가 테스트해보니 문제가 없군요.

혹시, 환경이나 버전 문제가 아닐까요?
저는 레드햇 리눅스를 사용합니다. 커널 버전 2.4.x이구요.

1) tar를 새로한번 받아서 테스트해보시는게 어떨까요?
2) 아니면, 다른 디렉토리에서 더미 파일들을 가지고서 테스트를 해보시지요..
3) 혹시, /tmp 디렉토리가 파일시스템 용량을 체크해 보세요.. 몇메가 안남은건 아닐까요?

A few Good Man

ironiris의 이미지

xargs 는 넘어오는 파일을 1000 개정도로 나눠서 명령을 "재실행"하는 프로그램입니다.
그러니까 hahaha.tar 라는 파일이 처음 1000개로 묶이고 그거 완료되면 또 같은 파일명으로 다음 1000개를 묶고 하는거죠..

bushi의 이미지

그럼
rm -f hahaha.tar
touch hahaha.tar
ls -1 | xargs tar rvf hahaha.tar
하면 되겠군요

OTL

sia79의 이미지

네, 잘 되는군요. 고맙습니다.

sia79의 이미지

xargs에 대해 새로운 사실을 알게되었습니다. 정말 감사합니다.
man 페이지에 않나와있다니...

코퍼스의 이미지

오~~ 새로운 사실을 깨달았네요..

그래서.. gnu xargs를 다운받아 살펴봤는데..(내..가끔 이렇게 쓸데없이(?) 필 받을 때 있습니다)
확인해 보니..시스템에서 환경정보 등을 가져와서 arg_max를 셋팅하는데..
제가 xargs를 바탕으로 테스트 프로그램을 짜서 보니, 16854가 나오는군요..

그렇다면,,, 기본적으로 리눅스에 깔려 있는 xargs와 새로이 소스를 받아 컴파일한 xargs의 arg_max 차이가 존재하지 않을까요?
(음..혹, 나중에 시간나면 제가 직접 시험을 해보지요..
혹시, 먼저 필받으시는 분 계시면 올려주시던가요..^^)

A few Good Man

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.