2020年2月6日Linuxコマンドやシェルについて深く知らなくても大抵の作業は問題なく行う事ができます。可能であればスマートに行いたいですよね。知っているか知らないかどうかで作業効率を上げたり作業ミスを防ぐ事ができますから。そこで、あまりアクロバティックな例は取り上げず仕事でコマンドを打つときや手順書を作成するときに使えるかな?と思った実用性のあるテクニックをご紹介します。このページは随時更新します。便利なコマンドやテクニックをご存じの方は教えてください。スポンサーリンクContentsコマンド結果をファイルのように扱うリモートホストにスクリプトを送信して実行させる複数のコマンド結果を一度にリダイレクトする変数の部分切り出しを行う拡張子を一発で変更するバックアップコピーを取るときに便利なコマンドコマンド結果をファイルのように扱う例としてAとBのファイルをsortしてから比較したいとしましょう。そんなときは次のようなコマンドを実行する方が多いと思います。b.sortこれでも良いのですが冗長です。このコマンドは次のように置き換える事ができます。b)たったの1行で済みます。「<(コマンド)」とするとコマンドの実行結果をファイルのように扱う事ができて便利です。リモートホストにスクリプトを送信して実行させるリモートホストにログインせずコマンドを実行する場合は次のようにするかと思います。'command'単純なコマンドであればこれで良いのですが、長いコマンドやスクリプトでは厳しいでしょう。その場合はスクリプトを送信してしまいましょう。'sh'複数のコマンド結果を一度にリダイレクトするたとえば次のようなコマンドの結果をひとつのファイルに書き出したいとします。-elfwlastこの場合次のようにする事が多いでしょう。outfileこれでも良いのですが、もうちょっとスッキリさせたいところです。このような場合はコマンドのグループ化が使えます。outfileあるいは次のようにしてもOKです。outfile{}を使うとコマンドの実行結果をまとめてリダイレクトしてくれるのでスッキリします。変数の部分切り出しを行う例として次のような文字列があるとしましょう。Blancer)やfw(FireWall)、sv(Server)のように種類を表していて、その文字列を取り出したいとします。そのような場合は次のようにします。${j:3:2}done${j:3:2}の箇所がミソです。これは変数「j」の4番目(0から数えるため3になっている)を2文字切り出す、という事をしています。上記のコマンドを実行すると次のようになります。donelbfwsv$拡張子を一発で変更するhoge.txtをhoge.logに変えたい場合、一般的には次のようにします。hoge.logこれで良いのですが、できればもっと短くスマートにしたいところです。hoge.{txt,log}バックアップコピーを取るときに便利なコマンドサーバーで設定変更を行う際は元のファイルのコピーを保存する事が多いはずです。ファイル名に続いて日付を付ける事が多いようです。次のようなコマンドです。/etc/httpd/conf/httpd.conf-20xx0101このようなコマンドは次のように短縮化できます。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。