【LINUX】個人的、覚えておきたいコマンド集
こんばんは、Hiroyaです。
いつも記事を読んでいただきありがとうございます。
今回は、大量のログファイルから、特定の期間のログをZIP形式にして抽出したいときに便利なLINUXコマンドを解説します。
LINUXの基本がわかる人に向けた記事になっております。
duコマンド
du -sm
どのディレクトリにどれくらいのデータが入っているか調べるときにduコマンドが便利です。容量を圧迫している原因を割り出すときにも利用します。
duコマンドは、ファイルのディレクトリや容量を計算できます。
オプションの「s」は指定したディレクトリの合計サイズを取得することができます。
「m」で単位を指定できます。
(bがバイト、kがキロバイト、mがメガバイト)
lsとwcの組み合わせ
ls | wc
特定のディレクトリのファイルの数を知りたいときに利用するのが、この組み合わせです。
lsコマンドは、ディレクトリ内のファイルやサブディレクトリの一覧を表示することができます。
「|」にて2つのコマンドを組み合わせることができます。
wcコマンドは、ディレクトリ内のテキストファイルの行数、単語数、バイト数を表示します。
組み合わせることで、lsコマンドで得たファイルの情報をwcコマンドで数えて表示します。
指定した期間のファイルを抽出
find /path/to/your/directory -type f -newermt 2024-01-01 ! -newermt 2024-01-02 -exec zip /path/to/output/filename.zip {} +
「先週分のログだけを抽出してくれ」なんて言われたときに、ログの数が多いとたいへんでしょう。
そこで、指定した期間のログをZIP形式にして抽出することができるコマンドが上になります。
findコマンドは、指定のファイルを検索するコマンドです。
「/path/to/your/directory」
こちらは任意のディレクトリを選択します。
「-type f」はfindコマンドに対するオプションで、検索する対象がファイルであるという指定を行います。
「-newermt」もfindのオプションであり、特定の日時よりも新しいファイルを検索することができます。対称に「! -newermt」としているのは特定の日付よりも古いファイルを検索しております。
この2つで特定の期間の指定を実現しております。
「zip /path/to/output/filename.zip」にて、findコマンドで指定したファイルをZIP形式に圧縮しております。こちらのファイル名と場所は自由に指定して下さい。
「-exec zip {} +」はfindコマンドで指定したファイルへzipコマンドを実行するという意味になります。「-exec」は実行する、「+」は-execオプションの終了という意味を持ちます。
まとめ
LINUX使っていくと面白いですよ!(布教)
ここまで読んでいただき、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?