LoginSignup
1
1

More than 1 year has passed since last update.

GNU Coreutilities を極める(2: チートシート)

Last updated at Posted at 2023-01-20

概要

前回は coreutils に含まれるコマンド名一覧を出力してみましたが、
今回は含まれているコマンドがどういった用途で利用されるのかを簡単に説明した
チートシートを作成してみます。

アルファベット順 coreutils コマンド一覧

あらかじめコマンド名が判明している際はこの索引を利用してください。
リンクをたどると用途別の説明にジャンプします。

記号,A-B

記号,A,B
コマンド 分類
[ その他
arch システム情報表示
b2sum ダイジェスト作成/確認
base32 エンコード/デコード
base64 エンコード/デコード
basename 文字列操作
basenc エンコード/デコード

C

C
コマンド 分類
cat ファイル内容出力・比較・調査
chcon ファイル属性変更
chgrp ファイル属性変更
chmod ファイル属性変更
chown ファイル属性変更
chroot プロセス実行・評価・管理
cksum ダイジェスト作成/確認
comm ファイル内容出力・比較・調査
cp ファイルシステム操作
csplit ファイル内容出力・比較・調査
cut 文字列操作

D

D
コマンド 分類
date システム情報表示
dd ファイルシステム操作
df システム情報表示
dir システム情報表示
dircolors その他
dirname 文字列操作
du システム情報表示

E,F

E,F
コマンド 分類
echo 文字列操作
env プロセス実行・評価・管理
expand 文字列操作
expr プロセス実行・評価・管理
false その他
factor 文字列操作
fmt ファイル内容出力・比較・調査
fold ファイル内容出力・比較・調査

G,H,I

G,H,I
コマンド 分類
groups ユーザー情報表示
head ファイル内容出力・比較・調査
hostid システム情報表示
id ユーザー情報表示
install ファイルシステム操作

J,L

J,L
コマンド 分類
join ファイル内容出力・比較・調査
link ファイルシステム操作
ln ファイルシステム操作
logname ユーザー情報表示
ls システム情報表示

M

M
コマンド 分類
md5sum ダイジェスト作成/確認
mkdir ファイルシステム操作
mkfifo ファイルシステム操作
mknod ファイルシステム操作
mktemp ファイルシステム操作
mv ファイルシステム操作

N,O

N,O
コマンド 分類
nice プロセス実行・評価・管理
nl ファイル内容出力・比較・調査
nohup プロセス実行・評価・管理
nproc システム情報表示
numfmt 文字列操作
od ファイル内容出力・比較・調査

P

P
コマンド 分類
paste ファイル内容出力・比較・調査
pathchk その他
pinky ユーザー情報表示
pr ファイル内容出力・比較・調査
printenv システム情報表示
printf 文字列操作
ptx ファイル内容出力・比較・調査
pwd システム情報表示

R

R
コマンド 分類
readlink ファイルシステム操作
realpath ファイルシステム操作
rm ファイルシステム操作
rmdir ファイルシステム操作
runcon プロセス実行・評価・管理

S

S
コマンド 分類
seq 文字列操作
sha1sum ダイジェスト作成/確認
sha224sum ダイジェスト作成/確認
sha256sum ダイジェスト作成/確認
sha384sum ダイジェスト作成/確認
sha512sum ダイジェスト作成/確認
shred ファイルシステム操作
shuf ファイル内容出力・比較・調査
sleep プロセス実行・評価・管理
sort ファイル内容出力・比較・調査
split ファイル内容出力・比較・調査
stat ファイル内容出力・比較・調査
stdbuf プロセス実行・評価・管理
stty その他
sum ダイジェスト作成/確認
sync その他

T

T
コマンド 分類
tac ファイル内容出力・比較・調査
tail ファイル内容出力・比較・調査
tee その他
test その他
timeout プロセス実行・評価・管理
touch ファイルシステム操作
tr 文字列操作
true その他
truncate ファイル内容出力・比較・調査
tsort ファイル内容出力・比較・調査
tty ユーザー情報表示

U

U
コマンド 分類
uname システム情報表示
unexpand 文字列操作
uniq ファイル内容出力・比較・調査
unlink ファイルシステム操作
users システム情報表示

V,W,Y

V,W,Y
コマンド 分類
vdir システム情報表示
wc ファイル内容出力・比較・調査
who システム情報表示
whoami ユーザー情報表示
yes 文字列操作

分野別 coreutils コマンド一覧

システム情報表示

コマンドが呼び出されたシステムの情報を標準出力に出力するコマンド群。
シェルスクリプト内で環境に応じて処理を変えたい際のチェック対象値として利用されることが多い。

コマンド 用途
arch OSが稼働中であるハードウェアのCPU種別を出力。
uname -aと同一内容を出力。
date 現在時刻(または指定された時刻)であるUNIX時刻(数値)を、
指定された書式の文字列で出力
df マウントされているディスクの使用量を表示
dir lsコマンド同様、ディレクトリ内のファイル一覧を出力。
MS-DOS由来
du ファイル単位でディスク使用量を出力
hostid 読み取り専用データであるマシン固有のホストIDを16進表記で出力。1
ls 指定されたファイルの情報やカレント/指定されたディレクトリに存在するファイルの一覧等を出力
nproc 利用可能なCPU数を表示。
マルチコア・マルチスレッドCPUが当たり前の現在は論理CPU数が表示される。
printenv 全ての環境変数を出力
pwd カレントディレクトリを出力
uname 現在ログインしているシステムのアーキテクチャ,OS名,カーネルバージョン等を出力
users 自身を含め、このマシンにログインしているユーザー一覧を出力。
whoコマンドの方が多機能なので、このコマンドを利用する必要はない。
vdir ディレクトリに含まれているファイル一覧を出力。
lsコマンドとの違いは、lsコマンドはファイルもディレクトリも対象となるが、vdir はディレクトリ専用という点だけなので、あえてこのコマンドを利用することに意味はない。
who ログインしているユーザー一覧を出力。
usersコマンドとの違いは、オプション指定により様々な付随情報が得られる点であるため、usersコマンドを利用することに意味はない。

ユーザー情報表示

コマンドを呼び出したユーザーや特定ユーザーの情報を標準出力に出力するコマンド群。
シェルスクリプト内で環境に応じて処理を変えたい際のチェック対象値として利用されることが多い。

コマンド 用途
groups 自分(または指定されたユーザー)が所属するグループ一覧を出力
id 自分自身(または指定されたアカウント)のユーザーID(UID)を出力
logname ログインしている自分自身のアカウント名を出力。
ほぼwhoami コマンドと同一なのだが、logname はログインプロセスの際に/var/log/wtmpに記録されたアカウントを参照し、whoami はシェルを実行しているアカウントデータを参照する点が異なる。2
pinky 伝統的なUNIX系OSにはfingerという、アカウント名、ホームディレクトリ、実名、電話番号といったユーザー情報を表示するコマンドが存在するが、pinkyはこの機能の軽量版。3
tty 自分が今現在接続しているTTYデバイス名を表示
whoami 自分自身のアカウント名を出力

プロセス実行・評価・管理

シェルスクリプトの中で新しいプロセスを開始したり、インタラクティブシェルから現在動いているプロセスの優先順位を上げたり、といったことを行うためのプロセス制御用コマンド群。

コマンド 用途
chroot 指定されたディレクトリを新規のルートファイルシステムとみなして
OSに新規でログインした扱いとし、新規の環境へと移行する。
外部に公開するサービスを実行する際やエミュレータ環境の構築/実行等で頻繁に利用されている
env 一時的に環境変数を別の値に上書きしてプログラムを実行
expr 与えられた式(他のプログラム実行結果や数値比較等)を評価。
評価の途中や評価結果が判明するまでの間に様々な副作用が出ることが多い
nice プロセスの実行優先順位を変更
nohup hangup 信号を無視する設定でコマンドを実行
runcon 指定されたセキュリティコンテキストでプログラムを実行
SELinuxでのみ有効
sleep 指定された時間だけ、何もしないで待機
stdbuf デフォルトの標準入力/標準出力/標準エラーではない
入力元/出力先を指定してプログラムを実行
timeout 実行時間制限を付与して新規のコマンドを実行。
指定時間以内にコマンドが終了しなかった場合、プロセスを強制終了させる

文字列操作

与えられた引数を加工対象文字列とみなして、加工後の文字列を標準出力に出力するコマンド群。
引数が与えられなかった場合は標準入力からデータを読み込み、改行文字が登場するたびに加工開始、出力していくものが多い。

コマンド 用途
basename ファイル名を意味する文字列の、
ディレクトリ名部分を除去した文字列を取得。
オプション指定を行えば、MS-DOS/Windowsで言うところの「拡張子」に相当するファイル名末尾の文字列を除去することも可能。
cut 指定されたルールに従って、行単位の文字列の部分文字列を取得
dirname ファイル名である文字列から、ディレクトリ名部分のみを抽出
echo 引数として与えられた文字列をそのまま標準出力に出力。
シェルスクリプト内で頻繁に利用される
expand タブを複数スペースに変換して出力
factor 与えられた数字を素因数分解して、結果をスペース区切りの数字へと展開
numfmt "1K"→"1024"のように、単位付きの数値を通常の数値へと展開
または
"1024"→"1K"のように、通常の数値を単位付きの文字列へと変換
printf 与えられた引数を指定された書式へと変換して出力
seq 指定された開始値(整数)から終了値(整数,この数も含む)まで、
スペース区切りで数字を出力していく
tr 部分文字列の置換/削除
unexpand 複数スペース文字をタブ文字に変換。
expandコマンドの逆の処理
yes 強制終了されるまで、永遠に標準出力に対して"y\n"を出力する。
実行途中で[Y/n]?のようなメッセージと共にキーボード入力をさせるためにストップするプログラムに対し、
問答無用でyを入力させるために使用。

ファイル属性変更

コマンド 用途
chcon SELinux 上で有効な、ファイル用セキュリティコンテキスト設定コマンド
chgrp ファイルの所有グループを変更
chmod ファイルのアクセスモードを変更
chown ファイルの所有者を変更

ファイルシステム操作

コマンド 用途
cp 通常のファイルコピー。マウント済みのファイルシステム同士でしか実行できない。
dd (ハードウェア寄りという意味での)低レベルでファイル形式を変換しながらのコピー。
cp コマンドはマウント済みのディスク上に構築されたファイルシステムの中でしか効果がないが、ddコマンドはファイルシステム構築前/マウント前のディスクデバイスに対しても実行可能なので、ディスクを丸ごとバックアップしたいといった用途で使用。
install ファイルのコピーとコピー先でのファイル属性の設定を同時に行う事が可能なコピーコマンド。4
link POSIX 準拠OSの link システムコールを利用して
(シンボリックリンクではなく)ハードリンクを作成
ln オプションによりシンボリックリンク/ハードリンクどちらの種類のリンクも作成可能なリンクコマンド
mkdir 新規ディレクトリの作成
mkfifo 新規FIFO(First In First Out,名前付きパイプ)の作成。
通常、実行にはroot権限が必要
mknod /dev 配下に新規のブロックデバイスやキャラクターデバイスを作成
通常、実行にはroot権限が必要
mktemp テンポラリファイル/テンポラリディレクトリの作成
mv ファイルの移動またはファイル名の変更
readlink シンボリックリンクが指している実体のファイル名を出力
realpath 相対パスの文字列を絶対パスへと変換
rm ファイルの削除。
オプションが指定されない限り、ディレクトリの削除は不可能。
rmdir ディレクトリの削除
shred 機密性の高いデータを、データ復旧が不可能となるレベルまで徹底的に抹消したい際に利用するコマンド。実行速度は超遅い。5
touch 既存ファイルのタイムスタンプ更新
空の新規ファイルを作成
unlink 指定されたファイルがシンボリックリンクである際はリンク解除となるが、通常ファイルである場合は普通のrmコマンドと同一の処理となるので注意が必要。

ファイル内容出力・比較・調査

指定された既存ファイル名を引数として受け取り、対象ファイルはテキストファイルであるとみなし

  • ファイルの内容をそのまま出力
  • ファイルの内容を加工して出力
  • ファイルの内容を調査して取得した情報のみを出力
  • 指定ルールでファイルを分割して複数ファイル化

といった機能を持つコマンド群。

通常、ファイル名引数の代わりに-(マイナス)が与えられた場合は既存ファイルではなく標準入力からデータを読み込んで結果を出力する。

コマンド 用途
cat ファイルの内容を先頭から末尾まで出力
comm 両者ソート済みの2ファイルを行単位で比較
csplit 指定された文字列パターンルールに基づいて
テキストファイルを複数ファイルに分割
fmt テキストファイルの整形。
文法的なチェックは一切行わず、
1行の最大文字数を代表とする数的データのみで整形する
fold 指定された桁数を超えない行はそのまま出力し、
指定桁数を超える行は改行を挿入、折り返して出力
head ファイルを先頭から指定行数分だけ出力。
巨大なファイルの先頭部分だけを確認したい際などで使用。
指定行数のパラメータにマイナスの数を与えると挙動が変わるので注意
join 二つのテキストファイルがともにスペース区切りで複数のフィールドが格納されているデータファイルであるとみなし、
最初に指定されたファイルの先頭フィールドを共通キーとして2つ目に指定されたファイルの項目を追加して出力
nl 行頭に行番号+スペースを付加してファイルを出力
od ファイルの内容を8進文字列でダンプ
paste 2つのスペース区切りの複数フィールドテキストファイルをマージ
pr スペース区切りの複数フィールドテキストファイルを印刷用に整形
ptx テキストファイルの内容から単語索引ファイルを生成。
基本的には単語同士がスペースで区切られているテキストデータ(主に欧文データ)にしか対応しない。6
shuf ファイルの内容を、行単位でランダムな順番で全て出力。
sortコマンドの逆とも言える。
sort ファイルの内容を行単位ですべて読み込み、
文字コードが(デフォルトでは)昇順となるように並べ替えて出力
split 指定されたルール(通常はファイルサイズ)に従ってファイル分割
stat 指定されたファイル(またはファイルシステム)の状態を表示
tac 行単位でファイルの末尾からファイルの先頭に向かって出力。
catコマンドの逆の処理であるため、c,a,tの文字列を逆転させたt,a,cがコマンド名の由来となっている
tail 指定されたファイルの末尾を、指定された行数分だけ出力。
headコマンドの逆の処理。
ログファイルのように延々と新規行が追加されていくような性格を持つファイルに対し、特定のオプションを指定したこのコマンドを実行することで、強制終了されるまで新規行が追加されたこことを検知しながら追随して出力していく、という機能も持っている
truncate 既存ファイルのファイルサイズを指定した値に設定。
現在のファイルサイズが指定値よりも大きい場合は超過分が切り捨てられる。
現在のファイルサイズが指定値よりも小さい場合は0が補填されて指定サイズまで拡張される。
tsort 用途はsortコマンドと同一。
ソート方式がトポロジカルソートであることが違い。7
uniq ソート済みのテキストファイルで重複行を削除して出力。8
wc テキストファイル内の行数・単語数・文字数のいずれかを取得して数字として出力

エンコード/デコード

特定範囲のASCIIコードテキストデータしか受け付けないプロトコルやシステムとのデータの送受信が必要となる場合(現在も利用されている具体的なシチュエーションとしては電子メールやHTTP認証等)、

  • 自身から相手にバイナリデータを送り付ける前に特定の方式でテキスト化する処理(エンコード)
  • 相手から自身がエンコード済みのテキストデータを受け取ったのち、テキストデータを特定の方法でバイナリファイルに復元する処理(デコード)

が必要になってくるが、これらを行うためのコマンド群。
現代、ユーザーがシェルからコマンドを打ってエンコード/デコードを行うことはまずないため9、これらのコマンドの利用頻度もかなり低い。

コマンド 用途
base32 BASE32方式でエンコード/デコード
base64 BASE64方式でエンコード/デコード
basenc オプションで指定した方式を利用してエンコード/デコード

ダイジェスト作成/確認

このグループに属するコマンドは、

  • ファイル転送時、送受信エラーが発生していないか
  • ファイル作成者が公開後、第三者による不正なデータ改ざんが行われていないか

といったデータトラブルの有無をチェックする際に必要となるコマンド群であり、どんなアルゴリズムでチェック用文字列(ダイジェストメッセージ)を生成/確認するか、という違いで何種類もコマンドが存在する。しかし、どのコマンドもやることは全く同じコマンド群である。

ダイジェストメッセージとは、「たとえファイルサイズ+変更日時が同一であっても、1ビットでも内容が異なる場合は全く異なった不可逆文字列を返す」アルゴリズムでファイルを処理して得ることができる文字列のことである。
ダイジェストメッセージの作成はデータを公開する側の処理、ダイジェストメッセージの確認は公開されているデータを受け取る側の処理となる。

自身のデータを公開する前に行う処理(ダイジェスト作成)

  1. 公開したいファイルのダイジェストを生成
  2. 公開したいファイル本体、および 1 で作成したダイジェストも公開

他者が公開するデータをダウンロードした後に行う処理(ダイジェスト確認)

  1. 公開データ本体のダウンロード
  2. 1でダウンロードしたファイル向けの(オリジナル)ダイジェストデータを取得
  3. 1でダウンロードしたファイルに対してローカルのダイジェストを作成し、2で取得したオリジナルダイジェストと値が同一であることを確認。

この処理でローカルとオリジナルのダイジェスト値が異なることが判明した場合は、ダウンロードが失敗したか、公開者が公開した時点のデータとは中身が異なる、ともすれば改ざんされたデータである、と判断できる。10

コマンド 用途
b2sum BLAKE2アルゴリズムでダイジェスト生成/確認。
BLAKEアルゴリズムはMD5やSHA1系列を置き換えるべく発表されたアルゴリズムで、SHA-2最終候補とされたアルゴリズムなので、可能であればこれかSHA-2系列を利用するのがよい。
2021年にBLAKE3アルゴリズムが発表されたものの、実装はまだ。
2012年発表のこのアルゴリズムがほぼ最新だが普及度の点で問題あり。
cksum ファイルのCRCチェックサムと総バイト数を出力。
アルゴリズムが古すぎるため、新規で使うべきではない。
md5sum MD5アルゴリズムでダイジェスト作成/確認。
アルゴリズムが結構古いため、あまり使うべきではない。
sha1sum SHA1(160-bit)アルゴリズムでダイジェスト作成/確認。
アルゴリズムが結構古いため、あまり使うべきではない。
sha224sum SHA224(SHA-2,224-bit)アルゴリズムでダイジェスト作成/確認
sha256sum SHA256(SHA-2,256-bit)アルゴリズムでダイジェスト作成/確認
sha384sum SHA384(SHA-2,384-bit)アルゴリズムでダイジェスト作成/確認
sha512sum SHA512(SHA-2,512-bit)アルゴリズムでダイジェスト作成/確認
sum SysV/BSD互換アルゴリズムでファイルのチェックサム+ファイルサイズを表示。
アルゴリズムが古すぎるため、新規で使うべきではない。

その他

コマンド 用途
[ 用途はtest コマンドと同一で、主にシェルスクリプト内で利用。
コマンド名である '[' と対を為す必須引数 ']'の間で挟まれた他の引数をテスト条件として評価し、
該当していれば0, 該当していない場合は1,エラーが発生した場合は2を返す。11
大昔の/bin/shにとっては必須のコマンドであったが、今時使われているシェルではこのコマンドの機能がシェルの内部機能として実装されていることが多いので、現代では/usr/bin/[のようにフルパス記述をしない限り、このコマンドが利用されることはほぼない。
dircolors lsコマンドの結果を、
ファイル属性による色分け出力としたい場合、
特定の環境変数を設定する必要がある。
この環境変数を設定するためのユーティリティ
false 何もしないが、OSから見たときの「コマンド実行が失敗した」状態を得られる。
trueコマンドの逆。
その性格上シェルの内部機能に統合されていることが多く、フルパス指定で呼び出さない限りcoreutilsのバイナリが呼び出されることはない。
pathchk 与えられた文字列がPOSIXで規定されているファイル名ルールに合致しているか否かを確認
stty TTYデバイスとの接続条件を表示/変更
sync 内部記憶(メモリ)-外部記憶装置(現代だとSSD/HDD等)間の同期用コマンド。
本来ならば既にディスクに書き込まれているべきデータが、ディスク装置側の都合で未だディスクに書き込まれず、メモリ上でのみ存在する、という決して望まれない状態を解消するために、強制的にメモリからディスクに同期させるコマンド。12
tee 簡単に言えば出力先を分岐させるコマンド。
標準入力から受け取ったデータを、全く加工することなく標準出力ともう一つの出力先へ同時に出力。
アルファベットのTがコマンド名の由来
test 与えられた引数をテスト条件と解釈し、テストが成功した場合は0,失敗した場合は1,エラーが発生した場合は2を返す。
テスト対象は、二つの変数の値比較(等しい,等しくない,大小,文字列のパターンマッチ等)、ファイルやディレクトリが存在するか、といった内容となる。
大昔の/bin/shにとっては必須のコマンドであったが、今時使われているシェルではこのコマンドの機能がシェルの内部機能として実装されていることが多いので、現代では/usr/bin/testのようにフルパス記述をしない限り、このコマンドが利用されることはほぼない。
true 何もしないが、OSから見たときの「コマンド実行が成功した」状態を得られる。
falseコマンドの逆。
その性格上シェルの内部機能に統合されていることが多く、フルパス指定で呼び出さない限りcoreutilsのバイナリが呼び出されることはない。

まとめ

  • 現代のシェルに機能を完全に取り込まれ、大昔の /bin/sh 向けに書かれたシェルスクリプトファイルを問題なく動作させるためだけに準備されているコマンド
  • 大昔の動作が遅いハードウェア環境向けのコマンド
  • 各種ブラウザ、curlやwgetといったソフトウェアによってHTTPプロトコル経由でバイナリファイルを直接取得/送信可能となり、ユーザーがシェル上でコマンドからエンコード/デコードすることはほぼ皆無となった現在はあまり用途がない、エンコード/デコード用コマンド
  • JSONやXMLといった構造化されたUnicodeテキスト、またはExcel,PDFといったバイナリ形式でのデータ流通が当たり前となっている現在、古いデータのインポート用途以外ではあまり利用されないスペース区切り/文字数固定テキストデータ形式に対してのみ有効なコマンド

といったコマンドが多数存在するため、正直申し上げるとすべてのコマンドの利用法を完璧に覚える必要はない、とは思います。ですが、

  • 本当に古いシステムや、便利なソフトをインストールすることが不可能な最低限インストールされたシステム等をメンテナンスする必要に迫られる
  • 先人が書いたシェルスクリプトを読み解く必要に迫られる
  • 自作プログラム/スクリプトの命名時に既存のコマンド名との重複は避けたい

といった状況下に置かれる可能性がある人にとって、coreutilsコマンドの知識は「知っておいて損はない」と思います。

次回以降、順次重要な個別コマンドのオプション、実行例などを挙げていきたいと思います。

  1. システムによってホストIDの生成方法は異なるが、一般的にはOSインストール時にNICのMACアドレスを利用して生成しているシステムが多い。
    大昔のシステムの中には、IPアドレスを元にホストIDを生成、しかもIPアドレスの変更でホストIDも上書きされる、という糞なシステムもあったようで・・・

  2. そのため、ログイン処理が不要なWSL上のLinuxでこのコマンドを実行すると何も表示されない、という現象が発生する。

  3. しかし昨今、個人情報保護を重視する観点で、実名や電話番号を公開する人が激減したことで、このコマンドを実行する意味がほぼなくなりつつある。

  4. パッケージインストーラーが裏でこのコマンドを利用していることが多い。

  5. 通常のrmコマンドは、ファイルシステムの先頭に記録されている「この場所にこのファイルが存在する」というヘッダデータのみを削除しており、実行速度を大幅に上げている。
    しかし、この処理だと実際のデータはディスクに記録されたままであり、この場所に別データが上書きされない限り、復元ツールを使ってデータ復旧が可能な状態となるため用意されたコマンド。

  6. 従って、文章や文節の解釈を行ったうえで単語単位に切り分け、スペースで区切られたデータを生成、という前処理を行わない限り、日本語をはじめとする漢字文化圏のテキストデータに対するこのコマンドの用途はゼロに等しい。

  7. 詳細を調べていないので実際に速いのか、とか通常のsortコマンドのアルゴリズムといった情報は不明。

  8. ソート前のデータを投入しても重複行は残ったままとなる

  9. ユーザーが通常利用するメールソフトやブラウザソフトが必要に応じて自動的に裏プロセスでエンコード/デコード処理を行うため、隠蔽されている。

  10. クラッカーはアルゴリズムの抜け穴を付いて「ダイジェストメッセージが同一となる改ざん」を行う可能性があるため、古過ぎる/ビット数が少ないアルゴリズムで作成されたダイジェストメッセージは信頼できない可能性がある。したがって、可能な限り新しいアルゴリズムでビット数の多いコマンドでダイジェストを確認することが望ましい。

  11. 対となる ']'は、このコマンドの必須オプション扱いであるため、']' コマンドは存在しない。

  12. SSDが主流となった状況下にある現在、このコマンドはディスクへの書き込みが超絶遅かった時代の遺物でしかない。ただし、巨大なメモリを搭載し、膨大な量のデータをメモリ上で処理しているデータベースサーバ等では未だに有効とも聞く。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1