アツログ

つけめんは、ひやもり派のあつもりです。ガジェットだったり、食だったり、プログラミングだったりの趣味記事をあげていきます

アツログ

【Linux】よくつかうコマンドまとめてみた

あとで読む

プログラマーのイラスト

OSがLinuxでPHP、Apacheが動いているという環境は多いと思います。

直接サーバに接続出来る権限がある場合は、FTPクライアントでサーバに接続してから

ログや、PHPファイル等の目的のファイルをローカルにダウンロード、確認というのが、よくある手法だと思います。

ですが、正直DLの待ち時間や、確認後のローカルファイル削除の煩わしさがあるので

私はSSHクライアントからコマンドを叩いて確認しています。

今回は、そのコマンドを私がいつでも引けるよう記事にしました。

historyから手繰るのが地味にしんどいときもあるんです...

【Linux】役立つコマンド

各コマンドの使用例例で書いてある"hoge"などを置き換えれば、コピペで使えます。

【egrep】ファイルを検索してマッチした行を出力する

grep [options] PATTERN [FILE...]

grepとなにが違うのかというと、正規表現が使えるところです。

正規表現が使えるので、かゆいところに手が届くようになります。

使用例

【基本】4桁の数字を含む行を出力する

egrep '[0-9]{4}' /home/User/hoge.txt

'[0-9]{4}'の部分は0~9の範囲を4回繰り返すという正規表現になりますので、4桁の数字とイコールになります。

検索パターンのあとに、ファイル指定をします。例で言うと、「/home/User/hoge.txt」になります。

【基本】大文字小文字を区別せず、指定したパターンを出力する

egrep -i 'hoge' /home/User/hoge.txt

この場合、「hoge」、「HOGE」、「Hoge」、「hOge」、「hoGe」、「hogE」の6パターンがマッチします。

オプション

-e PATTERNを検索パターンとして指定(パターンのゲシュタルト崩壊)
-から始まる検索パターンの場合、オプション扱いされないようにする
-i PATTERN とFILEの双方で、英大文字と小文字の区別をしないようにする
-n マッチした行の行番号を表示する
-v マッチしない行を表示する

【find】目的のファイルやディレクトリを探す

find [path...] [expression]

ファイル名はわかるけど、そのファイルがどこにあるのかわからない。そんな時重宝します。

たとえば、php.iniとかhttp.confとか、サーバによって場所が違ったりしますからね。

また、ワイルドカード(*)を使用できるのが、大変楽

使用例

【基本】ファイルを探しだす

find /home -name "hogehoge.txt"

hogeディレクトリ配下にある、「hogehoge.txt」を探し出します。

findの直後に元となるディレクトリとしてhomeを記述し、-nameのあとにファイル名を指定しています。

全ディレクトリを対象にする場合は、"/home"を"/"(ルート)に変更することで可能となります。

【基本】「hoge」を含むディレクトリを探し出す

find /home -type d -name "*hoge*"

"-type d"とすることで、対象をディレクトリ限定にしています。

【応用】「hoge」を含むが「-」が含まれていないファイル、ディレクトリを探し出す

find /home -name "*hoge*" | xargs egrep -v "-"

"|"(パイプ)と"xargs"を使用し、"egrep"へ"find"の結果を渡しています。

"egrep"では"-v"を使うことで「-」を含む結果を除外しています。

順番としては、「hoge」を含む一覧を取得してから、「-」が含まれていないものを取得する。になりますね。

オプション

-maxdepth n n階層目までの検索を行う
-mindepth n n階層目以内は対象外にする

条件(expression)

-name pattern ファイル名がpatternと同じファイルを検索する
-type pattern patternでファイルタイプを指定する
d ディレクトリ
f ファイル
l シンボリックリンク

【less】ファイルの内容を閲覧する

less [FILE...]

なにがよいのかというと、わざわざファイルをダウンロードしなくても、中身が見れることです。

でかいログファイルなんか、ダウンロードする気力も置きないので、あってよかったコマンドです。

このコマンドはオプション以外にも閲覧中に入力できるコマンドがあります。viみたいな感じです。

使用例

【基本】ファイルの中を確認する

less /home/User/hogehoge.txt

「hogehoge.txt」の中を表示します。

オプション

-M 閲覧中のファイル名、どのくらいの位置にいるのかのパーセンテージを表示する
-i 検索コマンド時に、大文字小文字の区別をしない
-S 1行が長いときに折り返しをせず表示する

コマンド

/pattern 前方にあるpatternの検索をする
?pattern 後方にあるpatternの検索をする
n 前回の検索を繰り返す。/を前回行っていれば前方を、?を前回行っていれば後方を。
N 前回の検索と逆方向を繰り返す。/を前回行っていれば後方を、?を前回行っていれば前方を。

まとめ

この3つをうまく使いこなせれば、大抵のことは、できると思ってます(暴論

でも、最近は本当にこの3種のコマンドしかつかってないです。

3種の神コマンド