该ls -al
命令显示以下输出;
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
前一个显示中的所有字段是什么?
该ls -al
命令显示以下输出;
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
前一个显示中的所有字段是什么?
Answers:
按输出顺序;
-rwxrw-r-- 1 root root 2048 Jan 13 07:11 afile.exe
文件权限显示如下:
-
或l
或d
,d表示目录,一行表示文件,l是符号链接(或软链接)-特殊类型的文件在您的示例中-rwxrw-r--
,这意味着显示的行是:
-
不是非目录,它是常规文件,有不止r
,w
和x
权限。在大多数系统上,第一个字段还用于指示是否存在其他属性,例如ACL,安全属性或其他扩展属性。另请注意,对于符号链接,符号链接的目标也会显示在的输出中ls -l
。
number of links
意思 谢谢。
info ls
有更多的信息
“ 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
或-
指示它们是否可以写入文件(您可以拥有可写入的文件,但无法读取,听起来可能很奇怪!),第三个字符是其他模式的“ catch-all”标志,通常类似于x
execute(对于目录而言,意味着您可以尝试访问目录内容),还是-
没有。s
或S
用于setuid和/或setgid程序,或其他不太常见的字符;请参阅“ ls”文档以获取它将显示的模式字符。
最后,第一个字符是文件类型。通常为以下之一:d
用于目录,l
用于符号链接(硬链接通常显示时没有其自身的特殊字符)或-
用于普通文件。各种文件系统还有许多其他但很少见的文件类型。前十个字符(文件类型和权限)在Wikipedia上讨论。同样,您的文档将准确告诉您命令支持和显示哪种文件类型。
顺便说一句,如果找不到“ ls”本身的“ man / info”页面(“ man ls” /“ info ls”),请尝试查找“ coreutils”包(“ info coreutils”)。还要注意,在较常见的平台中,Microsoft平台往往无法很好地转换为“ ls”输出,因此,根据您的“ ls”版本的不同,您可能会在输出中看到奇怪的行为,标志或其他异常信息。编译,链接的内容等
还有一个警告:文件时间戳记通常是文件的上次修改日期/时间,而不是文件的创建时间。实际上,在一个非* x的文件系统上,没有文件创建时间的记录。ctime字段并不像在FAT / NTFS文件系统上那样表示“创建时间”,而是表示“ inode [C] hange时间”,即上一次修改inode的时间。在两个系统上,“ mtime”(最后经过[M]次验证的)时间戳和atime(最后经过[A]次访问/读取的)时间戳是相同的-尽管精度(例如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.
/dev/