読者です 読者をやめる 読者になる 読者になる

文系男子が日和るIT開発~IT知識なしで飛び込んだIT企業

文系男子だからIT企業に就職するなんて考えてもみませんでしたが、日和ながら日々くらいついています。

findコマンドの基本的なオプションやgrepとの複合技など現場・実業務に役立つ使い方をご紹介

CentOS

サーバ担当者も、アプリ開発担当者も、運用担当者も、
エンジニアであれば調査、分析、テスト、リリース作業を行う際、
お世話になるであろうコマンド、その1つが「findコマンド」である。

 ファイル検索、ディレクトリ検索に大活躍するfindコマンドですが、
単体で使用してもよいですが、grep、exec、awksed等と
組みわせて操作するとより一層便利になるコマンドですので、
覚えておいてもよいかもしれません。

今回は基本的なオプションの使い方を載せていて、備忘録のようなものですが、
需要はあると思うので、こちらでご紹介いたします。

 

 

ファイル名は特定できているが、ファイルの保存場所/作成場所を検索したい場合。

find / -name "abc.txt"

検索場所は、ルート直下。

検索するファイルは「abc.txt

 

拡張子が特定できているが、ファイルの保存場所/作成場所を検索したい場合

find /opt/tomcat -name "*.java"

検索場所は、/opt/tomcat/ディレクトリ配下

検索するファイルは「*.java」の拡張子のファイル

 

 

ディレクトリ名は特定できているが、ディレクトの詳細な作成場所を検索したい場合。

find / -type d log

検索場所は、ルート直下

検索するディレクトリ名は「log」という名前のディレクト

 

「aaa」という文字列を含むtxtファイルと、そのファイルの保存場所/作成場所も検索する場合

find / -type f -name "*.txt" -print0 | xargs grep -i 'aaa'

検索場所は、ルート直下

 

 

findコマンドでルートディレクトリ直下から検索することは業務シーンではほぼないかと思いますし、負荷もかかるので避けるべきかと思います。

また、root権限やサーバ担当者、アプリ担当者で職務分離している会社などでは、
findコマンドで検索すると、「許可がありません」と出る場合もあるかと思います。
そういった場合は標準エラー出力を破棄させると良いだろう。

find / -name "abc.txt" 2>/dev/null

 

 

10日前から現在までに更新された(修正された)ファイルを検索する

find ./ -mtime -10

 

権限が755のファイルを検索

find ./ -perm 755

ユーザに実行権限があるファイルを検索

find ./ -perm -u=x

 

検索対象から除外したいディレクトリがある場合

find / -type d log -prune -o -type f -name '*txt'

find / -type d log -prune -or -type f -name '*txt'

 「log」ディレクトリを除外して検索する

検索対象とするのは、「.txt」の拡張子のついたファイル。

 

find / -type d "log" -prune -o -type d -name "var" -prune -o -type f -name '*txt'

「log」ディレクトリ、または、「var」ディレクトリを除外して検索する

検索対象とするのは、「.txt」の拡張子のついたファイル。

 

 

-nameで指定する文字列の大文字・小文字を区別しない場合は、「-iname」を使用してください。

-atimeや-emptyもオプションとして知っていれば便利ですが、現状知らなくて困ったシーンは特にありません。

 

 

正規表現

-regex 

find -E . -regex '^.+\.(jpg|gif)$'

ファイル名を正規表現でファイル名を検索する場合

-iregex

大文字・小文字を区別しないようにする場合

 

 

正規表現を最後に載せましたが、こちらをマスターすると、
より高度で、且つ、素早いファイル検索やディレクトリ検索ができるようになるかと思います。
とはいえ、筆者もまだまだですので、精進中です。
また、正規表現を使用した検索をほとんど載せていないので、
「業務で役立つ」、と言いながら、本当に役立ちそうなコマンドは、
もしかすると載せられていないかもしれませんね。
なので、まとめ次第更新したいと思います。

 

 

王道のコマンドリファレンスをご紹介。
まずは、基礎から、ですね。

 

[改訂第3版]Linuxコマンドポケットリファレンス

[改訂第3版]Linuxコマンドポケットリファレンス

 

 

 

Linuxコマンド逆引き事典(日経BP Next ICT選書)

Linuxコマンド逆引き事典(日経BP Next ICT選書)

 
Linuxコマンドブック ビギナーズ 第4版 コマンドブックシリーズ

Linuxコマンドブック ビギナーズ 第4版 コマンドブックシリーズ

 

 

 

 

小森キャンプ村でのデイキャンプと宇甘渓の紅葉レポート(11月5日)前編

Camp、Outdoor

吉備中央町にある小森キャンプ村。

来年のキャンプライフに備え、一度様子見に行ってみよう、
ということで、
岡山県内のキャンプ場にしてはあまり情報が多くないキャンプ場ですが、
色々皆さまのキャンプレビュー等を読ませていただき、
宇甘渓の紅葉狩りも兼ねて、家族でデイキャンプをしてきました。

場所は、吉備中央町小森。

小森オートキャンプ場に隣接している小森キャンプ村です。

小森オートキャンプ場のほうはロープが張られており、どなたもいらっしゃらない様子でしたが、
こちらの小森キャンプ場は到着時、5人ほどのライダーのおじさま方がキャンプをしていました。 

 

さて、初心者キャンパーの私はまだ、高規格のキャンプ場しか経験したことがないヘッポコですが、
今回、ここ小森キャンプ村には、そんな初心者キャンパーでも訪れてみたくなるような魅力が転がっていたからです!

その魅力を味わうため、11月5日の前日に家族に連絡し、「小森キャンプ村に行くから」の一言で行くことを決めました。

 

さて、その魅力ですが、

続きを読む

小森キャンプ村でのデイキャンプと宇甘渓の紅葉レポート(11月5日)後編

Camp、Outdoor

前編はこちら。

 

dreamjourney.hatenablog.jp

 

番外編ですが、渋柿。

キャンプ場になっているこの柿は採って食べてもよいとのことでした。
渋柿とのことですが、熟せば甘くなるかもしれません。

f:id:dreamjourney:20161120215926j:plain

 

ごはんの後、他のキャンパーの方もいらっしゃらなかったので、
キャッチボールもしてしっかり楽しみつつ、デイキャンプを終えました。

 f:id:dreamjourney:20161120232517j:plain

f:id:dreamjourney:20161120232439j:plain

 

小森キャンプ村ですが、

住所は 〒709-2404 岡山県加賀郡吉備中央町小森 です。

電話番号は、Googleなどに掲載されている固定電話の連絡先は不通となっており、
携帯電話番号が正式な連絡先となっているようです。
固定電話にTELすると、現在使用中の携帯電話番号が案内されます。

なお、トイレは昔ながらの汲み取り式で、清潔感を気にされる方にとってはデメリットとなっています。

 

 

帰り道ですが、道の駅「かもがわ円城」に寄りつつ、南下。

2つ目に立ち寄ったのは、岡山県内でも有数の紅葉の名所、宇甘渓

 

続きを読む

初心者キャンパーのファミキャンレポ。 in蒜山高原キャンプ場(10月1日-10月2日) No.3

Camp、Outdoor

 

最終日の10月2日。

朝5時起床。

想像以上に空気が澄んでいて、気持ちも妙に清々しい感じがしました。
普段の生活ではなかなか味わえない新鮮な気持ちです。

 

f:id:dreamjourney:20161031224602j:plain

 

さて、起きてすぐ、みんなで寝袋と毛布をたたみます。
普段、家では子供たちはベッドで、布団もひきぱなっしになりがちなので、
こういう時に、きちんと躾けておかねば。。。

 

そのあとは、朝食。

朝食はホットケーキと、ホットコーヒー。
子供たちはコーンスープ。
コーヒーもスープも体が温まります。
それに、やはり外での食事はおいしく感じます。

 

f:id:dreamjourney:20161031224609j:plain

朝食後は、ごみ捨てと、寝具を返却するため管理棟に行く用事があり、
そのついでに場内を散歩。

管理棟内。

f:id:dreamjourney:20161031224915j:plain

 

次は片付け。

さすがに、片付けともなると、ウチの子は役に立ちません。
5歳の娘のほうは積極的に手伝ってくれましたが、長男はサボってばかりです(汗

f:id:dreamjourney:20161031224703j:plain

 

タープもテントも結露して、水滴がかなりついていましたが、
気温も上昇し、日が昇ってきたこともあり、徐々に乾燥してきました。

 

なんだかんだで片付けが終わり、天気も良くなってきた(少々暑い)ので、
9時半頃キャンプ場を後にし、先日と同様、ひるぜんジャージーランドへ移動。

 

ひるぜんジャージーランド。

 

到着したころには、すっかり晴天と青空。

 

f:id:dreamjourney:20161031225607j:plain

f:id:dreamjourney:20161031225545j:plain

f:id:dreamjourney:20161031225549j:plain

 

この日はイベントをしていたみたいで
飛び入りでじゃんけん大会に参加。

すると、息子が15名の中に勝ち残り、ヨーグルトをGET!
幸運。

ソフトクリームもおいしくいただき、
蒜山を最後まで満喫できた2日間でした。

f:id:dreamjourney:20161031225613j:plain

 

初心者キャンパーのファミキャンレポ。 in蒜山高原キャンプ場(10月1日-10月2日) No.2

Camp、Outdoor

今回、キャンプするのは蒜山高原キャンプ場

www.qkamura.or.jp

初心者にも安心の高規格のキャンプ場です。

設備や清潔感、安心度などどれをとっても岡山県内トップクラスです。
もちろんそのぶん費用はかかりますので、
いつもいつも高規格のキャンプ場に行くわけにはいきませんが(汗

 

さて、到着するや否や受付でチェックインの手続きをしましたが、
ついでに寝袋と毛布を少々レンタル。
レンタルした寝袋も毛布も、今どきのおしゃれ間はないですが、

続きを読む

初心者キャンパーのファミキャンレポ。 in蒜山高原キャンプ場(10月1日-10月2日)

Camp、Outdoor

初心者キャンパーですが、どうしても家族でキャンプしたかったのですが、
10月1日・2日で念願のキャンプに行けたのでその報告をします。

行先は、蒜山高原キャンプ場

蒜山はいつも日帰りで行くのですが、今回はキャンプということもあり、初めて泊まりでの蒜山旅行となります。

準備。
車のトランクはパツパツです。
後方視界はかろうじて確保。

f:id:dreamjourney:20161031215240j:plain

 

さて

続きを読む

飯盒メシ炊き方入門

Camp、Outdoor

今年の夏は、飯盒でお米を炊く機会が多かったので、
少し見てもらいたくて写真を貼り付けていきます。

まだ初心者なので、基本に沿って炊いているばかりで、

「ここをこう変えたらうまくいった!」

とか

「他の人に炊き方を教えてあげたら絶賛された」

とか、そういうのはありませんが(苦笑

 

では、さっそくご紹介します。

続きを読む

CentOS 6.8でpostfixのパッケージをインストール

CentOS

postfixのパッケージをYUMでインストールします。

 

SMTPサーバとしては、sendmailqmailPostfixなどが有名かと思います。

ただ、sendmailはセキュリティ観点や処理性能面で劣ることもあり、採用は避けられている傾向にあるかと思います。

そこで

続きを読む

ファイル改竄検知ソフトTripWireをCentOS 6.8に(1)

CentOS セキュリティ

TripWireとは


TripWireは、サーバ内へ不正侵入された際に、
改ざんされたファイルを検知することができる心強いソフトです。
仕組みは、ファイルのハッシュ値や属性情報を格納したデータベースを
予め用意しておき、その時点での情報と、現時点での情報とを比較し、
ファイルの改竄有無を検知するようにしています。

今回、セキュリティ対策の一環としてTripWireをインストールし、サーバの保守を行っていこうと思います。

CentOS 6.8では

続きを読む

CentOS 6.8 アップデート可能なパッケージをYUMで確認する

CentOS

CentOS 6.8でYUMを利用し、アップデート可能なパッケージを確認してみます。

前回は、

Another app is currently holding the yum lock; waiting for it to exit...

という事象が発生したため、

続きを読む

Cent OS6.8でyum check-update時にyum lockが発生したため、その原因と対処

CentOS

Cent OS6.8でYUMでアップデート可能なパッケージをチェックしようとしたところ
yum check-update時にyum lockが発生してしまいました。

Another app is currently holding the yum lock; waiting for it to exit...

 

[root@tmp ~]# yum check-update
Loaded plugins: fastestmirror, refresh-packagekit, security
Existing lock /var/run/yum.pid: another copy is running as pid 2628.
Another app is currently holding the yum lock; waiting for it to exit...

続きを読む

rootkit対策ツール『chkrootkit』の使用コマンドの退避

セキュリティ CentOS

rootkit対策ツール『chkrootkit』が使用するコマンドを
rootkitにより改ざんされてしまうと、chkrootkitの実行が意味をなさなくってしまいます。
そのため、chkrootが実行するコマンド群を別途退避させておく、
というリスケ軽減策をとるのが、定石のようです。

退避するコマンドは、

続きを読む

Cent OS 6.8でのrootkit対策ツール『chkrootkit』のインストールと検出テスト

CentOS セキュリティ

rootkitとは、クラッカーなどがコンピュータに不正侵入し、その後の不正操作等を行うツール(パッケージ)です。
ログ改ざんツールやバックドアツール等が含まれることがあるようです。
もし侵入されるとその発見が困難になり、サーバ全体のセキュリティに大きな打撃を与えられます。

そのようなrrootkitを検出するための対策として、今回は

chkrootkit

を使用してみます。

 

chkrootkit

chkrootkit

続きを読む

経ヶ丸オートキャンプ場でデイキャンプ。飯盒メシのキャンプカレー

Camp、Outdoor

井原市の経ヶ丸オートキャンプ場。

当初は蒜山オートキャンプ場でキャンプしようとしていましたが、
台風接近や強風・雨予報もあり、その対策として、カッパ・長靴・ブルーシート、雑巾やタオルなどの準備が必要そうでしたが、
仕事もばたばたしていたので、準備できそうになかったため、
デイキャンプ×近場に変更しました。

 

行先はココ。
経ヶ丸グリーンパークのオートキャンプ場。

続きを読む

CentOS6.8でiptablesの設定変更と、Apacheの設定変更

CentOS ネットワーク

昨日、LAMPの環境構築に必要なソフトをそろえました。
また、標準で入っていたphp5.3系を、php5.6系にアップグレードしてみましたが、
結局画面は真っ白なままの状態だったため、対処してみようと思います。

 

昨日の記事です。

dreamjourney.hatenablog.jp

 

画面を見たところ真っ白でしたので、
ファイアウォールの設定と、Apacheの設定を疑うのが濃厚と考えます。

PHPは、まだiniファイルの設定等は行っていませんが、
現段階では優先度は低くてよいかと思います。

 

なので、まずは、

続きを読む