일반 파일이란 무엇입니까?


12
$ rm foobar
rm: remove regular file `foobar'?

파일이 "일반"이라는 것은 무엇을 의미하며 왜 rm그러한 파일을 특별한 경우로 취급합니까?

답변:


8

나는 rm아마도 별명 rm -i이다. "일반적인"부분은 특별히 의미가 없으며 파이프, 장치, 소켓 또는 기타 "특별한"것이 아님을 의미합니다.


아, 맞습니다-의 별칭 rm -i입니다.
코리 클라인

5
그것은 특히 무언가를 의미합니다. 실제로 그것은 제거 될 물체의 매우 중요한 측면입니다 ...
Bananguin

@alexander가 말했듯이 파일이 심볼릭 링크, 파이프, 랜드, null, CPU 등이 아니라는 것을 의미합니다. 아마도 "모든 것이 텍스트 파일입니다"라는 Linux 철학을 들었을 것입니다. 문자 그대로는 아니지만 문자열 처리 도구를 파일 시스템 요소에 직접 적용 할 수있는 지배적 인 운영 컨텍스트를 제안합니다. 이 경우 더 문자 그대로의 의미입니다. 감지 단계를 분리하여 보려면 또는 에서와 같이 명령 파일을 시도하십시오 . file /etc/passwdfile /dev/null
Joe Atzberger

8

테스트 명령

테스트 ( -f) 를 통과 한 모든 파일 은 일반 파일입니다.

$ test -f afile.zip && echo regular
regular

매뉴얼 페이지를 살펴보면 test다양한 유형의 파일을 모두 볼 수 있습니다.

stat 명령

다음 stat명령 을 사용하여 파일이 규칙적인지 확인할 수도 있습니다 .

$ stat afile.zip 
  File: `afile.zip'
  Size: 1512        Blocks: 8          IO Block: 4096   regular file
Device: fd02h/64770d    Inode: 10370668    Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  500/    saml)   Gid: (  501/    saml)
Access: 2013-11-07 15:52:06.719632792 -0500
Modify: 2013-11-07 15:52:00.949760104 -0500
Change: 2013-11-07 15:52:00.949760104 -0500

stat () 함수

일반 파일과 다른 가능한 형식의 차이점에 대한 자세한 내용을 보려면에 대한 매뉴얼 페이지를 참조하십시오 stat. 실제 stat명령에 대한 매뉴얼 페이지가 아닌 프로그래머 매뉴얼의 매뉴얼 페이지를 참조하십시오 .

$ man 2 stat

이 섹션에서는 특히 다양한 유형의 파일을 보여줍니다.

   The following flags are defined for the st_mode field:

       S_IFMT     0170000   bit mask for the file type bit fields
       S_IFSOCK   0140000   socket
       S_IFLNK    0120000   symbolic link
       S_IFREG    0100000   regular file
       S_IFBLK    0060000   block device
       S_IFDIR    0040000   directory
       S_IFCHR    0020000   character device
       S_IFIFO    0010000   FIFO
       S_ISUID    0004000   set UID bit
       S_ISGID    0002000   set-group-ID bit (see below)
       S_ISVTX    0001000   sticky bit (see below)
       S_IRWXU    00700     mask for file owner permissions
       S_IRUSR    00400     owner has read permission
       S_IWUSR    00200     owner has write permission
       S_IXUSR    00100     owner has execute permission
       S_IRWXG    00070     mask for group permissions
       S_IRGRP    00040     group has read permission
       S_IWGRP    00020     group has write permission
       S_IXGRP    00010     group has execute permission
       S_IRWXO    00007     mask for permissions for others (not in group)
       S_IROTH    00004     others have read permission
       S_IWOTH    00002     others have write permission
       S_IXOTH    00001     others have execute permission
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.