이 ls -al
명령은 다음 출력을 보여줍니다.
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
이전 디스플레이의 모든 필드는 무엇입니까?
답변
출력 순서대로;
-rwxrw-r-- 1 root root 2048 Jan 13 07:11 afile.exe
- 파일 권한
- 링크 수
- 소유자 이름,
- 소유자 그룹
- 파일 크기
- 마지막 수정 시간
- 파일 / 디렉토리 이름
파일 권한은 다음과 같이 표시됩니다.
- 첫 문자는
-
또는l
또는d
, d는 디렉토리를 나타내고, 줄은 파일을 나타내고, l은 심볼릭 링크 (또는 소프트 링크)-특수한 유형의 파일 - 소유자, 그룹 및 기타에 대한 권한을 나타내는 세 개의 문자 세트 (세 번) :
- r = 읽을 수 있음
- w = 쓰기 가능
- x = 실행 파일
귀하의 예 -rwxrw-r--
에서 이는 표시된 행이 다음을 의미합니다.
- 일반 파일 (-로 표시됨)
- 소유자에 의한 읽기, 쓰기 및 실행 가능 (rwx)
- 그룹별로 읽기 가능하고 쓰기 가능하지만 실행 가능하지 않음 (rw-)
- 다른 사람이 읽을 수는 있지만 쓰기가 불가능하거나 실행 가능
답변
“ls”명령의 출력은 “ls”버전, 사용 된 옵션, 사용 된 플랫폼 등에 따라 다릅니다. 예를 들어 일반적인 un * x (예 : Linux)에서 사용하고있는 것으로 나타났습니다. 아마도 전형적인 최신 “ls”버전을 사용하고있을 것입니다. 어떤 경우
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
?UUUGGGOOOS 00 UUUUUU GGGGGG #### ^-- date stamp and file name are obvious ;-)
^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | \--- File Size
| | | | | | | \-------- Group Name (for example, Users, Administrators, etc)
| | | | | | \--------------- Owner Acct
| | | | | \---------------------- Link count (what constitutes a "link" here varies)
| | | | \--------------------------- Alternative Access (blank means none defined, anything else varies)
| \--\--\----------------------------- Read, Write and Special access modes for [U]ser, [G]roup, and [O]thers (everyone else)
\------------------------------------- File type flag
나열된 예제 파일의 링크 수가 너무 높은 이유를 잘 모르겠습니다. 어떤 플랫폼은 “링크”를 구성하는 것에 대한 이상한 개념을 가지고 있습니다. 여기에는 일반적으로 하드 링크 및 기호 링크와 디렉토리 항목이 포함됩니다 (디렉토리는 종종 링크 수가 많기 때문에 상위 디렉토리에는 하나의 링크가 있고 디렉토리에는 해당 .
항목 에 대한 링크가 있으며 각 서브 디렉토리에는 을 통한 링크 ..
).
일부 버전 및 / 또는 명령 행 플래그는 바이트 수 대신 사용 된 블록 수를 나열합니다. 블록 크기가 1024 바이트 인 파일 시스템은 최대 1024 바이트까지의 모든 크기를 “1”로 나열합니다. 즉, 1 개의 블록이 사용됨을 의미합니다. 1025에서 2048까지는 “2”로, 2 개의 블록을 사용하는 식입니다. 그러나 기본적으로 (명령 줄 옵션을 명시 적으로 사용하지 않고) 블록 크기를 나열하는 것은 대부분의 최신 un * x 시스템에서는 거의 없습니다.
특수 / 대체 액세스 플래그는 일반적으로 빈 공간이지만 일부 플랫폼에서는 특수 / 대체 액세스 모드 (예 : WIN32의 ACL 및 보안 설명자 등)가 있음을 나타내는 데 사용될 수 있으며 매우 다양합니다. 설명서를 참조하십시오. , 매뉴얼 페이지, 정보 도구 또는 기타 정보
권한 (모드) 플래그 (UUUGGGOOO)는 세 문자의 세 세트입니다. 첫 번째 세트는 “사용자”(예 : 소유자)이고 두 번째 세트는 “그룹”이고 세 번째 세트는 “기타”(예 : 다른 모든 사람)입니다. 소유자 또는 그룹이 아닌 사람). 각 세트의 세 가지 권한 플래그는 전형적으로 r
또는 -
파일 (읽을 수있는 사용자 / 그룹 / 기타 의미 r
() 여부를 -
다음), w
또는 -
그들이 파일에 쓸 수 있는지 여부를 나타내는 (당신은, 당신이 쓸 수있는 파일을 가질 수 있습니다 그러나 이상하게 들릴 수는 없습니다!), 세 번째 문자는 일반적으로 x
실행 과 같은 다른 모드의 ‘캐치 올’플래그입니다 (디렉토리의 경우 디렉토리 내용에 액세스를 시도 할 수 있음). 또는 -
아무도 없습니다.s
또는 S
setuid 및 / 또는 setgid 프로그램 또는 기타 덜 일반적인 문자; 표시 할 모드 문자에 대해서는 “ls”설명서를 참조하십시오.
마지막으로 첫 문자는 파일 형식입니다. 일반적으로 d
디렉토리, l
기호 링크 (하드 링크는 특수 문자없이 표시됨) 또는 -
일반 파일 중 하나입니다. 다양한 파일 시스템에 대한 다른 파일 유형이 많지만 덜 일반적입니다. 이 첫 10 자 (파일 형식 및 권한)는 Wikipedia에서 설명 합니다 . 다시 말하지만, 문서는 명령이 지원하고 표시하는 파일 형식을 정확하게 알려줍니다.
BTW에서 “ls”자체 ( “man ls”/ “info ls”)에 대한 man / info 페이지를 찾을 수 없으면 “coreutils”패키지 ( “info coreutils”)를 찾아보십시오. 또한 일반적인 플랫폼 중에서 Microsoft 플랫폼은 “ls”출력으로 잘 변환되지 않는 경향이 있으므로 “ls”버전이 어떤지에 따라 출력에 이상한 동작, 플래그 또는 기타 비정상적인 정보가 표시 될 수 있습니다. 컴파일, 링크 된 내용 등
한 가지 더 경고 : 파일 타임 스탬프는 일반적으로 파일이 작성된 시간이 아니라 파일이 마지막으로 수정 된 날짜 / 시간 입니다. 사실, x * ish 파일 시스템에서는 파일 작성 시간에 대한 기록이 없습니다. ctime 필드는 FAT / NTFS 파일 시스템에서와 같이 “작성 시간”을 의미하는 것이 아니라 “inode [C] hange time”을 의미합니다. 즉 inode 자체가 마지막으로 수정 된 시간입니다. “mtime”(마지막 [M] odified) 및 atime (마지막 [A] ccesed / read) 타임 스탬프는 두 시스템에서 동일하지만 정밀도 (예 : FAT의 단위는 2 초입니다)와 시간대는 다를 수 있습니다. .
답변
GNU 시스템에서는 ls
정보 페이지에 매우 자세하게 설명되어 있습니다. 그것을 찾기 위해해야 할 모든 것 : man ls
전체 문서의 끝 링크를 열고 찾으십시오 : info coreutils 'ls invocation'
.
여기 인용문이 있습니다.
`-l'
`--format=long'
`--format=verbose'
In addition to the name of each file, print the file type, file
mode bits, number of hard links, owner name, group name, size, and
timestamp (*note Formatting file timestamps::), normally the
modification time. Print question marks for information that
cannot be determined.
Normally the size is printed as a byte count without punctuation,
but this can be overridden (*note Block size::). For example, `-h'
prints an abbreviated, human-readable count, and
`--block-size="'1"' prints a byte count with the thousands
separator of the current locale.
For each directory that is listed, preface the files with a line
`total BLOCKS', where BLOCKS is the total disk allocation for all
files in that directory. The block size currently defaults to 1024
bytes, but this can be overridden (*note Block size::). The
BLOCKS computed counts each hard link separately; this is arguably
a deficiency.
The file type is one of the following characters:
`-'
regular file
`b'
block special file
`c'
character special file
`C'
high performance ("contiguous data") file
`d'
directory
`D'
door (Solaris 2.5 and up)
`l'
symbolic link
`M'
off-line ("migrated") file (Cray DMF)
`n'
network special file (HP-UX)
`p'
FIFO (named pipe)
`P'
port (Solaris 10 and up)
`s'
socket
`?'
some other file type
The file mode bits listed are similar to symbolic mode
specifications (*note Symbolic Modes::). But `ls' combines
multiple bits into the third character of each set of permissions
as follows:
`s'
If the set-user-ID or set-group-ID bit and the corresponding
executable bit are both set.
`S'
If the set-user-ID or set-group-ID bit is set but the
corresponding executable bit is not set.
`t'
If the restricted deletion flag or sticky bit, and the
other-executable bit, are both set. The restricted deletion
flag is another name for the sticky bit. *Note Mode
Structure::.
`T'
If the restricted deletion flag or sticky bit is set but the
other-executable bit is not set.
`x'
If the executable bit is set and none of the above apply.
`-'
Otherwise.
Following the file mode bits is a single character that specifies
whether an alternate access method such as an access control list
applies to the file. When the character following the file mode
bits is a space, there is no alternate access method. When it is
a printing character, then there is such a method.
GNU `ls' uses a `.' character to indicate a file with an SELinux
security context, but no other alternate access method.
A file with any other combination of alternate access methods is
marked with a `+' character.
답변
첫 번째 열은 파일 모드이고 다음 열은 파일의 링크 수이며, 세 번째와 네 번째는 소유자 이름과 파일이 속한 그룹입니다. 다음 열은 파일의 바이트 수를 나타냅니다 (일부 ls
구현에는 -h
이 정보를보다 사용자 친화적 인 형식으로 볼 수있는 옵션이 있습니다). 마지막 두 열은 타임 스탬프와 파일 이름을 나타냅니다. 자세한 내용은 매뉴얼 페이지를 읽으십시오.