• ベストアンサー

tarコマンドについて

tarコマンドは 「複数のファイルを1つのファイルにまとめて管理するための、書庫管理コマンド」 ですが、なぜこのようなコマンドが必要なのでしょうか? 複数のファイルをひとつのディレクトリに入れればすむのではないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.3

使うときは個別ファイルで使いますが、伝送の時は1ファイルの方が便利です。

その他の回答 (4)

回答No.5

例えばインターネットから何かのソースコードをダウンロードするときに、 100ファイルをひとつずつダウンロードするのと、全てがまとめられて(アーカイブされて)ひとつになっているファイルをダウンロードすることを考えてください。アーカイブされたひとつのファイルをダウンロードして自ホストでコマンド一発で展開(まとめらてたものを元に戻す)したほうが楽だし漏れもないと思います。ファイル郡の受け渡しやバックアップなどに有効と考えておけばいいかと。

  • tonasuke
  • ベストアンサー率46% (7/15)
回答No.4

ファイルシステムにおいて、iノードやディスクブロック、ディレクトリリソースを節約するのに効果があります。 ファイルが1つ存在するためには、そのファイル用のiノードが必要です。また、ディレクトリにファイル名を記憶しておかなければなりませんので、当然、そのぶんの容量を必要とします。また、ファイルの実体はディスクブロックに書き込まれますが、ディスクブロックは固定長(512バイトや2048バイトなど)なので、どうしても無駄なバイト長が発生しがちです。「多くのファイルを1つのファイルにまとめる」ことで、これらの無駄を省くことが可能です。 その昔、コンピュータリソースが高価だった頃、高価な資源を少しでも有効活用するために考え出された技術なのだと思います。コンピュータリソースが安価になった現代ではその効果は薄れてきているとはいえ、頭をひねってリソースを有効活用する、という考え方は技術の基本です。

回答No.2

tarは元々 TapeARchive の略で 磁気テープにシステムをバックアップするためのコマンドです そのため多くのFILEを一つづつバックアップするよりも一つにまとめた方が 都合が良いのでそのように成っています。 またパーミッションなども元のfileが持っていた状態をそのまま保存できることも出来ます tar cvfp hogehoge、、、、 #1さんが書かれた様にtar自体は一つにまとめるだけで圧縮の機能は有りませんが gzipやbzipなどと組み合わせることで圧縮と 一つにまとめる機能(<-がアーカイブです)が出来 tar zcvfp hogehoge、、、 バックアップだけでなく プログラムなどの配布用途にも広く使われています http://ja.wikipedia.org/wiki/Tar http://www.atmarkit.co.jp/flinux/rensai/root05/root05a.html 初めてtar.gzファイルに接したときどう扱ってよいのか途方にくれたことを思い出します ↑winzipすらtarに対応していなかったころの話

  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  圧縮して(実際はTarではなくcompressなどが圧縮する)コンパクトにするためです。  メールに添付したり、ダウンロード用にします。   http://oshiete1.goo.ne.jp/qa1633977.html では。

関連するQ&A

  • tarコマンド

    tar zxvf XXX.tar.gz 上記コマンドを実行するとカレントディレクトリに XXXディレクトリが作成され、その中にファイルが展開されるかと思います。 このXXXディレクトリの名前をSSSとして解凍したいのですが、できますでしょうか?

  • UNIXのtarコマンドについて

    tarコマンドで以下の様に指定して、カレントディレクトリ配下のファイルのみをアーカイブしたいのですが、カレントディレクトリ自身の情報もアーカイブされてしまいます。ファイルのみをアーカイブすることは出来ないでしょうか?よろしくお願い致します。 tar cvf (tarファイル名) -C (ディレクトリ名) .

  • tarコマンドで

    ログインしたユーザーのホームディレクトリがカレントディレクトリで、 tar -cvf /dev/hda . というコマンドを実行した場合は、ユーザのホームディレクトリのすべてのファイルを新しくアーカイブしてhdaに書き出すという意味で良いのでしょうか?

  • tarコマンドの圧縮

    こんにちは。 3ファイルある、ディレクトリ(test)を、tarコマンドでまとめて、 gzipコマンドにて圧縮しました。 そのあと、gzcatコマンドにて、展開して結果をファイルに おとして見たところ、余計なものが付加されます。 見たところ、ディレクトリ名が付加されている感じに、なっており、 出さないようにする方法があれば、教えてください。 【構成】 OS:HP-UX  ディレクトリ:test ファイル:test1(中身は,yuuuuuu 1行のみ) test2(中身は,xxxxxxx 1行のみ) test3(中身は,zzzzzzz 1行のみ) 【圧縮】  1・tarコマンド (tar cvf test.tar test/) 2.gzipコマンド(gzip test.tar) 【解凍】  1.gzcatコマンド(gzcat test.tar.gz > list) 【結果】 1.catコマンド(cat list) test/0040750000000000000000000104357767601770ustar00rootsys0000test/test1000644100000000000000013104364453400126510ustar00rootsys00000000000yuuuuuu test/test200644000000013104364453400126510ustar00rootsys000000000xxxxxxx test/test300644000000013104364453400126510ustar00rootsys000000000zzzzzzz

  • tarコマンドのリターン値

    RedHatlinux AS3.0でperl内部でsystemコールでtarコマンドを 発行していますが $result = system "tar czvf・・・ 1> /dev/null 2> /dev/null" の結果として$resultの値に512という値が入ることがあります。 実際、tarファイルの作成には成功しているので0が返ってきて それ以外をエラーとして判定するように期待していたのですが 上記の通りの値になってtar成功に関わらずエラーと判断して しまいます。 この512というリターン値は何なのでしょうか? なお、単純にsystemで簡単なtarをすると0で普通に返ってきたりします。またtar元はディレクトリ配下の複数のファイルを*で圧縮しようとしています。

  • tarコマンドについて

    Solaris 8 です。 tarコマンドのヘルプを表示するにはどうしたらいいのでしょうか。 またtarコマンドが利用可能かを調べる事はできますか。 実際にtarファイルを解凍して調べる以外でアドバイス下さい。 宜しくお願いします。 失礼します。

  • Linux上でtarコマンドでデータをバックアップする為

    Fedora core 6を使っています、データのバックアップを取ろうと思い、ディレクトリー毎をtarコマンドでバックアップしようと思います。ディレクトリー内が30Gbyteもありますが、tarコマンドで正常に保存・展開ができるでしょうか?tarでアーカイブした時の最大ファイルサイズの制限ってあるのでしょうか?tarを実行するときの注意点などお教えください。

  • Linuxのtarコマンドについて

    Linuxのtarコマンドについてわかる方がいれば教えてほしいです。 (tarコマンドというよりはLinuxの仕様かもしれません) Linuxで以下①パターンと②パターンでコマンドを実行したときに 指定の仕方でtarファイルの作成されるディレクトリが違うのですが なぜでしょうか。 Linux初心者なので詳しく教えていただけると助かります。 共通(前準備 (#はプロンプトです)) # DIR=/tmp/hoge/2021 # ls -l ${DIR} ~ test1.txt ~ test2.txt ~ test3.txt # cd ${DIR} ①パターン # tar -cvf ${DIR}.tar ./* (アスタリスクです) # ls -l /tmp/hoge ~ 2021.tar ⇒/tmp/hoge配下にtarができる ②パターン # tar -cvf 2021.tar ./* (アスタリスクです) # ls -l /tmp/hoge ~ 2021.tar ⇒/tmp/hoge/2021配下にtarができる

  • cgywinでのtarコマンド

    初歩的な質問で申し訳ございません。 調べてみたのですが、 どうしても解決できないので お知恵をお貸しください。 cgywinをlftp利用のためwin7に導入し、 該当サーバ上にあるディレクトリ丸ごとをtarで固めて ローカルに持ってきたいのですが、 lftpでtarコマンドを使用すると 「unknown command 'tar'」 と、tarコマンド知りませんとエラーが出てしまいます。 システム変数に cgywinのbinのpathは追加しており、 あとはどうすればいいのかわかりません。。 教えてください。。

  • tar

    Linuxのtarコマンドで同一ディレクトリに解凍するコマンドは何でしょうか?