O ls -al
comando mostra a seguinte saída;
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
Quais são todos os campos na exibição anterior?
O ls -al
comando mostra a seguinte saída;
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
Quais são todos os campos na exibição anterior?
Respostas:
Na ordem de saída;
-rwxrw-r-- 1 root root 2048 Jan 13 07:11 afile.exe
As permissões de arquivo são exibidas da seguinte forma;
-
ou l
ou d
, d indica um diretório, uma linha representa um arquivo, l é um link simbólico (ou link dinâmico) - tipo especial de arquivoNo seu exemplo -rwxrw-r--
, isso significa que a linha exibida é:
-
não é para os não-diretórios , é para arquivos regulares , há mais do que r
, w
e x
permissões. Na maioria dos sistemas, o primeiro campo também é usado para indicar a presença de atributos extras, como ACLs, atributos de segurança ou outros atributos estendidos. Observe também que, para links simbólicos, o destino do link simbólico também é exibido na saída de ls -l
.
b
, D , and
p`). Há uma explicação completa na Wikipedia .
number of links
significa isso ? Obrigado.
info ls
tem mais informações
A saída do comando "ls" depende da versão do "ls", das opções usadas, da plataforma usada etc. Parece no seu exemplo que você o está usando de um un * x típico (como o Linux), e provavelmente usando uma versão típica "ls" moderna. Nesse caso:
-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
Não sei por que sua contagem de links é tão alta para o arquivo de exemplo que você listou. Algumas plataformas têm uma noção estranha do que constitui um "link". Isso geralmente inclui links físicos e simbólicos, além de entradas de diretório (e é por isso que os diretórios costumam ter contagens altas de links - seu pai tem um link, o diretório tem um link para si mesmo na .
entrada e cada um de seus subdiretórios possui um link de volta via ..
).
Algumas versões e / ou sinalizadores de linha de comando listarão o número de blocos usados em vez do número de bytes; um sistema de arquivos com um tamanho de bloco de 1024 bytes listará todos os tamanhos de até 1024 bytes como "1", significando que 1 bloco será usado, de 1025 a 2048 como "2", usando 2 blocos e assim por diante. Mas listar os tamanhos dos blocos por padrão (sem usar explicitamente uma opção de linha de comando) é raro na maioria das máquinas un * x modernas.
O sinalizador de acesso especial / alternativo geralmente é um espaço em branco, mas em algumas plataformas, ele pode ser usado para indicar que existem modos de acesso especiais / alternativos (como ACLs e descritores de segurança no WIN32, etc.) e variam amplamente - consulte o manual , páginas de manual, ferramenta de informações ou outras informações.
Os sinalizadores de permissões (modo) (UUUGGGOOO) são três conjuntos de três caracteres, onde o primeiro conjunto é "Usuário" (ou seja, Proprietário), o segundo conjunto é "Grupo" e o terceiro conjunto é "Outros" (ou seja, todo mundo ; quem não é proprietário nem grupo). Os três sinalizadores de permissão em cada conjunto são tipicamente r
ou -
significam que o Usuário / Grupo / Outros podem ler o arquivo ( r
) ou não ( -
), seguidos w
ou -
indicando se podem gravar no arquivo (você pode ter arquivos nos quais pode gravar, mas não pode ler, por mais estranho que isso possa parecer!), e o terceiro caractere é um sinalizador de "pegar tudo" para outros modos, geralmente algo como x
for execute (para diretórios, significa que você pode tentar acessar o conteúdo do diretório), ou -
para nenhum.s
ou S
para programas setuid e / ou setgid, ou outros caracteres menos comuns; consulte a documentação do "ls" para os caracteres de modo que serão exibidos.
Finalmente, o primeiro caractere é o tipo de arquivo; normalmente um de: d
para diretório, l
para um link simbólico (links físicos são exibidos normalmente sem um caractere especial próprio) ou -
para um arquivo normal. Existem muitos outros tipos de arquivos, mas menos comumente vistos, para vários sistemas de arquivos. Esses dez primeiros caracteres (tipo de arquivo e permissões) são discutidos na Wikipedia . Mais uma vez, sua documentação informará exatamente que tipo de arquivo seu comando suporta e exibe.
BTW, se você não conseguir encontrar uma página de manual / info para o "ls" ("man ls" / "info ls"), tente procurar no pacote "coreutils" ("info coreutils"). Observe também que, entre as plataformas mais comuns, as plataformas da Microsoft tendem a não se traduzir muito bem na saída "ls"; portanto, você pode ver comportamentos estranhos, sinalizadores ou outras informações incomuns na saída, dependendo de como sua versão do "ls" foi compilado, contra o que estava vinculado etc.
Mais uma ressalva: o registro de data e hora do arquivo geralmente é a data / hora em que o arquivo foi modificado pela última vez , não a hora em que o arquivo foi criado. De fato, em um sistema de arquivos un * x-ish, não há registro do tempo de criação do arquivo; o campo ctime NÃO significa "hora de criação" como nos sistemas de arquivos FAT / NTFS, mas sim "tempo de alteração do inode [C]" - a hora em que o próprio inode foi modificado pela última vez. Os carimbos de data e hora "mtime" (último [M] odificado) e atime (último [A] acessado / lido) são os mesmos nos dois sistemas - embora a precisão (FAT tenha uma granularidade de dois segundos, por exemplo) e o fuso horário possam variar .
Nos sistemas GNU, é descrito na ls
página de informações de uma maneira muito detalhada. Tudo o que tinha que fazer para encontrá-lo: basta abrir man ls
e encontrar na ligação final a documentação completa: info coreutils 'ls invocation'
.
Aqui está uma citação:
`-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/
A primeira coluna é o modo de arquivo, a próxima coluna é o número de links que o arquivo possui, a terceira e a quarta são o nome do proprietário e o grupo ao qual o arquivo pertence. A próxima coluna indica o número de bytes do arquivo (algumas ls
implementações têm a -h
opção de ver essas informações de uma forma mais amigável). As duas últimas colunas indicam o registro de data e hora e o nome do arquivo. Você leu a página de manual para mais informações.