에 대한 튜토리얼에서공개 키 인프라저자는 설정 시 사용할 데이터베이스를 설정합니다.루트 인증 기관:
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 을 사용하는 것이 비어 있습니까 ?/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
그러나 교육 노트와 과정 작업에서는 읽기가 더 어렵거나 오타로 간주되거나 유사할 수 있습니다. 때로는 더 긴 명령 문자열을 사용하는 것이 더 좋습니다 :-)