튜토리얼에서공개 키 인프라작성자는 설정 시 사용할 데이터베이스를 설정했습니다.루트 인증 기관:
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
- 빈 디렉토리가 있다고 가정하면 file
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
그러나 교육 노트 및 교과 과정에서는 읽기가 더 어려울 수 있으며 철자 오류 또는 이와 유사한 것으로 간주될 수 있습니다. 때로는 더 긴 명령 문자열을 사용하는 것이 더 좋습니다 :-)