WAVE Log
du

カレントディレクトリの容量を表示する

# du -h

-h:サイズに応じた単位で表示する。
-s:指定されたディレクトリの合計のみ表示する。

# du -hs /var/www/html 85M /var/www/html

echo

空のファイルを作る

ファイルがある場合には空のファイルに置き換わる

# echo -n > newfile

-n :行末の改行を行わない

exit

ログアウトまたは変更前のユーザーへ戻る

# exit

find

ファイルやディレクトリを検索する(逐次検索)

[dir] ディレクトリの中から [file] ファイルを検索する

# find [dir] -name [file]

例:

# find / -name messages.dat # find /home/usr -name messages.dat

更新日が30日以上古いファイルを削除する

# find /path/to/log -mtime +30 -delete

firewall-cmd

ファイアウォールの設定管理をする

サービスの状態確認

# firewall-cmd --state running

アクティブゾーンの確認

# firewall-cmd --get-active-zones public interfaces: eth0

public ゾーンの恒久的な設定の確認

# firewall-cmd --list-all --zone=public --permanent

登録可能なサービス名一覧

# firewall-cmd --get-services

サービスの追加(public ゾーンに対して、http を恒久的な設定として追加する)

# firewall-cmd --add-service=http --zone=public --permanent

設定を反映させる

# firewall-cmd --reload

ポート番号の追加(public ゾーンに対して、8080/tcp を恒久的な設定として追加する)

# firewall-cmd --add-port=8080/tcp --zone=public --permanent

許可アドレスの追加(public ゾーンに対して、恒久的な設定として追加する)

# firewall-cmd --add-source=192.168.0.0/24 --zone=public --permanent

拒否アドレスの追加(「drop」ゾーンに対して、追加することで拒否 IP アドレスとなる)

# firewall-cmd --add-source=192.168.11.0/24 --zone=drop --permanent

設定の削除は、「--add」の部分を「--remove」にする。

free

メモリの使用状況を表示する

# free -m total used free shared buff/cache available Mem: 3808 1528 316 271 1963 1763 Swap: 3939 0 3939

-m:メモリ使用量をメガバイト単位で表示

空きメモリ量は、available の値

grep

文字列を検索する

ファイル内の文字列を検索して該当する行を表示する
拡張子が .txt のファイルにある「diff」という文字列を検索する場合

# grep diff *.txt

標準出力の結果を検索する
「ps aux」というコマンドを実行し、その結果から「telnet」という文字列を含む行を表示する場合

# ps aux | grep telnet

オプション
 -c 該当行は表示せずに、該当した数を表示する
 -h 複数ファイルを検索対象としたときに、結果でファイル名を表示しない
 -i 大文字と小文字の区別をしない
 -l 該当ファイル名だけを表示する
 -L 該当しなかったファイル名だけを表示する
 -n 該当行の行番号を表示する
 -v 該当しない行を表示する
 -f file 検索パターンとしてfileの内容を使用する

再帰的にファイルの内容を検索する

カレントディレクトリ以下から、拡張子 php のファイルのみを対象に、文字列 hoge を含むファイル名と内容を出力

# grep -r hoge --include='*.php' ./

テキストファイルの行数を数える
行数のみ得たい場合は grep を使う

# grep -c '' file.txt

history

実行したコマンドの履歴を表示する

最近実行した10個の履歴を表示する場合は、以下のように入力する。

# history 10

表示された履歴の左側の数字はヒストリの番号で、

# !番号

と入力することにより、その番号のコマンドを実行できる。

※コマンド履歴を検索するには【Ctrl+r】

(reverse-i-search)`':

履歴を削除するなど history ファイルを編集

# vi ~/.bash_history

htpasswd

.htpasswd ファイルを新規作成する。パスワードを MD5 でハッシュする。

# htpasswd -cbm ./.htpasswd username password

既存の .htpasswd ファイルへユーザーを追加する。パスワードを MD5 でハッシュする。

# htpasswd -bm ./.htpasswd username password

パスワードを bcrypt コスト 10 でハッシュし標準出力する。

# htpasswd -nbB -C 10 username password username:$2y$10$au6Ff1lSzR3A/Bq2qCEPiOXsal9VDfjoK/Y90IMSwXxV99/GjpFPy

オプション
-b:パスワードを、対話式入力ではなくて、コマンドライン引数として指定できるようにします。パスワードはコマンドラインで見えるため、履歴に残るので注意。
-c:新しいパスワードファイルを作成します。もし、同名のパスワードファイルがすでに存在する場合は、既存の内容が削除されます。上書きされたくなければ -c を取って、ファイル名を指定します。
-m:パスワードを MD5 でハッシュします。
-n:どのような結果になるかのみを標準出力して終了します。パスワードファイルを作りません。
-B:パスワードを bcrypt でハッシュします。これは現在、非常に安全であると考えられています。
-C:-B(bcrypt)との組み合わせでのみ許可されます。ストレッチング回数(コスト)を設定します。数を増やすと安全ですが処理時間が遅くなります。デフォルト:5、有効:4〜17。
-D:ユーザーを削除します。指定された .htpasswd ファイルにユーザー名が存在する場合、削除されます。
-v:パスワードを照合します。指定されたパスワードが、指定された .htpasswd ファイルに保存されているユーザーのパスワードと一致することを確認します。

バージョンによってオプションやデフォルト値が異なるので、Usage を確認。

# htpasswd

ifconfig

MACアドレスを知る

# ifconfig

(etherの値がMACアドレス)