Linux:出力結果やテキストをファイルに書き出す方法

Linuxで操作している時に各コマンドで出力した内容や文字列等のテキストをファイルに書き出したい場合があります。
リダイレクションを使用すれば、ファイルに書き込むことができます。
今回はLinuxでリダイレクションを使用して、出力結果やテキストをファイルに書き出す方法をメモします。


リダイレクションとは

入力元や出力先を変更する機能です。
出力結果をディスプレイに出力するのではなく、ファイルに書き込む場合などに利用されます。
「>」、「>>」を使用します。


ファイルに書き出す方法

・テキストをファイルに書き出す場合

# echo 'test' > hoge.txt
# cat hoge.txt
test

・追記で書き込みを行う場合

# echo 'hoge' >> hoge.txt
# cat hoge.txt
test
hoge

・コマンドで出力した内容をファイルに書き出す場合

# ls
hoge.txt  hoge2.txt  list.txt
# ls > hoge2.txt
# cat hoge2.txt
hoge.txt
hoge2.txt
list.txt

・ファイルの中身を空にする場合

# echo '' > hoge2.txt
# cat hoge2.txt


Linux:サーバ内のディレクトリの容量を調べる(du)

Linuxサーバ内でそれぞれのファイル・ディレクトリの容量を調べたい場合があります。
サーバの容量を削減したい場合などに、どのファイル・ディレクトリが容量が大きいかを調べることができれば便利です。
duコマンドを使用すれば、ディレクトリ容量を確認することができます。
今回はサーバ内のディレクトリの容量をサイズの大きい順でソートして表示・出力する方法を記載します。

duコマンド

指定したファイル・ディレクトリの容量を出力します。
ファイル・ディレクトリを指定しない場合はカレントディレクトリの容量を出力します。
ディレクトリを指定した場合は、サブディレクトリの容量も出力します。

du [オプション] [ファイル・ディレクトリ]

sortコマンド

テキストファイルの行を並び替えます。
指定したオプションでソートできます。

sort [オプション] [ファイル]

ディレクトリの容量を調べる

容量を調べたいディレクトリに移動します。
duコマンドを使用して、カレントディレクトリ以下のディレクトリの容量をサイズの大きい順でソートして表示します。
※容量の単位をMバイトで表示し、パイプを使用してソート順を変更。

# du -m | sort -rn
40      .
27      ./wp-content
16      ./wp-content/plugins
8       ./wp-includes
6       ./wp-content/uploads
6       ./wp-admin
(省略)

ファイルに出力する場合は下記のように指定します。
※hoge.txtに出力結果を書き込む。

# du -m | sort -rn > hoge.txt

hoge.txtファイルに出力結果が書き込まれます。

40      .
27      ./wp-content
16      ./wp-content/plugins
8       ./wp-includes
6       ./wp-content/uploads
6       ./wp-admin
(省略)

Linux:ワイルドカードを使用し複数のファイルを削除(rm)

Linuxでファイルやディレクトリを削除する時はrmコマンドを使って削除をしますが、複数のファイルを削除したい場合があります。
ワイルドカードを使用すれば同じ名前で始まるファイルなどを一度に複数削除することができます。
rmコマンドでワイルドカードを使用し、複数のファイル削除した時のメモを記載します。


■ 書式(ワイルドカード使用)

rm [オプション] *[文字列]
rm [オプション] [文字列]*

■ 使用方法

削除対象のディレクトリに移動し、ディレクトリの中身を参照します。

# cd /var/www/html/hoge/
# ls
file_1.txt  file_2.txt  file_3.html  hoge_1.gif  hoge_1.jpg  hoge_2.jpg

拡張子がtxtのファイルを複数同時に削除する場合は下記のように指定します。

# rm -rf *.txt
# ls
file_3.html  hoge_1.gif  hoge_1.jpg  hoge_2.jpg

txtファイルが削除されることがわかります。
また、「hoge_」で始まるファイルを複数同時に削除する場合は下記のように指定します。

# rm -rf hoge_*
# ls
file_3.html

「hoge_」で始まるファイルが全て削除されます。
共通の名前のファイルを同時に削除したい場合など便利かもしれないです。


Linux:cron(クーロン)でphpを自動実行する

cronを使用してphpファイルを指定した時間に自動実行する方法を記載します。また、その時のcronの設定方法をメモします。
システムを作成しているとログの削除やバックアップ、データの更新などを決められた時間に実行したい場合があります。
cronを使用すると自分でphpファイルを実行しなくても指定した時間で自動実行してくれるので便利だと思います。


■ cronの設定方法

cronを設定する時の書き方は下記のように記載します。

・書式

分 時 日 月 曜日 コマンド

・設定する値

0~59の値で指定。*を指定した場合、毎分となります。
0~23の値で指定。*を指定した場合、毎時となります。
1~31の値で指定。*を指定した場合、毎日となります。
1~12の値で指定。*を指定した場合、毎月となります。
曜日 0~7の値で指定。*を指定した場合、毎日となります。
コマンド 実行するコマンドやシェルスクリプトを指定。

■ cronでphpを実行

crontabコマンドでクーロンを編集します。

# crontab -e

実行する日時を指定して、実行するphpファイルのパスを絶対パスで指定します。
phpを実行するには「/usr/bin/php 」を書き、その後にファイル名を記載します。
サーバごとに書き方が違うかもしれないので、「/usr/bin/php」か「/usr/local/bin/php」で設定します。

毎日10時に「cron.php」を実行する場合、下記のように記載します。

0 10 * * * /usr/bin/php /var/www/html/cron/cron.php

Linux:cron(クーロン)の説明とcrontabコマンドの使用方法

WEBシステムを作成・運営などをする場合、cronクーロン)を設定して、定期的なバッチ処理やデータのバックアップ、サーバの時刻合わせなど、色々な面で使用することがあります。
他にも色々な使い方がありますが、今回はcrontabコマンドの基本的な使用方法をメモします。


cron(クーロン)について

クーロンとは設定した内容を定期的に実行するための機能です。
実行したい時間と内容を記述し、定期的にスクリプトや、コマンドなどを自動実行します。
cronを利用する場合は、サーバにcrondが動作している必要があり、通常はLinuxでは自動的にcrondが稼働するように設定されているようです。
クーロンは、運営サイトのバッチ処理やバックアップなどを定期的に処理することができるのでとても便利な機能です。


crontabコマンド

コマンドやバッチ処理を指定した時間に自動実行します。crontabはviの操作方法で設定します。
書式は以下のようになります。

crontab [-u ユーザー名] [オプション]

※crontabで作成した設定内容は/var/spool/cron/に作成したユーザー名で保存されます。

■ crontabのオプション

-u ユーザー名 他のユーザーのcrontabを設定する場合に指定します。rootユーザのみ使用できます。
また、-uオプションは省略可能です。省略した場合は現在のユーザーで設定されます。
-e crontabの編集をします。
-l crontabの内容を表示します。
-r crontabの内容を削除します。全ての設定が削除されるので注意が必要です。

※オプションの-rはcrontabの設定内容を全て削除してしまうので、-eで設定する際にキーボードの隣のキーなので注意が必要です。

■ crontabの使用方法

crontabの編集をする場合

# crontab -e

ユーザーを指定して編集する場合

# crontab -u hoge -e

crontabの設定を表示する場合

# crontab -l

ユーザーを指定してcrontabの設定を表示する場合

# crontab -u hoge -l

crontabの設定を削除する場合
※全ての設定が削除されるので設定を削除する場合は-eで削除する方がいいと思います。

# crontab -r

ユーザーを指定してcrontabの設定を削除する場合

# crontab -u hoge -r