mknod 명령의 용도는 무엇입니까?

mknod 명령의 용도는 무엇입니까?

저는 이제 막 Ubuntu를 기본 운영 체제로 사용하기 시작했고, 해서는 안 될 일을 배우고 과거에 사람들이 저지른 나쁜 일로부터 배우고 싶습니다. 내가 우연히 만났어UNIX 및 Linux 시스템 관리자 이메일에 대한 공포 이야기그들이 처음이었을 때 이미 자체 시스템에서 작업을 수행했습니다. 이들 중 다수는 문제를 기록하고 수정하기 위해 mknod 명령을 사용하는 것과 관련됩니다. 나는 이 명령에 대해 들어본 적이 없으며 우분투의 매뉴얼 페이지도 별로 도움이 되지 않습니다. 제 질문은 이 명령의 목적이 무엇이며 일상적으로 사용하는 데 유용한 몇 가지 예가 무엇인지입니다.

답변1

mknod원래 패딩을 만드는 데 사용된 문자 및 블록 장치입니다 /dev/. 오늘날 udev이와 같은 소프트웨어는 커널이 해당 하드웨어를 감지하면 가상 파일 시스템에서 장치 노드를 자동으로 생성하고 삭제하지만 처음에는 설치 프로세스 중에 채워지는 디렉터리 /dev일 뿐입니다 ./

/dev그렇습니다. 가상 파일 시스템이 마운트되지 않거나 udev심각하게 실패하는 거의 완전한 재해가 발생하는 경우 mknod최소한 기본 장치 트리를 다시 채우는 수고를 들여야 합니다.무엇백업을 할 수 있습니다...하지만 그렇습니다. 이제 시스템 관리자의 공포 이야기 시간입니다. 개인적으로는 복구 USB 스틱이나 CD를 추천합니다.

명명된 파이프를 생성하는 것 외에는 최종 사용자가 주의해야 할 일상적인 사용이 단 한 가지도 생각나지 않습니다. 비록 이것이 "일상적인 사용"의 정의를 확장하더라도 마찬가지입니다.

답변2

이를 사용하여 명명된 파이프를 만들 수 있습니다.

나는 그것을 읽기 위해 하나의 프로그램과 그것을 쓰기 위해 다른 프로그램과 함께 사용합니다.

프로세스 간 통신을 더 쉽게 만듭니다.

그렇지 않으면 존재하지 않는 장치에 대한 장치 파일을 생성할 수 있습니다.

반품:http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds3/mknod.htm

답변3

Oracle ASM 디스크 그룹을 생성하기 위해 원시 장치에서 작업하는 Oracle DBA로서 우리는 종종 mknod연결된 장치를 사용하여 작업합니다.

위의 답변은 우리가 시스템 관리자가 아니기 때문에 나에게 매우 도움이 됩니다. 스토리지 관리자의 관점에서는 거의 사용되지 않을 수 있지만 mknodOracle ASM 관점에서는 일반적인 용도라는 점을 지적하고 싶었습니다 . (누군가 우리를 위해 더 나은 방법을 생각해 줄 수 있을까요?)

답변4

"mknod" 명령은 AT&T가 Unix(tm) 버전 4 라이센스 사용자에게 배포합니다. 나는 사본을 얻는 데 시간과 돈을 투자할 가치가 있다고 제안합니다.

벨 시스템 기술 저널, 57:6, 1978년 7월-8월, 1905-1929페이지. UNIX 시간 공유 시스템. (리치, DM; 톰슨, K.)

이번 호, 특히 해당 기사에서는 Unix(tm)만큼 우아하고, 컴팩트하고, 빠르고, 안정적이고, 안전하며, 다재다능한 운영 체제를 구축할 수 있는 몇 가지 기본 개념을 안내할 것입니다. 현재 사용 가능한 다양한 시스템으로 여전히 매우 다재다능합니다 ;-)

나는 여기서 그 중 일부를 언급하려고 노력할 것입니다.

1) setuid 및 setgid 비트와 사용자를 신뢰할 수 있는 권한 도메인과 신뢰할 수 없는 권한 도메인으로 구분하는 데 사용되는 방법. 영원으로 뛰어들면, 신뢰할 수 있는 사용자는 시스템에 "#cd /; rm -rf *.o" 명령을 내릴 가능성이 줄어들고, 권한의 부적절한 사용과 "공간 파괴"에 주의하십시오. 또한 인용문이 포함된 문장에 주의하세요. 마침표와 닫는 따옴표의 순서를 결정합니다. 영어 문법이 형편없습니다(fm). 대중에게 특허를 기부한 것을 축복합니다.

2) 파일과 동일한 네임스페이스를 통해 장치에 액세스합니다. 창업자가 생각하지 못한 활동을 수행하기 위한 다른 간단한 도구와 결합될 때 하나의 장치의 단순한 우아함이 강력해지는 곳입니다.

3) 데이터 공간의 파일은 문자열입니다. 구조는 프로그램 공간의 프로그램에 의해 부과되며 복잡한 Swiss Army Knife 프로그램과 밀접하게 관련되어 있지 않습니다. 더 많은 사람들이 BSTJ를 읽는다면 Apple(R), Microsoft(R) 및 IBM(R)은 더 나은 제품을 갖게 될 수도 있습니다.

4) 표준 입력, 표준 출력, 표준 오류.

5) 간단한 도구를 쉽게 구성할 수 있는 해석된 명령 프로세서인 Shell.

6) 내부 루프의 코드만 최적화하고 제한된 시간과 비용을 중요한 곳에 사용하세요.

7) 언어 번역 프로세서에 I/O 구문을 포함하지 마십시오.

다.<포트란

8) 키스.

9) "다중 사용자 시간 공유 ayaeem 시스템 확장을 사용하면 좋은 실시간 시스템을 설계하고 구현하는 것이 다른 방법보다 더 쉽습니다." I, MACRO 11로 작성된 가젯을 사용하여 구현된 RSX-11D에 대한 시간 공유 확장 불가피한 경우 그렇지 않으면 상위 레벨 언어 pr 스크립트가 매우 좋습니다. 16명의 사용자가 248k 바이트 PDP-11//45를 사용합니다(나머지 코어는 16k 솔리드 스테이트 메모리입니다). LAB-11 및 창의적인 맞춤형 A/D 인터페이스를 사용하여 병렬 프로그램 개발, 링크 편집, 프로그램 실행, 일괄 처리, 상호 작용 및 여러 과학 실험의 제어/데이터를 위해 FOCAL, BASIC, FORTRAN IV, C, MACRO-11을 사용합니다. , D/A, 고해상도 클로킹,...

9600 보드 CRT 또는 30cps DECwriter가 있는 120cps 프린터를 사용하여 편집할 때 눈에 띄는 성가신 지연이 없습니다. 300lpm 프린터로는 좀 불안정하네요. RJE용 UT200 및 2780. 프로그램 개발은 RSX-11M, RSX-11M+, IAS 및 이전 버전의 VMS보다 빠릅니다.

대기열 제거로 구현된 우선 순위 체인 ATL의 뛰어난 기능을 사용하여 실시간 작업으로 구현된 매우 간단한 시분할 스케줄러입니다.

오늘날 Unix 종류는 빛처럼 빠르지만 이는 CPU가 3초 안에 무한 루프를 완료할 수 있기 때문입니다. TFC.

관련 정보