Linux 파일 권한에서 `crw-rw-rw-`의 `c`는 무엇을 의미합니까? [복사]

Linux 파일 권한에서 `crw-rw-rw-`의 `c`는 무엇을 의미합니까? [복사]

다음 명령을 실행 ll /dev/null하고 다음 출력을 얻습니다.

crw-rw-rw- 1 root root 1, 3 Feb 19 10:20 /dev/null

나는 d그것이 디렉토리를 의미한다는 것을 알고 있습니다. 누군가 c특수 플래그가 무엇을 의미하는지 설명해 줄 수 있나요?

답변1

이는 문자 장치 파일을 기반으로 합니다. Linux에서 하드웨어 및 기타 장치에는 두 가지 특성이 있습니다.

  • 문자 장치(c) 마우스, 스피커 등과 같이 데이터를 문자(바이트 또는 비트라고도 함)로 전송하는 장치입니다.

  • 블록디바이스(b) USB, 하드디스크 등 데이터 블록 형태로 데이터를 전송하는 장치이다.

이러한 유형의 파일은 일반적으로 장치 파일이 저장되는 /dev 디렉토리에서 찾을 수 있습니다.LS 풀다양한 종류를 보실 수 있습니다.

괜찮은 Linux 배포판을 실행하고 있다면 다음 명령을 사용하여 해당 정보(필요한 것보다 더 많은 정보)를 얻을 수 있습니다.

info ls

여기에는 다음과 같은 작은 조각이 포함되어 있습니다.


파일 유형은 다음 문자 중 하나입니다.
    - 일반 파일
    b 블록 특수 파일
    C 문자 특수 파일
    C 고성능("연속 데이터") 파일
    d 디렉토리
    D-Gate(Solaris 2.5 이상)
    l 심볼릭 링크
    M 오프라인("마이그레이션") 파일(Cray DMF)
    n 네트워크 특수 파일(HP-UX)
    p FIFO(명명된 파이프)
    P 포트(Solaris 10 이상)
    소켓
    ? 기타 파일 형식

답변2

이 경우에는 "문자 지향 장치"(b는 블록 지향 장치를 의미)입니다. 이것이 바로 귀하의 예에서 /dev/null이 리디렉션에 매우 효율적인 이유입니다.

command 2> /dev/null

사실은 허가가 아니라 "정의 표시"입니다

관련 정보