当社では、Webサイトや業務システムのサーバOSとして Linux(リナックス)を10年ほど前から利用しています。Linuxサーバ は CLI(コマンド・ライン・インターフェース)で操作して管理運用しているのですが、ちょっとしたコマンドオプションを付けておくだけで、ミスを防止し作業をグッと効率化することができます。
そこで今回は、約10年間ほぼ毎日 Linuxコマンドを使い続けた経験から、特に覚えておくと便利と感じた Linuxコマンドのオプションを厳選して10個ご紹介いたします。
mv コマンドはファイルやディレクトリを移動するためのコマンドです。たとえば sample.txt を works ディレクトリの下に移動する場合は次のようなコマンドになります。
注意しなければいけないのは、このとき works ディレクトリの下に同じ名前のファイルがあったとしても、有無をいわさず上書きしてしまうことです。重要な設定ファイルなどを上書きしてしまうと、システム停止など大きなトラブルにつながる可能性もあります。
そこで役に立つのが「-i」–interactive(対話式)オプションです。mv コマンドに「-i」オプションをつけておくと、もし移動先に同じ名前のファイルがあった場合は本当に上書きしてよいか聞いてくれます。(エンターキーを押せばキャンセル、「y」を入力してエンターキーを押すと上書きを実行します)
ファイルやディレクトリをコピーする cp コマンド、削除する rm コマンドなどにもこの「-i」オプションがありますので、致命的なミスを防止するためにも「-i」オプションをつけることをぜひオススメします。
ls コマンドはファイルやディレクトリに関する情報を表示するためのコマンドです。オプション無しで実行すると現在のディレクトリにあるファイルやディレクトリが表示されます。
ls コマンドでよく使うオプションに -l (アルファベットのエル)オプションがあります。-l オプションをつけて実行するとファイルのパーミションや所有者、ファイルの作成日時などの詳細な情報を表示してくれます。
便利な -l オプションなのですが、「ディレクトリ以下のファイルをエクセルの一覧表にする」という作業をする場合、詳細情報を1行ずつ削除しなければなりません。
そこで役に立つのが「-1」(まぎらわしいですが、こちらは「数字のイチ」です)オプションです。
ls コマンドに「-1」(数字のイチ)オプションをつけて実行すると、ファイルやディレクトリ名だけを1行ずつ表示してくれます。これをそのままエクセルファイルにコピペすれば一瞬でファイル名の一覧表を作成することができてしまいます。
grep コマンドは、指定した検索文字列やパターンでテキストを検索して、一致した行を表示してくれるコマンドです。検索対象のテキストとして、他のコマンドの出力結果をパイプ「|」を使って標準入力から読み込ませる使い方をよくします。
たとえば先ほどの「ls -1」の出力結果を、 grep コマンドで “apple” という文字が含まれた行のみを表示してみましょう。
では次に “apple” もしくは “orange” が含まれる行を表示するにはどうしたらよいでしょうか?
そんなときに便利なのが「-e」オプションです。「-e」オプションに続けて検索文字列やパターンを指定することで、複数の検索文字列を設定することができます。
続いては同じく grep コマンドの「-v」オプションです。「-v」オプションは、指定した検索文字列やパターンと「一致しない」行を表示することができます。
chown コマンドは、ファイルやディレクトリの所有者やグループを変更することができるコマンドです。基本的に root 権限が必要になりますので sudo コマンドに続けて実行します。
あるファイルの所有者を “foo” さんに変更するには次のようなコマンドになります。
次にあるディレクトリ以下すべてのファイルの所有者を “foo” さんに変更するにはどうしたらよいでしょうか? ためしに先ほどのファイルと同じように chown コマンドを実行してみましょう。
ディレクトリの所有者は “foo” さんに変更されるのですが、
ディレクトリ以下のファイルの所有者は変更されません。
このくらいのファイル数ならひとつずつ所有者を変更することもできますが、もしこれが数千ファイルあってさらにサブディレクトリもある場合は、ひとつずつ所有者を変更していては日が暮れてしまいますし、手作業なのでミスが発生するかもしれません。
そんなときに便利なのが「-R」オプションです。chown に「-R」オプションをつけて実行すると、指定したディレクトリ以下すべてのファイルやディレクトリの所有者を変更してくれます。
sort コマンドは、その名のとおりテキストを行単位で並び替えができるコマンドです。sort コマンドも並び替え対象となるテキストを、他のコマンドの出力結果をパイプ「|」を使って標準入力から読み込むことができます。
ファイルやディレクトリの容量を表示する du コマンドと sort コマンドの「-nr」オプションを組み合わせることによって、容量を多く使っている順にディレクトリを表示することができます。-n は数値の大小で並び替え、-r は降順で並び替えるオプションです。
cp コマンドはファイルやディレクトリをコピーするためのコマンドです。オプション無しで実行すると、ファイルの所有者はコピーを実行したユーザーに変わってしまいます。
たとえばウェブシステムからファイルへ書き込みをする機能がある場合に、これが原因でファイルやディレクトリの所有者が変わってしまい、書き込みができなくなるといったトラブルが発生します。
そこで役立つのが「-p」オプションです。cp コマンド「-p」オプションをつけて root 権限で実行すると、コピー元のファイルの所有者やパーミッションなどを保持してコピーしてくれます。冒頭で紹介した -i オプションと合わせて使いましょう。
先ほども紹介しましたが ls コマンドはファイルやディレクトリに関する情報を表示するためのコマンドです。ls コマンドを実行すると、通常はファイル名のアルファベット順にソートされて表示されます。
それをls コマンドに「-t」オプションをつけることによって、ファイルの更新時間順に表示することができます。
たとえばトラブルなどでサーバのログを調査するときに、最新のログが出力されたログファイルを見つけるのにこの「-t」オプションが役立ちます。
sar コマンドは、サーバのCPUやメモリの使用率、ネットワークトラフィックやディスクI/0などさまざまなリソースの負荷状況を時系列で確認できるコマンドです。
sar コマンドに「-A」オプションをつけて実行すると、すべてのリソースの負荷状況を確認することができます。
tail コマンドはファイルの最後10行を表示するコマンドです。ログファイルを確認するのによく使われるコマンドです。
オプションをつけなければ、最後10行を表示してコマンドは終了しますが、「-f」オプションを付けて実行すると追加されたログを随時表示してくれます。
こうしてまとめてみると、実際の作業で重宝するコマンドやオプションは基本的なものが多いですね。これ以外にも「いやいやこのオプションの方が便利だよ」とか「こんな便利なオプションあるよ!」などありましたら、コメントなどで教えていただけると嬉しいです!
早いもので今年も残すところあと一ヶ月あまり。年末に向け、データの整理や処理で大忙し……という方も多いのではないでしょうか? 当ブログでは以前に「時短してますか? 〜業務効率化に役立つパソコン小技集〜」と題し、時短に役 … “時短してますか?~業務効率化に役立つExcel小技集~” の続きを読む
現代ではすっかり仕事に欠かせないツールとなったパソコンですが、メールや会議用の資料を作成するのって意外と時間がかかりますよね。ちょっとした小技で圧倒的に作業時間の削減ができるとしたら……? 便利な機能を活用して、さく … “時短してますか? 〜業務効率化に役立つパソコン小技集〜” の続きを読む
普段から仕事でパソコンをお使いの方も多いと思いますが、パソコンを正式に基本から学んだという方はどのぐらいらっしゃるでしょうか。パソコン黎明期ならいざ知らず、いまどきは会社や学校、自宅で触っているうちに自然と覚えていった … “今さら聞けないキーボードの効率よい使い方” の続きを読む