-
Bashの制御演算子(&& と ||)を使いこなす:コマンド連結とエラー処理の基本
コマンドライン上で複数のコマンドを順番につなげて実行する、シンプルな複合コマンドは非常によく使われます。このようなコマンドはセミコロン(;)で区切られます。セミコロンは「コマンドの終わり」を定義する役割を持ちます。1行にシェルコマンドの連続を記述するには、各コマンドをセミコロンで区切るだけです。 command1 ; command2 ; command3 ; command4 最後のコマンドの末尾にセミコロンを付ける必要はありません。Enterキーを押すことで最後のコマンドの終了が暗黙的に示されるからです。ただし、見た目の一貫性を保つために付けても問題ありません。 エラーが発生したらどうなる
-
LinuxのBashプロンプトを冬仕様にカスタマイズして楽しもう
Linuxコマンドラインおもちゃ・アドベントカレンダーの新しい回へようこそ。このシリーズを初めてご覧になる方は、「コマンドラインのおもちゃって何?」と思われるかもしれません。実は、その定義はかなり自由です。ターミナルで楽しめるものなら何でもOK。さらに、ホリデーシーズンに関連するテーマならボーナスポイント進呈、というスタンスでやっています。 見たことがあるものもあれば、初めて目にするものもあるでしょう。どちらにしても、楽しんでいただければ幸いです。 今日のおもちゃは「あなたのBashプロンプト」 今日ご紹介するのは、とてもシンプルなおもちゃ——そう、あなたのBashプロンプトそのものです。「
-
BashでOpenGLを動かす――シェルスクリプトのためのOpenGLバインディング
Perl 5の設計と「グルー言語」としての適性について語った前回の記事の中で、私は以前Bash用のOpenGLバインディングを書いたことに触れました。証拠なしには信じがたい発言だったので、ハードディスクの埃をかぶった片隅から掘り起こし、コードを手直しし、フォントサポートを改善し、ドキュメントを整えて、自身のサイトとGitHubで公開しました。実際に体験するにはBashとOpenGLの両方をサポートしたシステムが必要ですが、デモ動画も用意しています。 さて、ここでひとつ告白をさせてください。前回の記事「My DeLorean runs Perl」で紹介したデロリアンのダッシュボードに表示されるP
-
あなたが知らないBash:Bash配列入門
ソフトウェアエンジニアは開発の多くの場面でコマンドラインを日常的に使用しますが、配列はおそらくコマンドラインの機能の中でも比較的知られていないものの一つでしょう(正規表現演算子 =~ ほどではありませんが)。その難解さと疑わしい構文はさておき、Bash配列は非常に強力なツールになり得ます。 なぜBash配列なのか? Bashについて書くのは難しいものです。記事が構文の奇妙さに焦点を当てたマニュアルに堕してしまうのは驚くほど簡単だからです。ご安心ください。本記事の目的は、あなたがマニュアルを読む必要(RTFM)なく理解できるようにすることです。 実際に役立つ実例 そこで、現実的なシナリオとB
-
コマンドライン作業を効率化する毎日のBash活用テクニック
Bashは多くのLinuxやUnix系OSで標準シェルとして採用されており、実は使われていない機能が数多く備わっています。そのため、何を取り上げるか決めるのが難しいほどでした。最終的には、「日常業務を楽にしてくれるBashのテクニック」に絞って解説することにしました。 筆者はコンサルタントとして、多種多様な環境や働き方を目にする機会が多くあります。その経験をもとに、テクニックを次の4つのカテゴリに整理しました。ターミナルと行編集の技、ナビゲーションとファイル操作、履歴の活用、そして便利なコマンドです。この分類はあくまで筆者の思考を整理するためのものであり、厳密な区分ではありません。多くのテクニ
-
LinuxターミナルからFlatpakアプリを快適に起動する方法
Flatpakというアプリケーション配布モデルは、開発者にとってLinux向けにアプリを提供する新しく手軽な手段となり、ユーザーにとっても、実行中のLinuxディストリビューションのバージョンを気にせずにアプリをインストールできる便利な仕組みです。筆者のFedora Silverblueシステムでは、Flatpakはデフォルトのパッケージインストール方式になっており、Silverblue上のすべてのデスクトップアプリや、Slackwareで使っているお気に入りのアプリのいくつかもFlatpakとして動作しています。 しかし、Flatpakには場面によって少し扱いにくい点があります。それが命名規
-
Bashで設定ファイルを解析する方法:sourceコマンドの活用
プログラムの設定をコードから分離して管理することは非常に重要です。これにより、プログラミング経験のないユーザーでも、コードを変更することなく設定を調整できるようになります。コンパイル済みのバイナリ実行ファイルの場合、ソースファイルへのアクセス権があったとしても(オープンソースソフトウェアならアクセス可能です)、プログラマーのスキルが必要になるため、非プログラマーが設定を変更することは事実上不可能です。そのようなスキルを持つ人は少数派であり、ほとんどの人は学びたくもありません。 一方、Bashのようなシェル言語では、シェルスクリプトはバイナリ形式にコンパイルされないため、常にソースコードへアクセ
-
Bashシェルスクリプトにオプションを実装する方法
ターミナルコマンドには通常、オプション(スイッチ)が用意されており、コマンドの動作を細かく変更できます。オプションはPOSIX仕様のコマンドラインインターフェースに組み込まれた機能であり、UNIX初期のアプリケーションから受け継がれてきた由緒ある慣習でもあります。そのため、自分でBashスクリプトを作成するときにも、オプションの実装方法を知っておくと非常に役立ちます。 ほとんどのプログラミング言語と同じように、Bashでオプションを解析する方法はいくつか存在します。筆者のお気に入りは、Linuxに出会った頃に初めてシェルスクリプトに触れるきっかけとなった、Patrick Volkerding氏
-
BashスクリプトとImageMagickで画像処理を自動化する方法
ライターの仕事は言葉だけではありません。特にテクニカルライティングでは、技術やプロセスを伝えるために大量のスクリーンショットを扱うことがよくあります。さらに、公開プラットフォームごとに画像フォーマットやファイルサイズなど、異なる要件が課されることも少なくありません。 ITコンサルタント兼システムエンジニアとして、私はクライアントへの納品物として数多くの技術文書を作成してきました。当時はMicrosoft Word(.doc)形式が求められるのが一般的でした。文書はコンテンツを追加するたびにあっという間に肥大化していきます。初期のスクリーンショットはビットマップ(.bmp)形式が主流で、ファイル
-
Jekyllの設定ファイルを動的に生成して静的サイトを柔軟にする方法
静的サイトジェネレーター「Jekyll」は、_config.yml ファイルを使ってサイト全体の設定を行います。このファイルに記述できるのはJekyll固有の設定だけではありません。独自の変数を自由に定義し、サイト全体で活用することも可能です。本記事では、Jekyllの設定ファイルを動的に生成するメリットと具体的な手法を解説します。 ローカル環境でのサーバー起動コマンド 筆者はローカルPCでJekyllサイトをテスト表示する際、以下のコマンドを使用しています。 bundle exec jekyll serve --incremental --config _config.yml 複数の設定
-
LinuxでVimをデフォルトエディターとして設定する方法
筆者は約25年間Linuxを使い続けており、その前には数年間Unixを利用していました。長年の使用の中で、日常的に使うツールへのこだわりが自然と形成されてきました。その中で最も重要なツールのひとつが、Vimエディターです。 Vimとの付き合いは、1990年代初頭にSolarisを学び始めた頃までさかのぼります。当時「Viはどんなシステムにも必ず入っている」と教わったことがきっかけでした。これは私の経験においても事実で、今でもほぼすべての環境でVi系エディターが利用できます。 もちろん他のエディターも試してきましたが、結局のところVimが自分に最も合っています。それほど頻繁に使うため、指がVim
-
Linuxのteeコマンド徹底解説 – シェル出力を分割してファイルと画面に同時保存する方法【実例付き】
Linuxのシェル(コマンドライン)で使える tee コマンドは、アプリケーションの出力を「分岐」させるためのコマンドです。出力をファイルに保存すると同時に、標準出力(STDOUT)(コンソールや別のアプリケーション)にも送ることができます。この記事では、teeコマンドの基本的な使い方を実例とともに解説します。 tee というコマンド名は、配管工事で使われるT字型の継ぎ手(T字管)に由来しています。1つの水源から水を2方向へ分流させるパイプのようなイメージです。 teeコマンドの構文 tee は目的も構文もシンプルなコマンドです。 tee OPTIONS FILE 各要素の意味は以下のとおりで
-
LinuxでUSBメモリ・外付けドライブをマウントする方法【コマンド付きチュートリアル】
このチュートリアルでは、Linux上でUSBメモリや外付けUSBハードディスクをマウントし、アクセスできるようにする方法を解説します。 多くのデスクトップ向けLinuxディストリビューションでは、USBドライブを接続すると自動的にマウントされ、ファイルマネージャーに表示されます。しかし、軽量ディストリビューションやサーバー向けディストリビューションの中には、この機能が含まれていない場合があります。不要とみなされているか、あるいはユーザー自身がこれらの作業を管理することを想定しているためです。 最近のLinuxディストリビューションであれば、USBメモリや外付けドライブ用のドライバーは標準で搭載
-
LinuxシェルからUSBドライブをフォーマットする方法【EXT4・FAT・NTFS対応】
この記事では、Linuxのコマンドライン(シェル)からUSBメモリや外付けUSBハードディスクを、EXT4・FAT・NTFSといった各種ファイルシステムでフォーマットする方法を解説します。 1. ドライブを接続する まず、USBメモリまたは外付けハードディスクをパソコンに接続し、システムがデバイスを認識するまで数秒待ちます。 2. ドライブを特定する 次に、fdisk コマンドに一覧表示オプション(-l)を付けて実行し、接続されているストレージデバイスの中から目的のドライブを見つけます。 sudo fdisk -l この作業では sudo コマンドを頻繁に使用します。多くの操作には管理者権限が
-
LinuxでBash/シェルスクリプトからメールを送信する方法 – MSMTPとMuttの設定手順と実用例
この記事では、Linuxのコマンドラインやシェル、さらにBash/シェルスクリプトからメールを送信する複数の方法を、具体例とともに解説します。 なぜコマンドラインからメールを送りたいのでしょうか? 日常的なやり取りであれば、ほとんどの人は使いやすいUIを備えたメールクライアントを使用します。しかし、タスクの完了時やイベント発生時に、コンピュータへ自動的にメール通知を送らせたいケースは少なくありません。 こうしたメール通知は、ディスク容量不足の警告や、エラー発生・停電時の緊急連絡などによく活用されています。さらに工夫すれば、自作アプリへの新規ユーザー登録数を毎日サマリーとして通知する仕組みを作る
-
Linuxのwatchコマンドの使い方と実用例をわかりやすく解説
Linuxのwatchコマンドは、指定したコマンドを一定間隔で繰り返し実行し、その結果を画面に表示し続けるためのツールです。コマンドの出力が時間とともにどう変化するかをリアルタイムで監視したい場合に非常に便利です。この記事では、watchコマンドの基本的な使い方と、覚えておくと役立つ実用的な例を紹介します。 watchコマンドの基本構文 watchコマンドの構文は以下のとおりです。 watch オプション コマンド 各要素の意味は次のとおりです。 オプション: 後述の表から選択したオプションを指定します。watchコマンドのデフォルト動作を変更できます。 コマンド: watchが繰り返し実行
-
Linuxのlocateコマンド徹底解説:使い方・オプション・実用例
Linuxでファイルを検索する際に役立つツールが、locateコマンドです。この記事では、locateコマンドの基本的な使い方から便利なオプションまで、具体例とともにわかりやすく解説します。 locateコマンドは、ファイルやフォルダを名前で検索するために特化したコマンドです。使い方はシンプルで、パターンを指定してファイルを検索できるため、「特定の拡張子を持つファイルを探したい」といった場面でも活躍します。 locateのインストール方法 locateは、システムによってはデフォルトでインストールされていない場合があります。その場合は以下のコマンドでインストールしましょう。 Debian系やU
-
Linuxのclearコマンドの使い方!ターミナル画面をきれいにクリアする方法
この記事では、Linuxのclearコマンドを使ってターミナル画面をクリアする方法を解説します。手順はとてもシンプルなので、すぐに覚えられますよ。 ターミナル/シェル画面をクリアする Linuxターミナルでコマンドを次々と実行していると、画面が過去の出力やコマンド履歴でごちゃごちゃしてきて、作業しづらくなることがあります。そんなとき、画面をまっさらにして新しく作業を始められたら便利ですよね。 そのために活躍するのがclearコマンドです。 clearコマンドの構文 clearコマンドの構文は以下のとおりです。 clear 非常にシンプルですね。オプションを指定してコマンドの動作を変えることも可
-
Linuxのmanコマンド完全ガイド:マニュアルページの見方と使い方【実例付き】
この記事では、LinuxをはじめとするUnix系OSにおけるmanコマンドの目的と使い方について詳しく解説します。 Linuxは非常にモジュール性の高いオペレーティングシステムです。中核となるOS本体(Linuxカーネル)と、それに機能を追加する多数のソフトウェアパッケージで構成されており、これらのパッケージはそれぞれ個別にメンテナンスされています。そのため、システムにインストールされるパッケージは、ユーザーが何をしたいかによって異なります(例えば、グラフィックデザイナーはお絵かきツールをインストールするでしょうし、小説を書く人はワープロソフトをインストールするでしょう)。 どのシステムもまっ
-
Linuxのwhichコマンド徹底解説!使い方・オプション・活用例をわかりやすく紹介
このチュートリアルでは、Linuxにおける which コマンドの基本的な使い方を、シンプルな実例とともに解説します。 which コマンドを使うと、システム上のコマンドに対応する実行ファイル(バイナリ)のパスが存在する場合、その場所を確認することができます。 whichコマンドはどんなときに役立つ? たとえば、MySQL の実行ファイルがシステム上に2つインストールされていて(異なる方法でインストールした場合など)、「実際に使われているのはどちらか」を知りたい場面を考えてみましょう。which コマンドを使えば、コマンドラインで MySQL を実行した際に呼び出されるのがどちらのパスなのかを