チュートリアルで公開鍵インフラ作成者は設定時に使用するデータベースを設定しました。ルート認証機関:
cp /dev/null ca/root-ca/db/root-ca.db
cp /dev/null ca/root-ca/db/root-ca.db.attr
echo 01 > ca/root-ca/db/root-ca.crt.srl
echo 01 > ca/root-ca/db/root-ca.crl.srl
/dev/null
何も入っていない特殊ファイルで、入ってみるとecho
どこにも印刷されないことがわかります。
これが作者が望む仕事であるようで、テストするための小さな例を作成しました。
$ ls
$ touch foo
$ cp /dev/null bar
$ cat /dev/null > baz
$ ls
bar baz foo
$ ls -l
total 0
-rw-r--r-- 1 mbigras 1264914557 0 Apr 14 14:35 bar
-rw-r--r-- 1 mbigras 1264914557 0 Apr 14 14:35 baz
-rw-r--r-- 1 mbigras 1264914557 0 Apr 14 14:35 foo
- 空のディレクトリがあると仮定すると、ファイル
foo
または?bar
間に違いはありますか?baz
cp
from ingのポイントは、/dev/null
私たちが知っている空のファイルを生成することですか?
答え1
すべての結果は同じ空のファイルを生成します。
ただ使用することも可能です。存在に依存せず、追加のコマンド/プロセスを呼び出さない >baz2
ので、もう少しエレガントだと思います。/dev/null
touch
とは異なり、ファイルがすでに存在し、一部のコンテンツがある場合でも、結果は空のファイルになることに注意してください。>baz2
baz2
$ touch foo
$ cp /dev/null bar
$ cat /dev/null >baz
$ >baz2
$ ls -l
total 0
-rw-rw-r-- 1 ec2-user ec2-user 0 Apr 14 21:40 bar
-rw-rw-r-- 1 ec2-user ec2-user 0 Apr 14 21:40 baz
-rw-rw-r-- 1 ec2-user ec2-user 0 Apr 14 21:40 baz2
-rw-rw-r-- 1 ec2-user ec2-user 0 Apr 14 21:39 foo
$
答え2
違いは、ファイルがすでに存在し、内容がある場合に発生します。
たとえば、次の内容を含むファイルです。
$ ls -l ca/root-ca/db/root-ca.db
-rw-r--r-- 1 sweh sweh 6 Apr 14 18:06 ca/root-ca/db/root-ca.db
$ touch ca/root-ca/db/root-ca.db
$ ls -l ca/root-ca/db/root-ca.db
-rw-r--r-- 1 sweh sweh 6 Apr 14 18:06 ca/root-ca/db/root-ca.db
$ cp /dev/null ca/root-ca/db/root-ca.db
$ ls -l ca/root-ca/db/root-ca.db
-rw-r--r-- 1 sweh sweh 0 Apr 14 18:06 ca/root-ca/db/root-ca.db
このコマンドはファイルtouch
を消去しないことがわかります。cp
通常、:
次のコマンドを使用できます。
: > ca/root-ca/db/root-ca.db
例えば
$ ls -l ca/root-ca/db/root-ca.db
-rw-r--r-- 1 sweh sweh 6 Apr 14 18:08 ca/root-ca/db/root-ca.db
$ : > ca/root-ca/db/root-ca.db
$ ls -l ca/root-ca/db/root-ca.db
-rw-r--r-- 1 sweh sweh 0 Apr 14 18:08 ca/root-ca/db/root-ca.db
ただし、トレーニングノートやカリキュラムでは、読むのがより困難になる可能性があり、スペルミスまたは同様のものと見なすことができます。時にはより長いコマンド文字列を使用する方が良いです:-)