찾다
운영 및 유지보수리눅스 운영 및 유지 관리리눅스 장치 파일은 무엇입니까

Linux에서 장치 파일은 응용 프로그램이 표준 입력 및 출력 시스템 호출을 통해 장치 드라이버를 사용하여 장치와 상호 작용할 수 있도록 하는 장치 드라이버에 대한 인터페이스입니다. Linux 시스템에는 일반적으로 사용되는 두 가지 장치 파일이 있습니다. 문자 특수 파일과 블록 특수 파일의 차이점은 운영 체제와 하드웨어에서 읽고 쓰는 데이터의 양에 있습니다.

리눅스 장치 파일은 무엇입니까

이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.

Linux 장치 파일(장치 파일)

장치 파일 개요

Unix 계열 운영 체제에서 장치 파일 또는 특수 파일은 장치 드라이버의 인터페이스로, 파일 시스템에 다음과 같이 나타납니다. 일반 파일과 같습니다. MS-DOS, OS/2 및 Microsoft Windows에도 특수 파일이 있습니다. 이러한 특수 파일을 사용하면 애플리케이션이 표준 입출력 시스템 호출을 통해 장치 드라이버를 사용하여 장치와 상호 작용할 수 있습니다. 표준 시스템 호출을 사용하면 많은 프로그래밍 작업이 단순화되고 장치의 기능과 관계없이 일관된 사용자 공간 I/O 메커니즘이 가능해집니다.

장치 파일은 일반적으로 표준 장치(예: 프린터 및 직렬 포트)에 대한 간단한 인터페이스를 제공하지만 이러한 장치(예: 디스크 파티션)의 특정 고유 리소스에 액세스하는 데 사용될 수도 있습니다. 또한 장치 파일은 데이터 싱크 및 난수 생성기와 같이 실제 장치와 연결되지 않은 시스템 리소스에 액세스하는 데 유용합니다.

리눅스 장치 파일은 무엇입니까그림 1 응용 프로그램, 블록 파일, 드라이버 및 하드웨어 간의 관계

Unix 계열 운영 체제에는 문자 특수 파일과 블록 특수 파일이라는 두 가지 일반적으로 사용되는 장치 파일이 있습니다. 두 가지의 차이점은 운영 체제와 하드웨어에서 읽고 쓰는 데이터의 양입니다. 장치 특수 파일이라고 할 수 있는 네임드 파이프와 달리 네임드 파이프는 장치에 연결되지 않지만 일반 파일도 아닙니다.

일부 Unix 계열 시스템에서 대부분의 장치 파일은 전통적으로 /dev에 마운트된 가상 파일 시스템의 일부로 관리됩니다. 런타임 시 하드웨어 추가 및 제거를 모니터링하는 제어 데몬과 연결되어 장치에 해당 변경을 적용할 수 있습니다. 파일 시스템 장치 파일 시스템 변경 작업이 커널에 의해 자동으로 완료되지 않으면 제어 데몬이 시스템이나 사용자 공간에서 스크립트를 호출하여 특수 장치 요구 사항을 처리할 수 있습니다.

FreeBSD 및 DragonFly BSD 구현에서는 가상 장치 파일 시스템의 이름을 devfs 및 관련 데몬 devd로 지정했습니다. Linux는 주로 udev라는 사용자 공간 구현을 사용하지만 다양한 변형이 있습니다. 이를 기반으로 하는 Darwin 및 macOS와 같은 운영 체제에는 순수 커널 기반 장치 파일 시스템이 있습니다.

Solaris 컨테이너와 같이 chroot 프로세스 격리를 지원하는 Unix 시스템에서는 일반적으로 각 chroot 환경에 자체 /dev가 필요합니다. 이러한 마운트 지점은 전역 파일 시스템 트리의 다양한 노드에 있는 호스트 운영 체제에 표시됩니다. 하드웨어 격리는 장치 노드의 채우기를 /dev의 chroot 인스턴스로 제한하여 chroot 환경에서 시행할 수 있습니다(프로그램은 하드웨어에 연결할 수 없으며 이름을 보거나 액세스할 수 없습니다. 이는 Unix 파일보다 더 강력한 액세스 제어입니다) 시스템 권한 양식).

장치 노드는 운영 체제 커널에 의해 할당된 리소스에 해당합니다. Unix는 노드 구조의 일부로 저장된 메이저 번호와 마이너 번호로 이러한 리소스를 식별합니다. 이러한 번호 할당은 다양한 운영 체제와 다양한 컴퓨터 플랫폼에서 고유하게 발생합니다. 일반적으로 메이저 번호는 장치 드라이버를 식별하고 마이너 번호는 드라이버가 제어하는 ​​특정 장치(아마도 여러 장치에 대해)를 식별합니다. 이 경우 시스템은 마이너 번호를 드라이버에 전달할 수 있습니다. 그러나 동적으로 할당된 숫자의 경우에는 그렇지 않을 수도 있습니다(예: FreeBSD 5 이상에서는).

다른 특수 파일 형식과 마찬가지로 컴퓨터 시스템은 표준 시스템 호출을 사용하여 장치 노드에 액세스하고 이를 일반 컴퓨터 파일로 처리합니다. 두 가지 표준 유형의 장치 파일이 있습니다. 불행하게도 역사적인 이유로 이름이 다소 직관적이지 않으므로 둘 사이의 차이점을 설명하는 것이 잘못된 경우가 많습니다.

블록 파일 분류

문자 장치(문자 장치)

문자 특수 파일 또는 문자 장치는 하드웨어 장치에 대한 버퍼링되지 않은 직접 액세스를 제공합니다. 프로그램이 한 번에 하나의 문자를 읽거나 쓰는 것을 반드시 허용하는 것은 아닙니다. 이는 해당 장치에 따라 다릅니다. 예를 들어, 하드 디스크의 문자 장치에서는 일반적으로 모든 읽기 및 쓰기 작업이 블록 경계에 맞춰 정렬되어야 하며 개별 바이트 읽기는 허용되지 않습니다.

블록 기반 하드웨어의 문자 장치에는 일반적으로 정렬된 블록을 읽고 쓰려면 프로그램이 필요하다는 사실을 둘러싼 혼동을 피하기 위해 문자 장치를 원시 장치라고도 합니다.

블록 장치(블록 장치)

블록 특수 파일 또는 블록 장치는 하드웨어 장치에 대한 버퍼링된 액세스를 제공하고 몇 가지 추상적인 세부 정보를 제공합니다. 문자 장치와 달리 블록 장치를 사용하면 프로그래머는 항상 모든 크기(단일 문자/바이트 포함) 및 모든 정렬의 블록을 읽거나 쓸 수 있습니다. 단점은 블록 장치가 버퍼링되기 때문에 프로그래머는 쓰기 데이터가 커널 버퍼에서 실제 장치로 전달되기까지 시간이 얼마나 걸릴지, 실제로 두 개의 개별 쓰기가 어떤 순서로 물리적 장치에 도착할지 알 수 없다는 것입니다. ? 또한, 동일한 하드웨어가 캐릭터 및 블록 장치를 노출하는 경우, 캐릭터 장치를 사용하는 클라이언트가 블록 장치의 버퍼 변경 사항을 인식하지 못하기 때문에 데이터 손상 위험이 있습니다.

의사 장치(Pseudo-devices)

Unix 계열 시스템의 장치 노드는 반드시 물리적 장치와 일치하지는 않습니다. 이러한 대응이 부족한 노드는 의사 장치 세트를 형성합니다. 이는 운영 체제에서 처리하는 다양한 기능을 제공합니다. 가장 일반적으로 사용되는(문자 기반) 의사 장치 중 일부는 다음과 같습니다.

/ dev / null - 接受并放弃所有输入; 不产生输出(总是在读取时返回文件结束指示)
/ dev / zero - 接受并放弃所有输入; 产生连续的NUL(零值)字节流
/ dev / full - 读取时会产生连续的NUL(零值)字节流,并在写入时返回“磁盘已满”消息
/ dev / random和/ dev / urandom - 它们产生一个可变长度的伪随机数字流。

Node Creation

노드는 mknod 시스템 호출에 의해 생성됩니다. 노드를 생성하는 데 사용되는 명령줄 프로그램을 mknod라고도 합니다. 일반적인 파일 시스템 호출(rename, unlink) 및 명령(mv, rm)을 사용하여 노드를 이동하거나 삭제할 수 있습니다. 장치 노드를 복사할 때 -R 또는 -a 옵션을 전달하면 cp -l 명령은 원본과 동일한 속성을 가진 새 장치 노드를 만듭니다.

일부 Unix 버전에는 /dev 디렉토리에 필요한 모든 장치를 생성하는 makedev 또는 MAKEDEV라는 스크립트가 포함되어 있습니다. 이는 장치에 정적으로 메이저 번호가 할당된 시스템에서만 의미가 있습니다(예: 커널 모듈에 하드코딩하여).

블록 파일 명명 규칙

다음 접두사는 장치 유형을 식별하기 위해 /dev 계층의 특정 장치 이름에 사용됩니다.

lp:行式打印机(比较lp)
pt:伪终端(虚拟终端)
tty:终端
一些额外的前缀已经在一些操作系统中普遍使用:
 
fb:帧缓冲区
fd :(平台)软盘,尽管这个缩写也常用来指文件描述符
高清:(“经典”)IDE驱动程序(以前用于ATA硬盘驱动器,ATAPI光盘驱动器等)
hda:第一个ATA通道上的主设备(通常由主编号3和次编号0标识)
hdb:第一个ATA通道上的从属设备
hdc:第二个ATA通道上的主设备
hdc1:此磁盘上的第一个主分区(示例)
hdc5:扩展分区中的第一个逻辑驱动器(示例)
hdd:第二个ATA通道上的从属设备
parport,pp:并行端口
SCSI驱动程序,也被libATA(现代PATA / SATA驱动程序),USB,IEEE 1394等使用。
sd:大容量存储驱动程序
sda:首次注册的设备
sda4:此磁盘上的最后一个分区(示例)
sda6:扩展分区中的第二个逻辑驱动器(示例)
sdb,sdc等:第二,第三等注册设备
ses:机箱驱动程序
sg:通用SCSI层
sr:“ROM”驱动程序(面向数据的光盘驱动器; scd只是一个辅助别名)
st:磁带驱动器
tty:终端
ttyS :(平台)串口驱动程序
ttyUSB:USB串口转换器,调制解调器等

Linux에서 사용되는 정식 접두사 목록은 다음에서 찾을 수 있습니다. Linux 장치 목록 발견됨, Linux 장치 목록은 장치 번호와 /dev 디렉터리 노드를 할당하는 Linux 운영 체제의 공식 레지스트리입니다.

대부분의 장치에서 이 접두어 뒤에는 특정 장치를 고유하게 식별하는 숫자가 옵니다. 하드 드라이브의 경우 문자는 장치를 식별하는 데 사용되고 숫자는 파티션을 식별하는 데 사용됩니다. 따라서 파일 시스템은 /dev/sda3을 통해 디스크의 영역을 찾을 수 있습니다. /dev/pts/14를 네트워크 터미널 세션과 연결합니다.

기기 파일 운영 관련 명령어

mknod

임베디드에 관심이 있으신 분들은 이 명령어의 사용법을 직접 확인해보시면 됩니다.

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 리눅스 장치 파일은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
데비안 시스템에서 임시 파일을 관리하는 방법데비안 시스템에서 임시 파일을 관리하는 방법Apr 12, 2025 pm 11:15 PM

Debian System의 임시 파일 관리에 대한 자세한 설명 Debian System은 임시 파일을 효율적으로 관리하여 시스템이 원활하게 실행되고 깨끗하게 유지되도록하는 다양한 메커니즘을 채택합니다. 이 기사는 데비안 시스템의 임시 파일 관리 전략을 자세히 소개합니다. 임시 파일 저장 위치 Debian System은 주로 다음 디렉토리를 사용하여 임시 파일을 저장합니다. /TMP : 시스템 재시작 후 자동으로 지우는 임시 파일을 저장합니다. /var/tmp : 오랫동안 유지 해야하는 임시 파일을 저장합니다. Debian13 버전에는 자동 청소 메커니즘이 추가되었으며 30 일을 초과하는 파일은 자동으로 삭제됩니다. Debian13 임시 파일 관리 개선 Debian13 버전은 임시 파일 관리를 다음과 같은 개선했습니다 : /TMP 디렉토리 TM으로 마이그레이션

데비안 아파치 로그에 어떤 비밀이 숨겨져 있는지데비안 아파치 로그에 어떤 비밀이 숨겨져 있는지Apr 12, 2025 pm 11:12 PM

데비안 시스템의 Apache 로그에는 서버의 운영 상태 및 웹 사이트 액세스에 대한 귀중한 정보가 포함되어 있으며 보안 평가, 성능 최적화 및 문제 조사에 중요합니다. 이 기사는 Apache Logs의 숨겨진 비밀을 밝힐 것입니다. Apache Log 유형 및 사용 Apache Logs는 주로 두 가지 유형으로 나뉩니다. 액세스 로그 : 클라이언트 IP 주소, 액세스 시간, 요청 된 URL, HTTP 방법, 서버 응답 코드 등을 포함하여 각 HTTP 요청의 세부 사항을 기록하십시오.이 데이터는 웹 사이트 트래픽을 분석하고 보안 위험 및 성능 병목 현상을 식별하는 데 도움이됩니다. 오류 로그 : 파일 찾기, 권한이 부족한 파일 등 서버의 요청 처리 중에 발생하는 레코드 오류.

데비안에서 데이터 백업 및 재활용을 구현하는 방법데비안에서 데이터 백업 및 재활용을 구현하는 방법Apr 12, 2025 pm 11:09 PM

이 기사는 데비안 시스템에서 데이터 백업 및 복구를위한 다양한 방법과 도구를 소개합니다. 백업 방법 Debian 시스템의 백업은 시스템 및 데이터의 보안을 보장하기 위해 다양한 방법으로 구현할 수 있습니다. 종합 시스템 백업 (TAR) : TAR 명령을 사용하여 시스템 파일, 구성 파일 및 사용자 데이터가 포함 된 완전한 압축 백업을 만듭니다. sudotar-czvfbackup.tar.gz- exclude =/proc--exclude =/sys--exclude =/dev-exclude =/tmp-exclude =/run-exclude =/lostfound/

다른 도구와 함께 데비안 스니퍼를 사용하는 방법다른 도구와 함께 데비안 스니퍼를 사용하는 방법Apr 12, 2025 pm 11:06 PM

이미지 : "다른 도구와 함께 Debianniffer를 사용하는 방법"에 대한 직접 정보를 찾을 수는 없지만 Debian 및 네트워크 도구에 대한 실용적인 정보는 다음과 같습니다. 네트워크 분석에 Debian을 사용하는 방법을 더 잘 이해하는 데 도움이됩니다. Debian은 풍부한 네트워크 도구를 갖춘 강력한 Linux 배포입니다. 다른 도구 ( "스나이퍼"가 TCPDUMP 또는 WIRSHARK와 같은 네트워크 스나이퍼를 언급한다고 가정 할 때 DebianSniffer를 효과적으로 사용하려면 다음 측면을 이해해야합니다. 1. Debian의 네트워크 스나이퍼 : Debian 시스템은 일반적으로 TCPDUMM으로 사전 설치됩니다.

네트워크 모니터링에서 데비안 스나이퍼의 중요성네트워크 모니터링에서 데비안 스나이퍼의 중요성Apr 12, 2025 pm 11:03 PM

검색 결과는 "DebianSniffer"와 네트워크 모니터링에서 특정 응용 프로그램을 직접 언급하지는 않지만 "스나이퍼"는 네트워크 패킷 캡처 분석 도구를 지칭하며 Debian 시스템의 응용 프로그램이 다른 Linux 배포판과 본질적으로 다르지 않다고 추론 할 수 있습니다. 네트워크 모니터링은 네트워크 안정성을 유지하고 성능을 최적화하는 데 중요하며 패킷 캡처 분석 도구는 핵심 역할을합니다. 다음은 네트워크 모니터링 도구 (예 : Debian Systems에서 실행되는 스나이퍼와 같은)의 중요한 역할을 설명합니다. 네트워크 모니터링 도구의 가치 : 빠른 결함 위치 : 네트워크 실행, 패킷 손실률 등과 같은 네트워크 메트릭의 실시간 모니터링, 네트워크 실패의 근본 원인을 신속하게 식별하고 문제 해결 시간을 단축 할 수 있습니다.

데비안 스니퍼의 출력 결과를 해석하는 방법데비안 스니퍼의 출력 결과를 해석하는 방법Apr 12, 2025 pm 11:00 PM

Debiansniffer는 네트워크 패킷 타임 스탬프를 캡처하고 분석하는 데 사용되는 네트워크 스나이퍼 도구입니다. 일반적으로 몇 초 만에 패킷 캡처 시간을 표시합니다. 소스 IP 주소 (sourceip) : 패킷을 보낸 장치의 네트워크 주소. 대상 IP 주소 (대상 IP) : 데이터 패킷을 수신하는 장치의 네트워크 주소. Sourceport : 패킷을 전송하는 장치에서 사용하는 포트 번호. Destinatio

데비안 시스템에서 리소스 사용량을 모니터링하는 방법데비안 시스템에서 리소스 사용량을 모니터링하는 방법Apr 12, 2025 pm 10:57 PM

이 기사는 데비안 시스템에서 시스템 리소스를 효과적으로 모니터링하는 데 도움이되는 몇 가지 일반적으로 사용되는 방법을 소개합니다. 공통 명령 및 도구 : 상단 명령 : CPU 및 메모리 사용을 포함하여 실시간으로 프로세스 정보를 표시합니다. "Shift M"을 눌러 메모리별로 정렬하고 "Shift P"를 CPU로 정렬하십시오. HTOP 명령 : (설치가 필요 : sudoapt-getinstallhtop) 대화식 프로세스 뷰어는 상단보다 직관적입니다. VMSTAT 명령 : 가상 메모리, 디스크, CPU 및 프로세스 활동 정보를 표시합니다. "D"키를 눌러 디스크 I/O를 볼 수있게하고 "P"키를 눌러 CPU 통계를 볼 수 있습니다. iostat 명령 : (설치해야합니다

더 이상 데비안에서 사용되지 않는 소프트웨어 패키지를 재활용하는 방법더 이상 데비안에서 사용되지 않는 소프트웨어 패키지를 재활용하는 방법Apr 12, 2025 pm 10:54 PM

이 기사는 데비안 시스템에서 쓸모없는 소프트웨어 패키지를 정리하고 디스크 공간을 확보하고 시스템 성능을 최적화하는 몇 가지 방법을 소개합니다. 방법 1 : APT-GetAutoreMove를 사용하여 APT-GetAuteRemove 명령을 자동으로 정리하여 다른 소프트웨어를 설치 한 후에도 남은 불필요한 종속성 패키지를 자동으로 제거하십시오. -purge 옵션을 사용하여 구성 파일을 동시에 삭제하십시오. Sudoapt-GetAutoremove-Purge Method 2 : 지정된 소프트웨어 패키지를 수동으로 삭제하십시오. 소프트웨어 패키지가 더 이상 필요하지 않다는 것을 알고 있다면 수동으로 직접 삭제할 수 있습니다. Sudoapt-GetRemove 방법 3 : APT 캐시 청소

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기