리눅스 철학
Linux는 UNIX의 무료 오픈 소스 버전용으로 작성되었기 때문에 UNIX 운영 체제에서 많이 차용했습니다. 파일은 시스템의 최상위 노드가 루트 노드이거나 간단히 "/"인 계층적 파일 시스템에 저장됩니다.가능할 때마다 Linux는 파일이나 파일처럼 보이는 개체를 통해 구성 요소를 제공합니다.. 프로세스, 장치 및 네트워크 소켓은 모두 다음으로 표시됩니다.파일류 객체, 일반적으로 일반 파일과 동일한 유틸리티를 사용하여 처리할 수 있습니다.
라인의 세부 사항을 알아야합니다."가능할 때마다 Linux는 파일이나 파일처럼 보이는 개체를 통해 구성 요소를 제공합니다."무엇인가요"파일류 객체"라고 말하고 적절한 예를 들어보세요.
답변1
각 단락별로 설명되어 있습니다.프로세스, 장치 및 네트워크 소켓(다른 사람). 커널에 의해 관리되는 개체이지만 파일 시스템에 항목으로 나타나며 특정 경로를 통해 액세스할 수 있습니다. 또한 여러 면에서 일반 파일처럼 작동합니다. 예를 들어 일반 파일처럼 장치 파일을 읽고 쓸 수 있습니다(아래 참조).
프로세스: 각 프로세스에는 프로세스 ID가 /proc/$PPID/
있는 폴더가 있습니다 . 예를 들어 에서 프로세스에 대한 명령줄을 찾을 수 있습니다.$PPID
/proc/$PPID/cmdline
장비: 장치가 다음과 같이 표시됩니다.장치 파일. 예를 들어, 하드 드라이브가 SCSI 컨트롤러에 연결된 경우 /dev/sda
첫 번째 파티션에서 찾을 수 있습니다 /dev/sda1
. 따라서 이를 읽으면 /dev/sda
실제로는 디스크의 원시 데이터를 읽는 것입니다. 이미지를 생성할 때 유용합니다.
네트워크 소켓: UDP의 TCP 포트 및 유사한 포트를 식별하는 bash
데 사용됩니다 . /dev/tcp/$host/$port
일반적으로 소켓에 대한 정보는 다음에서 찾을 수 있습니다./proc/net/{tcp,udp}
다른 사람/dev/stdin
:표준 입력도 표준 출력과 유사하게 에서 찾을 수 있는 파일입니다 . 파일에서 읽어서 /dev/zero
0을 얻을 수 있고, 파일에서 읽어 /dev/random
매우 고품질의 난수를 얻을 수 있습니다(매우 느리긴 하지만). 파이프는 쉘에서 자주 사용되며 파이프를 만들 수도 있습니다.명명된 파이프. 더있다.
위의 답변은 Ubuntu LTS 16.04를 기반으로 하며, 다른 Linux/Unix 버전에서는 이러한 객체를 인덱싱하는 방법이 다를 수 있습니다.