新米インフラエンジニアの日常

インフラエンジニアとして働いている筆者が、技術に関することから日常生活までを気ままに綴っていきます。

業務で使う実用的なLinuxコマンド(ファイル検索編)

こんばんは、くろわです。 ブログを始めたのはいいものの、平日は忙しくて中々書く暇がありませんでしたヽ( ;´Д`)ノ

週末は基本的に家でゆっくりしてることが多いのですが、今週は遊びに出かけていたので更新が遅れてしまいました。 初回からいきなり更新が遅くなりましたが、なるべく更新して、自分の記録としても残せるよう頑張ります(`・ω・´)

さて、タイトルにも書きましたが、今回は現在業務で使っているLinuxコマンドを一部紹介します。よかったら使ってみてください。 逆に、このコマンドのほうがいいよなどのアドバイスがあれば、いただけると幸いです。

  • ls -al
    このコマンドでは、カレントディレクトリに存在するすべてのファイルを表示します。1番使うであろう基本のコマンドですね。
    aオプションを指定することで、ドットから始まる隠しファイルを表示し、lオプションを指定することでファイルの詳細情報(ファイルの所有者や権限など)も表示しています。また、tオプションをつけることで、タイムスタンプ順にソートすることできるので、そちらも便利です。
    上記例ではディレクトリを指定していないのでカレントディレクトリの情報が表示されていますが、ディレクトリを指定して表示することも可能です。
croissant# ls -al
total 131064
drwxr-xr-x   8 croissant  staff       272  6 27 01:35 .
drwxr-xr-x+ 60 croissant  staff      2040  6 27 01:35 ..
drwxr-xr-x   4 croissant  staff       136  6 27 01:15 dir1
drwxr-xr-x   3 croissant  staff       102  6 27 01:14 dir2
drwxr-xr-x   4 croissant  staff       136  6 27 01:16 dir3
-rw-r--r--   1 croissant  staff        69  6 27 01:35 hoge.txt
-rw-r--r--   1 croissant  staff  33549088  6 27 01:36 hoge1.txt
-rw-r--r--   1 croissant  staff  33549094  6 27 01:37 hoge2.txt
  • ls -al | grep "hoge*"
    このコマンドでは、カレントディレクトリに存在するhoge」からファイル名が始まるファイルをすべて表示します。
croissant# ls -al | grep "hoge*"
-rw-r--r--   1 croissant  staff        69  6 27 01:35 hoge.txt
-rw-r--r--   1 croissant  staff  33549088  6 27 01:36 hoge1.txt
-rw-r--r--   1 croissant  staff  33549094  6 27 01:37 hoge2.txt
  • ls ./dir*
    このコマンドでは、ディレクトリ名が「dir」から始まるディレクトリに存在するファイルの一覧を表示します。似たようなディレクトリ名が複数あり、それぞれどのようなファイルが入っているか確認するときに便利です。
croissant# ls ./dir*
./dir1:
a.txt     hoge3.txt

./dir2:
b.txt

./dir3:
c.txt     hoge5.txt
  • find . -size +10k | wc -l
    このコマンドでは、カレントディレクトリに存在するサイズが10kバイト以上のファイルの数を表示します。
croissant# find . -size +1000k | wc -l
       2
  • find . -name hoge.txt
    このコマンドでは、カレントディレクトリ配下(ディレクトリの中身も含む)に存在するhoge.txt」というファイル名のファイルを検索します。
    範囲を広げたい場合は「/」を指定したり、ファイル名が「hoge1.txt」とか「hoge2.txt」のものを探したいときには「"hoge*.txt"」のように指定することで検索できます。(正規表現で指定するときにはシングルクォーテーションやダブルクォーテーションで囲ってください)
croissant# find . -name "hoge*.txt"
./dir1/hoge3.txt
./dir3/hoge5.txt
./hoge.txt
./hoge1.txt
./hoge2.txt
  • find . -type f | xargs grep hello
    このコマンドでは、カレントディレクトリ配下(ディレクトリの中身も含む)に存在する「hello」という文字列が含まれているファイルを検索します。
croissant# find . -type f | xargs grep hello
./dir1/a.txt:hello
./dir3/c.txt:hello
./hoge2.txt:hello

本当はいろいろなコマンドを書こうと思っていましたが、思ったより書くのに時間がかかってしまったため、今回はファイル検索編としました。

次回はサーバの管理等に使うコマンドを紹介しようと思っています!

ブログはじめました

はじめまして。現在SIerで働いている、社会人2年目のくろわと申します。

私は現在インフラエンジニアとして、主にインフラの構成管理などを担当しています。 しかしまだまだ知識が乏しいので、日々先輩の元で勉強をしながら業務に当たる毎日です。

学生時代のときは情報工学を専攻しており、OSの研究を行う研究室に所属していました。 という部分だけ聞くとインフラについての知識が元からありそうに感じますが、残念ながらそんなことはありません…。私の研究テーマは、NoSQLの負荷分散に関することで、Javaでシミュレーションを行い、Pythonでデータを分析して…ということをメインで行っていたので、インフラの知識はあまりついていませんでした。

このブログでは技術に関して勉強したこと、技術関連のニュースの紹介、そして時には全く仕事に関係ないことなども書いていきたいと思っています。

以下、現在興味のあるキーワードを挙げておきます。

以上となっています。これからよろしくお願いいたします。