CDの中の1つのフォルダに5万個のファイルがあります。
GUIでHDDにコピーしましたが、あまりにも遅過ぎるので途中で止めました。
プログレスバーが全く進まないし、熱で壊れそうなので途中で止めましたが、いくつかのファイルはコピーできていました。
1つのファイルは平均200kBです。
日本語、大文字が無いので、
0から始まるファイルのコピー
1から始まるファイルのコピー
・・・・・・・
zから始まるファイルのコピー
というように36分割すれば、1回で1400ファイルぐらいのコピーになるから早くできそうです。
考えはしましたが、これを自動化する方法が分からないし、他にもっとよい方法がございましたら教えてください。
Linuxの普通の操作でさえ困難なほどの知識しかありません。
マウントはやったことがありません。
初心者向けの方法を教えてください。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
この際、shellになれましょう。
マウントは、おそらく
$ mount /mnt/cdrom
でできるはずです。
で、その後、
$ cd /mnt/cdrom/(目的のファイルのあるディレクトリ)
$ cp * /home/hoge/fuga
* はワイルドカードといって、まあ七並べでいうジョーカーみたいなものです。
たとえば、
$ ls
foo foo1 foo2 goo goo2
というファイルがあったとすると
$ ls *2
foo2 goo2
$ ls goo*
goo goo2
ってかんじになります。
No.2
- 回答日時:
その GUI ソフトの出来にもよりますが、ファイルのコピーに要する時間は、CD と HDD の転送速度に依存するので、ファイル群を 36 分割しても、トータルでかかる時間はほとんど変わらないと思います。
それでも他の方法を試したいのなら、他のソフトを探して使うか、Linux 標準のコマンドを使うことになります。
なお、No.1 の回答に
> $ cp * /home/hoge/fuga
とありますが、引数の個数(多分 255 か 256)とコマンド行の長さ(確か1000 文字ぐらい)に制限があるので、5 万個のファイルでは、制限に引っかかって実行できません。1400 個でも無理です。
方法はいくつか考えられますが、例えば、
$ cd /mnt/cdrom/(目的のファイルのあるディレクトリ)
$ tar -cvf - . | (cd /home/hoge/fuga ; tar -xvf -)
という風にしてみてください(画面にコピーされるファイル名を表示しながらコピーが進みます)。いきなりやらないで、少ないファイルでテスト用のコピー先ディレクトリを使って、テストしてくださいね。
もし、
> 0から始まるファイルのコピー
> 1から始まるファイルのコピー
> ・・・・・・・
とするなら、tar の代わりに、
$ find . -name '0*' -cpio | (cd /home/hoge/fuga ; cpio オプション)
というのが考えられるのですが、cpio の「オプション」がどうすればよかったか、今思い出せません。マニュアルで確認してください。確か -ov か何かだったように記憶しているのですが…。
No.3
- 回答日時:
抜本的な改善策はひとつ。
FDとかCD-ROMなどの遅い回転メディアでは
転送速度以上にシーク速度の遅さが目立つ…ゆえに
シーケンシャルアクセスだけするのが最速のアクセス方法。
つまり、CD-ROMをそのままイメージファイルにして
dd if=/dev/hdc of=~/cdrom.img
できたイメージファイルをループバックデバイスとして
マウントするためのディレクトリーを作り
mkdir ~/cdromimage
そこに実際にマウントする。
mount -o loop ~/cdrom.img ~/cdromimage
これで、ls ~/cdromimageすると
CD-ROMの最上ディレクトリーが再現される。
なお、~/はホームディレクトリーを表す特殊文字。
ディレクトリー構造をそのまま利用する用途なら
そのまま使ってもいいし
通常のHDD領域に、改めてコピーしても良い。
そういえば、数年前にDIRECTORで作成された
ある種のCDカタログがあって
ビッグサイトでのカタログビュワー作者らとの雑談では
「CD-ROMドライブが壊れる」とまで言われていた。
CDイメージ化は無駄もあるけど、結果的には
CD-ROMドライブの消耗を抑える効果も得られる。
この程度のマウント操作は、基本のうちだから
それが無理ならWindowsで市販仮想CD-ROMソフトとか買う手もある。
No.4
- 回答日時:
No.2 に補足と訂正です(No.3 の回答で答えは出ているのかも知れませんが、キモチ悪いので)。
補足:
> $ tar -cvf - . | (cd /home/hoge/fuga ; tar -xvf -)
もっと単純に、cp -r . /home/hoge/fuga という方法もあります。コピー元にディレクトリが指定できるかどうか、マニュアルで確認してみてください。
訂正:
> $ find . -name '0*' -cpio | (cd /home/hoge/fuga ; cpio オプション)
これは記憶違いでした。正しくは、
find . -name '0*' -print | cpio -o | (cd /home/hoge/fuga ; cpio -idv)
です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Ubuntu でinvalid filenameとなるファイルをコピーする方法 3 2023/06/08 22:26
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- その他(パソコン・周辺機器) 同じファイル名 上書きしないフリーソフトなどあったら教えて下さい。 仕事で大量の写真などを扱っており 3 2023/05/18 06:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Windows 10 Windows10の回復環境 2 2023/02/03 19:13
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedriveで同期解除をしたら、...
-
マイドキュメントのフォルダの...
-
「隠しファイル・フォルダを別...
-
沢山のフォルダにあるファイル...
-
Macでエイリアスがつくれない。...
-
Windowsファイルエクスプローラ...
-
ファイルをコピーしたとき、も...
-
動画のサイズと再生時間の長さの件
-
ファイルのプロパティの属性の...
-
USB内のフォルダが「ファイル」...
-
USBメモリの表示する「残り時間」
-
viでヤンクした内容をWINDOWS上...
-
Googleドライブの同期について
-
新規フォルダが作成できず困っ...
-
フォルダ内の多重フォルダを解...
-
Mailの署名、ルールが戻りません
-
一つのフォルダに入るファイル...
-
Androidスマホ、SD入れ替え時の...
-
異なるファイルに入った複数の...
-
スマホのブックマークはどこに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedriveで同期解除をしたら、...
-
沢山のフォルダにあるファイル...
-
マイドキュメントのフォルダの...
-
Windowsファイルエクスプローラ...
-
異なるファイルに入った複数の...
-
ファイルをコピーしたとき、も...
-
USB内のフォルダが「ファイル」...
-
ファイルパスのチルダの意味
-
ファイルのプロパティの属性の...
-
移動先にないファイルのみをコ...
-
スマホのブックマークはどこに...
-
一つのフォルダに入るファイル...
-
Ubuntu でinvalid filenameとな...
-
Batファイルでxcopyを実行する...
-
「隠しファイル・フォルダを別...
-
USBメモリの表示する「残り時間」
-
VBAで複数のフォルダから最新の...
-
EXCEL ハイパーリンクが開かない
-
viでヤンクした内容をWINDOWS上...
-
フォルダの上書きで、上書きさ...
おすすめ情報