カテゴリー
コンピューター

大量の写真を高速に整理! find, md5, awk を使った重複ファイルの見つけ方

この記事は、Googleの大規模言語モデル Gemini (モデル: gemini-2.5-flash-lite gemini-2.5-pro) と協力して作成しました。「大量の重複ファイルをどうやって効率的に見つけるか?」という実践的な課題について、対話を通じて解決策を導き出し、最終的にそのプロセス全体をブログ記事としてAIに執筆させています。この記事は、AIを単なる文章生成ツールとしてではなく、問題解決のパートナーとして活用した一例となります。


はじめに

「PCに散らばった大量の写真、整理していたら『これって同じ写真?』と不安になったことはありませんか?」

フォルダを分けてバックアップを繰り返しているうちに、同じファイルが複数の場所にコピーされてディスクスペースを圧迫していることはよくあります。一つひと つ手作業で確認するのは、ファイルが数千、数万ともなると現実的ではありません。

この記事では、開発者やコマンドラインに慣れている方向けに、find, md5, awkという3つの強力なツールを組み合わせて、大量のファイルの中から重複しているものを高速に見つけ出す方法を解説します。

カテゴリー
Linux

🔍 find コマンドの便利な使い方メモ

find コマンドの使い方への理解

find ディレクトリ 絞り込み条件 アクション
  • ディレクトリ: find の対象。再起的。
  • 絞り込み条件: どんな名前なのか、ファイルなのか、どの期間なのか
  • アクション: 絞り込まれたファイルに対して何をするのか
  • 他に大事だと思うこと
    • オプションは findディレクトリ の間に配置する。
    • 絞り込み条件 アクション はオプションではない。絞り込み条件 アクションfind path [expression][expression] に該当する。
カテゴリー
Linux

【DenyHosts】拒否リストに自動登録したメールが届いたので設定ファイルやログで確認いたしました♪

DenyHosts から SSHD アクセスに失敗した IP アドレスを拒否リストに自動登録したよ!というメールをいただきました♪

実際にどのような様子なのか、ノートしたいと存じます♪

拒否されたことを確認するポイント

  • /etc/hosts.deny に拒否した IP アドレスが記述されている
  • /var/log/secure に refused connect from 111.111.111.111 などと IP アドレスからの接続を拒否するログが残っている

最初に、/etc/hosts.deny に IP アドレスを登録したよ!というメールが DenyHosts から届きました

タイトル DenyHosts Report from oki2a24.com

本文

Added the following hosts to /etc/hosts.deny:

106.185.49.171 (li764-171.members.linode.com)

日付は、2014年12月4日 18:06 でした。

 Logwatch メールにも、攻撃とブロックの痕跡がございました♪

カテゴリー
Linux

Sendmail で送受信が全く不可能になったときに調べたこと。いつの間に、ナンデ止まってしまったのでしょう。

たったったっ大変だ!どっどっどっどうしよう!いつの間にか Linux サーバのメール送受信がまったくできなくなったことに気づいてしまいました。アイェェェェェェエ!ナンデ! Sendmail ナンデ!

ということで、昨日まで動いていた Sendmail が突然止まったときに行ったことをや考え方を記録に残します。そなえよう。

大事

  • 落ち着く。そのために、画面を見てわなわなしないで、深呼吸、体を動かす、外を見て自分の小ささを知り平静を保つよう、がんばる。
  • エディタを開き、「Sendmail メール送受信できない復旧メモ」など、適当でいいのでまず保存し、すべての記録をこのファイルに残していく
    コマンドも、ログも、気になった部分はここに張っていく。一番のお勧めはテキストファイル。早いし、軽い。メモ帳は使い勝手が悪いのでお勧めしない。私のお勧めは、サクラエディタ。無料!行数表示!検索結果ハイライト!矩形選択!ワードや、Evernote には、後でコピペすればよい。

ここまでが準備です。次からは具体的に実践していったことです。

カテゴリー
コンピューター

EC-CUBE の修正メモ。ある条件で送料無料にするにはどうすればいいですか?

EC-CUBE を修正したいです。具体的には、新規会員登録して、最初の買い物のときだけ、問答無用で送料無料!です。管理画面での使い勝手は度外視して、今回はどのソースをいじっていけばよいのか、あたりをつけます。

方針として、金額を計算する関数 calculate があるので、これでグレップ検索し、どこかの calculate 前のタイミングで購入履歴をチェクし、購入回数が0回であれば送料を無料にすればよいと考えました。