ファイルとディレクトリ操作の応用|ターミナル作業を効率化|UNIX Cafe

当サイトでは、コンテンツの一部に広告を掲載しています。
ファイルとディレクトリ操作の応用|ターミナル作業を効率化|UNIX Cafe

UNIX Cafe | 第12回

目次

はじめに|ファイル整理は“後回し”になりがち

パソコンを使っていると、
いつの間にか 同じようなファイルが増え、どれが最新かわからない 状態になりがちです。

  • 古いファイルが残っている
  • バックアップが手作業で追いつかない
  • 整理しようと思っても時間がない

そんなときに役立つのが、ターミナルとシェルスクリプトによる自動整理 です。

このページでは、

  • 必要なファイルを探す
  • 条件に合うものだけ移動・コピーする
  • フォルダがなければ自動で作る

という一連の流れを、安全第一で紹介します。

ミナちゃん

ファイルが増えてくると、「あとで整理しよう」って思いながら、
そのままになっちゃいますよね。

find コマンド|条件を指定してファイルを探す

ファイル整理の第一歩は、
「何が、どこに、どれだけあるのか」を知ることです。

find コマンドを使うと、

  • 保存場所
  • ファイルの種類
  • 更新日時

などを条件にして、対象ファイルだけを一覧表示できます。

例:3日以上前に更新されたファイルを探す

find ~/Documents -type f -mtime +3
  • ~/Documents:対象フォルダ
  • -type f:通常のファイルのみ
  • -mtime +3:3日より前に更新されたもの

👉 まずは削除や移動をせず、表示だけで確認する のが安全です。

mv と cp|ファイルを安全に整理する

見つけたファイルを整理する方法は、大きく2つあります。

  • cp:コピー(元は残る)
  • mv:移動(元から消える)

まずはコピーで試す(おすすめ)

find ~/Documents -type f -mtime +3 -exec cp {} ~/backup/ \;
  • 古いファイルを backup フォルダへコピー
  • 元ファイルは残るので安心

💡 慣れるまでは cp → 確認 → mv の順がおすすめです。

dry-run|「何が対象か」を事前に確認する

実際に操作する前に、対象ファイルだけを一覧表示して確認できます。

find ~/Documents -type f -mtime +3 -print

この確認をしておくと、

  • 必要なファイルを誤って移動する
  • 想定外のファイルまで対象になる

といった事故を防げます。

if文|「なければ作る」を自動化する

スクリプトでは、フォルダが存在しないとエラーになることがあります。

そこで使うのが if文です。

if [ ! -d ~/backup ]; then
    mkdir ~/backup
    echo "backupフォルダを作成しました!"
fi
  • -d:ディレクトリが存在するか確認
  • !:存在しなければ

👉 事前準備をスクリプトに任せることで、人の操作ミスを防げます。

Try it!|自動お片づけスクリプト

ここまでの内容を組み合わせると、安全なファイル整理スクリプトが完成します。

#!/bin/bash

if [ ! -d ~/backup ]; then
    mkdir ~/backup
fi

find ~/Documents -type f -mtime +3 -exec mv {} ~/backup/ \;

echo "☕ 古いファイルを backup に移動しました!"

このスクリプトでできること

  • backup フォルダがなければ自動作成
  • 3日以上前のファイルだけを対象に
  • Documents フォルダ内を整理

ページのまとめ|整理は「考え方」が大切

  • find:条件を指定して探す
  • cp:安全にコピーする
  • mv:整理して移動する
  • if文:事前準備を自動化する

シェルスクリプトによる整理は、単なる掃除ではなく 「仕組み化」 です。

一度作ってしまえば、毎回同じ手間をかける必要はありません。

ミナちゃん

一度仕組みを作ってしまえば、あとはスクリプトが
そっと片づけてくれるんですね。

さらに学びたいあなたへ

📘 用途ごとに選ぶ Linux のおすすめ本

あわせて読みたい
レベル・用途別おすすめ Linux 本リスト|UNIX Cafe UNIX Cafe | 第65回 Linux の世界には、「はじめて触る人」「コマンドを覚えはじめた人」「サーバーに挑戦したい人」と、さまざまな段階があります。そんなときに、自分...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe 編集部

UNIX Cafe は、むずかしい言葉をできるだけ使わず、物語を読むような気持ちで気軽に学べる場所です。
プログラミングは、アイデアをコンピューターに伝えるための「ことば」。
簡単な単語と文法を覚えることで、誰でもターミナルから便利なコマンドを使えるようになります。
コーヒーを片手に立ち寄るような気持ちで、やさしいプログラミングの世界を、
そっとのぞいてみてください。

目次