FAQ
統計分析
統計学の考え方や発想
「統計学の考え方や発想」を身につけることは
- データを取得したときに最初にすべきこと
- データ解析で意識しておくべきこと
- 結果を解釈するときに肝に銘じておきたいこと
へ繋がってきます.
Linux
NoteSysV init の runlevel
古い Fedora Coreでは rhgb quiet 3 と知っていするとCUI環境でのログイン画面が表示されますが,これはSysV initのrunlevelの指定に対応しています.
rhgb: Red Hat Graphical Bootquiet: カーネルのログ出力量を減らすオプション3: SysV init における マルチユーザーモード(ネットワーク有効・GUIなし) を指定
| runlevel | 意味 |
|---|---|
| 0 | halt(電源断) |
| 1 | single user mode(保守用, rootのみ) |
| 2 | ネットワークなしのmulti-user |
| 3 | multi-user + network(CUI) |
| 4 | 未定義 |
| 5 | multi-user + network + X(GUI) = グラフィカルログインによるマルチユーザーモード |
| 6 | システムの再起動(reboot) |
環境構築
ネットワーク環境
Python分析環境
プログラミング
正規表現
| メタ文字 | 意味 | 記述例 | マッチする文字列例 |
|---|---|---|---|
. |
任意の1文字 | a.b |
acb, a9b |
^ |
行頭 | ^abc |
abcxxx |
$ |
行末 | abc$ |
xxxabc |
\ |
エスケープ | \. |
. |
| |
OR | cat|dog |
cat, dog |
* |
0回以上 | ab* |
a, ab, abbb |
+ |
1回以上 | ab+ |
ab, abbb |
? |
0または1回 | colou?r |
color, colour |
{n} |
n回 | a{3} |
aaa |
{n,} |
n回以上 | a{2,} |
aa, aaaa |
{n,m} |
n〜m回 | a{2,4} |
aa, aaa, aaaa |
[abc] |
いずれか1文字 | b[ae]t |
bat, bet |
[^abc] |
否定クラス | [^0-9] |
a, # |
[a-z] |
範囲指定 | [a-z]+ |
hello |
[A-Z] |
英大文字 | [A-Z]{2} |
US, JP |
[0-9] |
数字 | [0-9]+ |
123 |
\d |
数字 | \d{4} |
2026 |
\D |
数字以外 | \D+ |
abc |
\w |
英数字+_ |
\w+ |
var_1 |
\W |
\w以外 |
\W+ |
!!! |
\s |
空白 | \s+ |
, \t |
\S |
非空白 | \S+ |
text |
(…) |
グループ | (ab)+ |
ab, abab |
^ |
行の先頭 | ^# |
# comment |
$ |
行の末尾 | ;$ |
end; |
Noteワイルドカードと正規表現の違い
- ワイルドカード(globパターン)はシェルでのファイル名マッチングに使用
- 正規表現はテキスト内のパターンマッチングに使用
| 項目 | ワイルドカード(glob) | 正規表現 |
|---|---|---|
| 主な用途 | シェルでのファイル名・パス指定 | テキスト検索・置換(grep, sed, etc.) |
* の意味 |
0文字以上の任意の文字列 | 直前の文字の0回以上の繰り返し |
. の意味 |
ただのドット文字 | 任意の1文字(メタ文字) |
? の意味 |
任意の1文字 | 直前の文字の0または1回 |
| 使用例 | ls *.txtcp file?.log /tmp/ |
grep "a.*b" file.txtsed 's/[0-9]\+/X/g' |
具体例
# ワイルドカード(シェル)
ls *.txt # file1.txt, data.txt などにマッチ
rm test?.log # test1.log, testA.log などにマッチ
# 正規表現(grep)
grep "test.*log" file.txt # "test" と "log" の間に任意の文字列
grep "file[0-9]+" file.txt # "file" の後に1つ以上の数字シェル
Note内部コマンドと外部コマンド
シェルには 内部コマンド(builtin) と 外部コマンド の2種類があります.
| 種類 | 例 |
|---|---|
| 内部コマンド | cd, export, set, echo, read |
| 外部コマンド | ls, cp, mv, grep, awk |
内部コマンド
- シェルの本体が持っているコマンド
- シェル自身が処理するコマンドで,外部プログラムを起動しない
- 高速で,カレントディレクトリ・変数・ジョブ状態などシェル自身の状態を直接変更できる
外部コマンド - /bin や /usr/bin などに存在する実行ファイルで,シェルは fork/exec によって別プロセスとして実行. - 多くの場合,「実行ファイル名 = コマンド名」
判定方法
内部コマンドかどうかは type で確認できます(which でも可能)
$ type cd
cd is a shell builtin
$ type cp
cp is /usr/bin/cpドキュメント
vimコマンド
Insertモードへ
| vimコマンド | 動作 |
|---|---|
i |
カーソル前に文字を挿入 |
a |
カーソル後に文字を挿入 |
o |
カーソル行の下に新しい行を作成し,その先頭から挿入が開始 |
I |
カーソル行の先頭に文字を挿入 |
A |
カーソル行の末尾に文字を挿入 |
コマンドモード - general
| vimコマンド | 動作 |
|---|---|
:w |
ファイルを保存する |
:w! |
強制的に保存する(読み取り専用などを無視) |
:q |
vimを終了する(未保存変更があると失敗) |
:q! |
変更を破棄して終了する |
:wq |
保存して終了する |
:wq! |
強制的に保存して終了する |
:x |
変更があれば保存して終了 |
ZZ |
保存して終了(:wqと同じ) |
ZQ |
保存せずに終了 |
:e! |
変更を破棄してファイルを再読み込み |
:! <command> |
vimから抜けずにコマンドを実行する |
編集コマンド
| vimコマンド | 動作 |
|---|---|
dd |
カーソル行を削除 |
^ |
空白文字を除く,行頭への移動 |
0 |
行頭への移動 |
G |
ファイル末への移動 |
$ |
行末への移動 |
OSSライセンス
Noteライセンス早見表
| ライセンス | OSI分類 | 個人利用 | 組織内利用 | 著作権表示の保持 | 免責事項の保持 | 特徴 |
|---|---|---|---|---|---|---|
| GPL | コピーレフト(強) | 適用外 | 適用外 | 必須 | 必須 | バイナリを配布する場合は,そのソースコードも公開しなくてはならない |
| Apache License 2.0 | パーミッシブ | 可 | 可 | 必須(NOTICE含む) | 必須 | 特許ライセンス条項あり NOTICE保持が必要 改変箇所は別ライセンスでも配布可能 改変再配布でもソース公開義務なし |
| MIT | パーミッシブ | 可 | 可 | 必須 | 必須 | 著作権表示を残せば再配布・商用利用OK 改変再配布でもソース公開義務なし |
| Mozilla 2.0 | コピーレフト(弱・ファイル単位) | 可 | 可 | 必須 | 必須 | 変更したファイルのみソース公開が必要(file-level copyleft) 単独ソフトの場合は再配布時にソース公開が必要 |