パソコンに詳しい方なら使っているLinux。皆さんはコマンドでファイル検索をどのように行っていますか?どんなコマンドがあるのか気になりますよね。そこでここではLinuxの検索方法やファイル検索のコマンドについて詳しくご説明したいと思います。
Linuxとは、聞いたことはありますでしょうか?Linuxとは、パソコンに使われているものです。知り合いがLinuxを使っている。職場がLinuxを使用しているなどして、Linuxとは多少知っているという人もいるかもしれません。
Linuxとは?についてもう少し深堀をしていきます。Linuxとは、Unix系オペレーティングシステムカーネルであるLinuxカーネル、およびそれをカーネルとして周辺を整備したシステムである。フリーかつオープンソースなOSです。
Linuxとは、ソースコードが公開されているオープンソースのOSですので基本的に誰でも使うことができます。またLinuxでコマンドでファイル検索を行うにはどのような種類があるのか使い方も合わせて見ていきたいと思います。
findコマンドはファイルやディレクトリを検索するコマンドです。パソコンの中で作成したファイルがどこにあるかわからなくなった時はもちろん、Linuxを利用する上で設定ファイルを探すということはよくあることです。そういったものを探す役割があります。
findコマンドはどのような役割をするんだっけ?と思ったときには『find=見つける、探す』といった英語の意味合いから感じると覚えやすいですね。つまりfindコマンドの使い方は何かファイルを探すときに使います。
Linuxに限らずOSは膨大な量のバイナリやテキスト、デバイスファイルなどのファイルの種類を問わず管理することになります。そこで重要になってくるのが『ファイルの検索』です。『ファイル名がわかるがどこにそのファイルがあるかわからない』
『変更した日付はわかるが、名前がわからない』『とあるパーミッション情報をもっているファイルを列挙したい』など、そんなユーザーの断片的な情報からファイルを検索してくれる使い方ができるのがfindコマンドです。
Windowsの場合、右上の検索欄に検索したいファイル名などを入力すれば可能です。もちろんGoogle Desktopなども有用です。
locateコマンドは『$ locate *.txt』などとすれば検索が出来、findほど強力ではないが、検索が非常に高速なので、ぱっとファイルを検索したい時などに重宝するコマンドです。精密にファイルを探したい場合、などはまずlocateコマンドを使います。
ある程度場所に見当をつけてからfindでしぼりだしするとよい。たいして漠然とファイル名の欠片が頭にあるのならばlocateを使用してぱっと探すというのがよいだろう。大まかな場所を探すのにlocateコマンドを使い、その後findコマンドで詳しく探し出します。
findコマンドは非常に素直にファイルやディレクトリに検索をかけるのです。しかしHDDなどの媒体だと、検索する時間が膨大になることがあるので、ときと場合によっては『locate』コマンドを使用したほうが良いこともありまする。
locateコマンドはあらかじめファイルのデータベースを作成して、そのデータベースを参照して検索をかけるので非常に高速に動作するのですがデータベースを更新しないと、新しいファイルは反映されないので注意します。
dirコマンドは自分が欲しいファイルがどこにあるかわからなかったときに検索できると便利です。Windowsでは、dirコマンドに/sオプションを付けることで、カレントディレクトリからサブディレクトリをたどって検索できます。
dirの通常の詳細情報ではなくパス付きのファイル名だけを表示したい場合には、/bオプションを付けます。
dirコマンドを使うメリットはとにかくファイルの場所がわからなかったときにすぐに探し出してくれるコマンドなのでファイルがあるのか、ないのか…。といった場合に手軽にファイル検索を行うことができます。
基本的にdirコマンドはファイルやディレクトリの一覧を表示するときに使うコマンドとして使われます。
さて、先ほどはLinuxのファイル検索を行うにあたってコマンドを3種類ご紹介しました。『findコマンド』『locateコマンド』『dirコマンド』です。これらの便利な使い方を知りたいですよね。この3種類にも細かいコマンド設定があります。
コマンドオプションを付けて検索をことでよりユーザーの欲しい情報を届けてくれます。そこでここではファイルの検索を行ってくれるfindコマンドの使い方やfindはどのようなものかについて見ていきたいと思います。
ファイルでのパーミッションの意味とは下記のがぞぅのようなものですが、これがディレクトリになると意味が違ってきます。基本ですがLinuxのディレクトリとは、WindowsやMacでいうところのフォルダのことです。
読み込み(read) | ディレクトリ内のファイルを見る lsコマンドをディレクトリ内で実行する |
書き込み(write) | ディレクトリ内に新規ファイルを作成する |
実行(execute) | 現在位置のディレクトリを指定する |
ファイルのパーミッションの場合は読み込みや書き込み、実行などの言葉からなんとなく連想できる動作ですが、ディレクトリのパーミッションの場合は、読み込みと実行が言葉とは全く違う意味の動作になるので気を付けましょう。
ディレクトリのパーミッションの設定を変更すると、ディレクトリ内のすべてのファイルの設定が変わってしまいます。ディレクトリのパーミッションはファイルのパーミッション以上に注意して変更しましょう。
特に書き込みを許可してしまうと新しいファイルを作成されてしまうので、ファイルでもディレクトリでも、書き込みは基本的に許可しないようにしてください。
まずはfindコマンドを入力すると起きる基本動作を覚えておきましょう。基本書式は『$ find ファイル名』になります。findに続き、検索するファイル名を指定する。のです例えば、workディレクトリ内のtest01.datを検索する場合は以下になります。
『$ find ./work/test01.dat』で最後のスラッシュの右側にあるものがファイル名です。
1 / 7
続きを読む