Linuxのコマンドって、常に使っていないとすぐ忘れてしまいます。
昔よりはLinuxに触れる機会は格段に増えましたが、Windowsに比べると雲泥の差。
私のように40代も半ばになると、新しい事を覚えるスピードが若干落ちたようにも感じるこの頃。という事で、自分が得たナレッジはどんどん記事化して、自分のための忘備録として使いたいと思います。
今回はShellスクリプト(Bash)におけるファイル操作関連コマンドについて最低限のナレッジをまとめます。もし自分以外の方にも、このような記事がお役に立てるのであれば幸いです。
空のファイル作成コマンド(touch)
という訳で、まずはファイル作成コマンドから。
新規で空のファイルを作成するには「touch」コマンドを使います。
touch ファイル名
これだけで、空のファイルが作成できます。
意外とShellスクリプトの開発なんてやってると、空のファイルを作る場面ってよくあるんですよね。(私だけ?)
ただ、正確にはこのtouchコマンドは、既存のファイルの最終更新日を変更するためのコマンドです。指定したファイルが存在しない場合には、ファイルサイズが0のファイルを新規作成するコマンドであることは理解しておきましょう。
ファイル存在チェック(-e ファイル名)
「〇〇ファイルが存在する場合は、××の処理を行う。」
なんてチェック処理を入れるケースもよくある事。
その場合は以下のようにします。
#!/bin/bash if [ -e ファイル名 ]; then # 実行したい処理 echo 'ファイルがありました' fi
こうすることで、指定したファイルが存在する場合のみ、then以下に記述した処理が行われます。
ちなみに、存在しない場合に処理を行いたい時は、!をつけるだけです。
#!/bin/bash if [ ! -e ファイル名 ]; then # 実行したい処理 echo 'ファイルがありません!' fi
ファイル0バイトチェック(-s ファイル名)
「ファイルの存在チェックはわかったけど、そのファイルの中身がちゃんと入ってるのかどうかも知りたいんだよね。」
そんな方には、0バイトチェックを以下のように行うことができます。
#!/bin/bash if [ -s ファイル名 ]; then # 実行したい処理 echo 'ファイルは0バイトじゃないです!' fi
このように記述することで、ファイルの長さが0ではない事を判定することができます。
ファイル削除コマンド(rm ファイル名)
最後はファイル削除。
Linuxで頻出コマンドの1つですね。
#!/bin/bash rm ファイル名
当たり前の事ですが、一度ファイルを消してしまうと元に戻せなくなるので使用時には細心の注意を払いましょう。
ここまで紹介したコマンドはLinux上でのファイル操作において、本当に最低限のものしかありません。
もちろん全てのコマンドを完璧に記憶している人などそうそういませんが、基本のコマンドだけでも覚えておいて損はありません。