이 ls -al
명령은 다음 출력을 표시합니다.
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
이전에 표시된 필드는 모두 무엇입니까?
답변1
출력 순서별;
-rwxrw-r-- 1 root root 2048 Jan 13 07:11 afile.exe
- 파일 권한(
-rwxrw-r--
), - (하드) 링크 수 (
1
), - 소유자 이름 (
root
), - 소유자그룹(
root
), - 파일 크기(바이트
2048
), - 마지막 수정 시간(
Jan 13 07:11
) 및 - 파일/디렉토리 이름(
afile.exe
)
파일 권한은 다음과 같이 표시됩니다.
- 첫 번째 문자는 가장 일반적
-
으로l
또는 입니다d
. A는d
디렉토리를 나타내고, a는 심볼릭 링크(또는 소프트 링크)인-
일반 파일을 나타내며 , 기타 문자는 다른 유형의 특수 파일에 사용됩니다.l
- 소유자, 그룹 및 기타 권한을 나타내는 3개의 문자 집합(3번):
- r = 읽을 수 있음
- w = 쓰기 가능
- x = 실행 가능(파일의 경우) 또는 액세스 가능(디렉토리의 경우)
- 다음에는 로 표시된 것과 같이 확장된 권한을 가진 다른 문자가 올 수 있습니다
+
.
귀하의 예에서 -rwxrw-r--
이는 표시된 줄이 다음과 같다는 것을 의미합니다.
- 일반 파일( 로 표시됨
-
) - 소유자는 읽기, 쓰기 및 실행 가능합니다(
rwx
). - 그룹을 읽고 쓸 수 있지만 실행할 수는 없습니다(
rw-
). - 다른 사용자는 읽을 수 있지만 쓰거나 실행할 수는 없습니다(
r--
).
하드 링크의 수는 inode가 가지고 있는 이름의 수, 즉 생성된 링크의 수를 의미합니다.ln
아니요옵션 -s
.
답변2
"ls" 명령의 출력은 "ls" 버전, 사용된 옵션, 사용된 플랫폼 등에 따라 달라집니다. 귀하의 예를 보면 일반적인 un*x(예: Linux) 및 아마도 일반적인 최신 "ls" 버전에서 사용하고 있는 것으로 보입니다. 이 경우:
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
?UUUGGGOOOS 00 UUUUUU GGGGGG #### MON DD XX:XX FILENAME
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^- Filename.
| | | | | | | | | \-------------- Time of last modification.
| | | | | | | | \--------------------- File Size OR for directory size of the metadata. (Size is *usually* in bytes on modern systems; See below.)
| | | | | | | \-------------------------- 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
)는 3개의 문자로 구성된 세 그룹입니다. 여기서 첫 번째 그룹은 "사용자"(즉, 소유자), 두 번째 그룹은 "그룹", 세 번째 그룹은 "기타"(즉, 다른 사람)입니다. 둘 다 소유자 또는 그룹이 아닌 사람). 각 그룹의 세 가지 권한 플래그는 일반적으로 사용자/그룹/기타가 파일을 읽을 수 있는지( ) 또는 파일을 읽을 수 없는지( )를 나타내거나 나타내고, 그 뒤에 r
파일 에 쓸 수 있는지 여부를 나타냅니다 . 에 쓸 수는 있지만 읽을 수는 없습니다. 이상하게 들립니다!), 세 번째 문자는 다른 모드에 대한 "포괄" 플래그로, 일반적으로 실행과 같습니다(디렉토리의 경우 이는 디렉토리에 액세스하려고 시도할 수 있음을 의미합니다). 내용) 또는 아무것도 없습니다. 때로는 setuid 및/또는 setgid 프로그램 또는 기타 덜 일반적인 문자가 표시될 패턴 문자를 알아보려면 설명서를 참조하세요 .-
r
-
w
-
x
-
s
S
ls
마지막으로 첫 번째 문자는 파일 유형입니다. 일반적 d
으로 디렉토리, l
기호 링크(하드 링크는 일반적으로 특수 문자 없이 표시됨) 또는 -
일반 파일 중 하나입니다. 다양한 파일 시스템에 사용할 수 있는 다른 파일 형식은 많지만 덜 일반적인 파일 형식이 있습니다. 처음 10자(파일 형식 및 권한)에 대해 토론합니다.위키피디아에서. 다시 말하지만, 문서에서는 명령이 지원하고 표시하는 파일 형식을 정확하게 알려줍니다.
ls
그런데, 자신의 매뉴얼/정보 페이지( man ls
/ info ls
) 를 찾을 수 없다면 info coreutils
"coreutils" 패키지( )를 찾아보세요. 또한 Microsoft 플랫폼은 일반적인 플랫폼 중에서 출력으로 잘 변환되지 않는 경향이 있으므로 ls
버전 컴파일 방법에 따라 출력에서 이상한 동작, 플래그 또는 기타 비정상적인 정보가 나타날 수 있습니다. ls
링크 내용에 대한 반대 , 등.
추가 참고사항: 파일 타임스탬프는 일반적으로 파일이 마지막으로 표시된 날짜/시간입니다.수정됨, 파일이 생성된 시간이 아닌 실제로 un*x-ish 파일 시스템에는 파일 생성 시간에 대한 기록이 없습니다. ctime 필드는 FAT/NTFS 파일 시스템에서처럼 "생성 시간"을 나타내지 않지만 "inode [C]변경 시간"을 나타냅니다. inode 자체가 마지막으로 수정된 시간입니다. "mtime"(마지막 [M] 수정됨) 및 atime(마지막 [A] 액세스/읽기) 타임스탬프는 두 시스템 모두에서 동일합니다. 하지만 정밀도(예: FAT의 세분성은 2초 단위임)와 시간대는 다를 수 있습니다.
답변3
ls
GNU 시스템에서는 정보 페이지에 아주 자세하게 설명되어 있습니다. 그것을 찾으려면, 여러분이 해야 할 일은 다음과 같습니다: 문서를 열고 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.
답변4
첫 번째 열은 파일 모드이고, 다음 열은 파일이 가지고 있는 링크 수이며, 세 번째와 네 번째 열은 소유자 이름과 파일이 속한 그룹입니다. 다음 열은 파일의 바이트 수를 나타냅니다(일부 ls
구현에서는 -h
이 정보를 보다 사용자 친화적인 형식으로 보도록 선택할 수 있음). 마지막 두 열은 타임스탬프와 파일 이름을 나타냅니다. 자세한 내용은 매뉴얼 페이지를 읽어보세요.