Come trovare cosa significano i campi in ls -l [chiuso]


9

La mia domanda non è cosa significhi ogni campo, la mia domanda è come determinare cosa significa ogni campo.

La pagina man indica semplicemente -l uso un formato di elenco lungo senza descrivere ciò che comporta il formato di elenco lungo.


1
Diversi sistemi operativi avranno pagine man diverse; a quale sistema operativo ti riferisci?
Jeff Schaller


Non un duplicato.
monzie,

Non vedo come questo sia fuori tema. Il motivo dice esplicitamente "L'unica eccezione sono le domande su dove trovare la documentazione ufficiale" che è esattamente ciò di cui tratta questa domanda.
Calimo,

Risposte:


12

Alla fine della pagina di manuale per l'implementazione di coreutils GNU di ls(come si trova su sistemi Linux e alcuni altri Unices):

SEE ALSO
       Full documentation at: <http://www.gnu.org/software/coreutils/ls>
       or available locally via: info '(coreutils) ls invocation'

Seguendo il collegamento al manuale online, si vede una sezione denominata "Quali informazioni sono elencate" , che tra le altre cose descrive il formato di output lungo in maggiore dettaglio.

Sulla maggior parte degli altri sistemi, il lsmanuale è autonomo e descrive il formato lungo. Ad esempio il manuale OpenBSD ls (1) .

Qualunque sia Unix , il lsmanuale conterrà le informazioni richieste o farà riferimento al relativo altro manuale o documento online che contiene i dettagli. In caso contrario, è necessario segnalarlo come un bug di documentazione.


Cercare su Google cosa fa un'opzione per un comando è pericoloso, poiché molti comandi hanno estensioni non standard che potrebbero essere implementate in modo diverso in Unices diversi o anche in modo diverso a seconda della versione dello strumento che viene installata. Quello che vorresti fare è leggere il manuale sul tuo sistema.

Se il manuale non sta descrivendo esattamente cosa fa un'opzione o quale sia un formato, esplicitamente o facendo riferimento ad altra documentazione, allora, come ho detto sopra, questo sarebbe considerato un bug di documentazione.


3

La mia lspagina man mi fornisce informazioni complete sul formato lungo. Immagino che questo debba essere lo stesso su tutti i sistemi. Scorri verso il basso, forse troverai tutte le informazioni di cui hai bisogno

Il lungo formato

Se -lviene fornita l' opzione, vengono visualizzate le seguenti informazioni per ciascun file: modalità file, numero di collegamenti, nome del proprietario, nome del gruppo, numero di byte nel file, mese abbreviato, file del giorno del mese è stato modificato l'ultima volta, file dell'ora ultima modifica, file minuto ultima modifica e nome percorso. Inoltre, per ogni directory i cui contenuti sono visualizzati, il numero totale di blocchi da 512 byte utilizzati dai file nella directory viene visualizzato su una riga da solo, immediatamente prima delle informazioni per i file nella directory. Se il file o la directory ha attributi estesi, il campo delle autorizzazioni stampato -ldall'opzione è seguito da un @carattere ' '. Altrimenti, se il file o la directory ha esteso le informazioni di sicurezza (come un elenco di controllo di accesso), il campo delle autorizzazioni stampato da-ll'opzione è seguita da un +carattere ' '.

Se il tempo di modifica del file è più di 6 mesi passati o futuri, l'anno dell'ultima modifica viene visualizzato al posto dei campi dell'ora e dei minuti.

Se i nomi del proprietario o del gruppo non sono un nome utente o di gruppo noto o -nviene fornita l' opzione, vengono visualizzati gli ID numerici.

Se il file è un carattere speciale o blocca un file speciale, i numeri di dispositivo principali e secondari per il file vengono visualizzati nel campo delle dimensioni. Se il file è un collegamento simbolico, il percorso del file collegato è preceduto da ' ->'.

La modalità file stampata sotto l' -lopzione è composta dal tipo di voce, dalle autorizzazioni del proprietario e dalle autorizzazioni di gruppo. Il carattere del tipo di voce descrive il tipo di file, come segue:

  • b Blocca file speciale.
  • c File speciale del personaggio.
  • d Directory.
  • l Collegamento simbolico.
  • s Collegamento socket.
  • p FIFO.
  • - File normale.

I tre campi successivi sono tre caratteri ciascuno: permessi del proprietario, permessi di gruppo e altri permessi. Ogni campo ha tre posizioni di carattere:

  1. Se r, il file è leggibile; se -non è leggibile.
  2. Se w, il file è scrivibile; se -non è scrivibile.
  3. Si applica la prima delle seguenti condizioni:

    • SSe nelle autorizzazioni del proprietario, il file non è eseguibile e viene impostata la modalità set-user-ID. Se nelle autorizzazioni di gruppo, il file non è eseguibile e viene impostata la modalità set-group-ID.

    • sSe nelle autorizzazioni del proprietario, il file è eseguibile e viene impostata la modalità set-user-ID. Se nelle autorizzazioni di gruppo, il file è eseguibile e viene impostata la modalità setgroup-ID.

    • x Il file è eseguibile o la directory è ricercabile.

    • -Il file non è né leggibile, scrivibile, eseguibile, né set-user-ID, né set-group-ID mode, né appiccicoso. (Vedi sotto.)

    Questi due successivi si applicano solo al terzo carattere dell'ultimo gruppo (altre autorizzazioni).

    • TIl bit appiccicoso è impostato (modalità 1000), ma non è possibile eseguire o cercare l'autorizzazione. (Vedi chmod(1)o sticky(8).)

    • tIl bit sticky è impostato (modalità 1000) ed è ricercabile o eseguibile. (Vedi chmod(1)o sticky(8).)


4
Certamente non è lo stesso su tutti i sistemi. Inoltre, il manuale su alcuni sistemi casuali potrebbe non essere pertinente per la macchina locale utilizzata da un utente. Ad esempio, Solaris ha un tipo di file P(porta evento) di cui il manuale sul proprio sistema non menziona.
Kusalananda

1
Solaris ha anche un tipo di file D(porta) abbastanza intrigante da farmi capire cosa fosse una porta; Penso che fosse simile a una pipa.
Mark Stewart,

1
@Mark - “La voce è una porta” nella pagina man “ls” di Solaris (il tuo commento ha suscitato il mio interesse).

2

Prendi in considerazione l'utilizzo del infocomando, come in info ls. Molti comandi hanno una documentazione molto più dettagliata qui che nelle pagine man. In questo caso, otterrai una versione offline della stessa documentazione nel link nella risposta di @ Kusalananda. È possibile utilizzare info -k <search term>per cercare le pagine informative.

Un altro modo per trovare aiuto è il apropos <search term>comando, che cerca i titoli e le descrizioni delle pagine man per aiutarti a trovare quello che stai cercando. Questo ti aiuta a trovare tutte le sezioni di una pagina man, che nel caso del lsmio sistema sono le sezioni 1 (impostazione predefinita) e 1p. man 1p lscontiene informazioni sul formato dell'output.


1
Il infocomando sarebbe disponibile solo su sistemi con utility GNU.
Kusalananda

1
Vero, ma sono molti sistemi.
Bewilderex63,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.