用語集

代表的な Linux distribution

Arch

ローリングリリースモデルをベースとしており、常に最先端であることを目指しています。 独自のパッケージ管理システム pacman を備えます。 ArchWiki のドキュメントが充実しており、他の distro を使っている場合でも参考になる情報が多数あります。

Debian

自由なオペレーティングシステムを目指しており、Ubuntu をはじめとして、多くの distro のベースとなっている distro。 dpkg と apt による強力なパッケージ管理システムと、フリーソフトウェアが特徴。 WSL からも利用可能。

Gentoo

玄人好みの disto。 ソースコードからコンパイルすることでソフトウェアのインストールを行う パッケージ管理システム Portage が特徴。

Kali

Debian 派生 distro の一つ。 デジタル・フォレンジックやペネトレーションテスト用に設計されています。 WSL からも利用可能。

Oracle

商用 DB の代表格である Oracle によるメーカー直々の distro。 RedHat 互換で、無償利用も可能。 WSL からも利用可能。

RedHat

商用 distro の代名詞 RHEL (Red Hat Enterprise Linux) が主力製品。 RHEL は有償製品ですが、 開発版として位置付けられている CentOS Stream や Fedora が無償利用可能。

Slackware

老舗 distro の一つ。 tar ファイルによる簡素なパッケージ管理が特徴だったが、 近年は Slackpkg と呼ばれるパッケージ管理ツールが導入されたらしいです。

SUSE

ドイツに本部を持つ OSS 多国籍企業。 独自のパッケージ管理システム YaST を用いた SLES (SUSE Linux Enterprise Server) や OSS の openSUSE を開発しています。 WSL からも利用可能。

Ubuntu

最も人気のある distro の一つ。 WSL でも標準 distro 扱いになっています。 商用サポートも充実しています。 半期毎の 4 月と 10 月に短期サポート版、2 年毎の 4 月に長期サポート(LTS: Long Term Support)版がリリースされます。

プログラミング言語

Python

上記、公式資料以外にも参考になる資料が多数存在します。主だったものを幾つか紹介しておくので参考にしてください。

関連ソフトウェア、ライブラリ

Jupyter Notebook
JupyterLab
Project Jupyter

Jupyter Notebook は Project Jypyter により開発された Python 用の対話型実行環境です。 Jupyter Notebook 及び JupyterLab は python のモジュールとして実装されており、 web サーバー上で動作している Python を web ブラウザ上から操作する点が特徴です。

JupyterLab は次世代版 Jupyter Notebook として位置づけられおり、様々な機能が強化されています。

Jupyter の名前は、公式サポートされているプログラミング言語と Julia, Python, R にも由来しているようです。

matplotlib

Python でグラフ等によるビジュアライゼーションを行うためのモジュールです。

numpy

Python で配列計算を行うためのモジュールです。 線形代数やフーリエ変換等、演算負荷の大きい処理を C/C++ で実装されています。 インタプリタ型の言語である Python は本来あまり高速に処理を行えませんが、 numpy を用いて計算を行う事で、大幅な高速化が可能となっています。

Open Source Computer Vision Library
OpenCV
OpenCV (Open Source Computer Vision Library)

Intel 発祥のコンピュータビジョン向け画像処理ライブラリです。 C/C++ で書かれていますが、Java や Python の他、様々な言語向けのバインディングも開発されています。 大量のアルゴリズムが実装されており、画像処理の必須ツールとして様々な分野で活用されています。

WSL
Windows Subsystem for Linux

Windows 上で Linux バイナリを直接実行させるためのサブシステム。 Linux kernel の主要機能を独自実装した WSL1 と、Windows の仮想化機構 Hyper-V 上で修正版 Linux kernel を実行する WSL2 の 2 系統が利用可能。

本物の Linux kernel を利用しているため WSL2 の方が互換性の点で有利だが、 仮想化機構を使わず Windows 本体で直接動いているので空きメモリを最大限利用可能だったり、 Hyper-V 以外の仮想マシンの動作を妨げなかったりと WSL1 にも利点はある。

また、2022年11月には新たに Microsoft Store 版の WSL の提供が開始となった。 従来の inbox 版 (Windows コンポーネント版) の WSL も引き続き利用は可能だが、 現在は Microsoft Store 版が標準となっている。

Microsoft Store 版と inbox 版の違いについては以下の記事が詳しい。

Web サービス

Google Colaboratory

Google による Jupyter Notebook のクラウドサービスです。

用語

root directory
ルートディレクトリ

ファイルやディレクトリの位置を 絶対パス 指定する際の起点となるディレクトリです。 POSIX の場合は /、 Windows の場合は C:D: 等のドライブ直下ディレクトリ C:\D:\ が ルートディレクトリとなります。

absolute path
absolute path name
絶対パス
絶対パス名

目的のファイルやフォルダの位置を表すための表記法。 ルートディレクトリから順にディレクトリを辿ることで、目的のファイルやフォルダの位置を示します。 POSIX ではルートディレクトリ / を起点として、パス区切り文字 / でディレクトリを順に並べることで、目的のファイルやフォルダへの位置を示します。 Windows では C:D: 等のドライブ直下のディレクトリ C:\D:\ を起点として、パス区切り文字 \ でディレクトリを順に並べることで、目的のファイルやフォルダへの位置を示します。

例えば リスト 138リスト 139 のようなディレクトリの木構造があった場合、 hello.py の位置は以下のように表すことができます。

  • 例:
    • /home/USERNEME/Downloads/IP2022/hello.py

    • C:\Users\USERNAME\Downloads\IP2022/hello.py

作業ディレクトリを起点として表現する 相対パス も参照。

リスト 138 ディレクトリ木構造の例 (POSIX)
/
+ home
  + USERNAME
    + Downloads
      + IP2022
        + hello.py
        + hello.c
      + IP2022.zip
リスト 139 ディレクトリ木構造の例 (Windows)
C:
+ Users
  + USERNAME
    + Downloads
      + IP2022
        + hello.py
        + hello.c
      + IP2022.zip
home directory
ホームディレクトリ

マルチユーザー環境の OS で各ユーザーに割り当てられる最上位のディレクトリ。 POSIX では /home/USERNAME 、Windows では C:\Users\USERNAME が標準。

このディレクトリ以下に、ユーザー毎の所有ファイルを保存する。

通常、CLI 環境起動直後の作業ディレクトリはホームディレクトリとなるが、 WSL では起動方法によっては別の場所が作業ディレクトリになっている場合もある。

bash では ~ をホームディレクトリの短縮表記として使える。 また cd コマンドをパラメータなしで実行すると、ホームディレクトリへ移動出来る。

locale
ロケール

用いる言語や地域、文字コード情報等の設定情報です。

英語(English)、アメリカ(United States)、UTF-8 形式の UNICODE を用いるなら en_US.UTF-8、 日本語(Japanese)、日本(Japan)、UTF-8 形式の UNICODE を用いるなら ja_JP.UTF8 のようになります。

mode bit
モードビット

所有者、グループ、その他のユーザーへの ファイルの読み込み (r: read)、書き込み (w: write)、実行 (x: execute)権限等の付与状況を示します。

ls コマンド に -l オプションを付ける事で確認出来、 chmod コマンドで変更できます。

regex
regexp
regular expression
正規表現

テキスト検索の際、一般的に用いられる表現方法の一つ。 検索対象が満たすべきパターンを一種の状態遷移として記述することで、 柔軟な検索を可能とします。

今日の様々なプログラミング言語においては、 テキスト処理を行う際の必須ツールと言っても過言ではないでしょう。

更なる詳細については検索に委ねるので、以下を参照してください。

relative path
relative path name
相対パス
相対パス名

目的のファイルやフォルダの位置を表すための表記法。 作業ディレクトリから順にディレクトリを辿ることで、目的のファイルやフォルダの位置を示します。 パス区切り文字は、絶対パス と同じです。 現在のディレクトリは .、現在のディレクトリの上位に位置するディレクトリ(つまりは内包するディレクトリ)は .. で表します。

リスト 138リスト 139 のようなディレクトリの木構造があって、 ディレクトリ IP2022 で作業していた場合、 IP2022.zip の位置は以下のように表すことができます。

  • 例:
    • ../IP2022.zip

    • ..\IP2022.zip

ルートディレクトリ を起点として表現する 絶対パス も参照。

current directory
working directory
カレントディレクトリ
作業ディレクトリ

現在作業をしているディレクトリを指します。 ファイルやフォルダの位置を 相対パス (relative path) で 記述する差異の起点となります。

. は作業ディレクトリを意味します。 POSIX 環境ではセキュリティ上の理由から、 コマンドの実行時の実行ファイル検索パスに作業ディレクトリは含まれません。 作業ディレクトリにある実行ファイルをコマンドとして実行する際は、 実行ファイル名の前に ./ を付与する必要があります。

UNC (Universal Naming Convention)

Google 検索 : UNC

ネットワーク上の資源を表すためのアドレス表記法。

//HOSTNAME/path... の形式で表現する。