Ls -al çıktısındaki alanlar ne anlama geliyor?


218

ls -alKomutu aşağıdaki çıkışı gösterir;

-rwxrw-r--    10    root   root 2048    Jan 13 07:11 afile.exe

Önceki ekrandaki tüm alanlar nelerdir?


L bu izinlerde ne anlama geliyor .... lrwxrwxrwx
Lin-man

1
Lütfen ikinci cevabı okuyunuz. Bu dosya tipi bayrağıdır; Düzenli dosya (-), Dizin dosyaları (d), Blok dosyası (b), Karakter cihazı dosyası (c), Adlandırılmış boru dosyası veya sadece bir boru dosyası (p), Sembolik bağlantı dosyası (l), Soket dosyası (ları). linuxnix.com/file-types-in-linux
Mr. White

Yanıtlar:


215

Çıktı sırasına göre;

-rwxrw-r--    1    root   root 2048    Jan 13 07:11 afile.exe
  • dosya izinleri,
  • bağlantı sayısı
  • sahip adı
  • sahip grubu,
  • Dosya boyutu,
  • son değişiklik zamanı ve
  • dosya / dizin adı

Dosya izinleri aşağıdaki gibi görüntülenir;

  • ilk karakter -veya lveya d, d bir dizini belirtir, bir satır bir dosyayı, l bir sembolik link (veya yumuşak link) - özel dosya tipi
  • sahip, grup ve diğer kişilerin izinlerini gösteren üç karakter grubu, üç kez:
    • r = okunabilir
    • w = yazılabilir
    • x = çalıştırılabilir

Örnekte -rwxrw-r--, bu, görüntülenen çizginin şu anlama geldiği anlamına gelir:

  • normal bir dosya (- olarak gösterilir)
  • okunabilir, yazılabilir ve sahibi tarafından yürütülebilir (rwx)
  • okunabilir, yazılabilir, ancak gruba göre çalıştırılamaz (rw-)
  • okunabilir ancak yazılabilir veya başkaları tarafından çalıştırılamaz (r--)

14
2'den fazla dosya türü vardır. -için değil olmayan dizinleri , için olduğunu normal dosyalar , daha fazlası var r, wve xizinleri. Çoğu sistemde, ilk alan aynı zamanda ACL'ler, güvenlik özellikleri veya diğer genişletilmiş özellikler gibi ekstra özelliklerin varlığını belirtmek için kullanılır. Ayrıca, sembolik bağlantılar için sembolik bağlantının hedefinin çıkışında da görüntülendiğini unutmayın ls -l.
Stéphane Chazelas

12
İlk karakter farklı değerlere sahip olabilir (örn. b, D , and p`). Vikipedi hakkında tam bir açıklama var .
ashes999

13
Alanların sayısı yetersiz açıklanmıştır. Dosyalar için sabit bağlantı sayısı anlamına gelir. Dizin için: dizin içindeki dizin sayısı + bu dizinin kendisi + 1.
yanpaz

13
Ne number of linksdemek istiyorsun? Teşekkürler.
tommy.carstensen

3
info lsdaha fazla bilgiye sahip
ctrl-alt-delor

94

"Ls" komutunun çıktısı, "ls" sürümüne, kullanılan seçeneklere, kullanılan platforma vb. Bağlıdır. Örnekte, onu tipik bir un * x (Linux gibi) kullandığınızdan anlaşılmaktadır. ve muhtemelen tipik bir modern "ls" versiyonu kullanıyor. Bu durumda:

-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

Listelenen örnek dosya için bağlantı sayınızın neden bu kadar yüksek olduğundan emin değilim. Bazı platformlar "bağlantı" nı neyin oluşturduğuna dair garip bir fikre sahiptir. Bunlar genellikle sabit linkleri ve sembolik linkleri ve ayrıca dizin girişlerini (bu nedenle dizinlerin genellikle yüksek bağlantı sayımına sahip olmasının nedenidir - ebeveyninin bir bağlantısı vardır, dizinin .girişte kendisine bir bağlantısı vardır ve alt dizinlerinin her biri geri bir bağlantı ..).

Bazı sürümler ve / veya komut satırı bayrakları, bayt sayısı yerine kullanılan blok sayısını listeler; blok büyüklüğü 1024 bayt olan bir dosya sistemi, 1024 bayta kadar olan tüm boyutları "1" olarak listeleyecektir, yani 1 blok, yani 1025'ten 2048'e "2", 2 blok kullanılarak vb. Ancak, blok boyutlarını varsayılan olarak listelemek (açıkça bir komut satırı seçeneği kullanmadan) çoğu modern un * x makinede nadirdir.

Özel / alternatif erişim bayrağı genellikle boş bir alandır, ancak bazı platformlarda, özel / alternatif erişim modlarının (WIN32'deki ACL'ler ve güvenlik tanımlayıcıları vb.) Olduğunu ve çok çeşitli olduğunu göstermek için kullanılabilir - kılavuzunuza bakın. , man sayfaları, bilgi aracı ya da ne-değil.

İzinler (mod) bayrakları (UUUGGGOOO), ilk set "Kullanıcı" (yani, Sahip), ikinci set "Grup" ve üçüncü set "Diğer" (yani diğerleri) olan üç karakterden oluşan üç karakter grubudur. (Sahip veya Grup olmayan). Her bir kümedeki üç izin bayrağı tipik olarak rveya -Kullanıcı / Grup / Diğerleri dosyasını ( r) ya da değil ( -) okuyabilir , bunu izler wveya -dosyaya yazıp yazamadıklarını gösterir (yazabildiğiniz dosyalara sahip olabilirsiniz, ancak, kulağa geldiği kadar garip!) ve üçüncü karakter diğer modlar için 'hepsini yakala' bayrağıdır, tipik olarak xçalıştırma gibi bir şeydir (dizinler için, dizin içeriğine erişmeye çalışabileceğiniz anlamına gelir), veya -hiçbiri için.sveya Ssetuid ve / veya setgid programları veya diğer daha az yaygın karakterler için; göstereceği mod karakterleri için "ls" belgelerinize bakın.

Son olarak, ilk karakter dosya türüdür; genellikle şunlardan biri: ddizin liçin, sembolik bir bağlantı için (sabit bağlantılar, kendi karakterleri olmadan normal şekilde gösterilir) veya -normal bir dosya için. Çeşitli dosya sistemleri için daha birçok fakat daha az görülen dosya türleri vardır. Bu ilk on karakter (dosya türü ve izinler) Wikipedia'da tartışıldı . Yine, belgeleriniz komutunuzun tam olarak ne tür dosya türlerini desteklediğini ve görüntülediğini size söyleyecektir.

BTW, "ls" in kendisi için bir adam / bilgi sayfası bulamazsanız ("man ls" / "info ls"), "coreutils" paketine ("info coreutils") bakmayı deneyin. Ayrıca, daha genel platformlar arasında Microsoft platformlarının "ls" çıktısına çok iyi çevirme eğiliminde olmadığına dikkat edin; bu nedenle, "ls" sürümünüzün nasıl olduğuna bağlı olarak, çıktıda garip davranışlar, bayraklar veya diğer olağandışı bilgiler görebilirsiniz. derlenmiş, neye karşı olduğu vb.

Bir uyarı daha: Dosya zaman damgası genellikle dosyanın oluşturulduğu saat değil, dosyanın en son değiştirildiği tarih / saattir . Aslında, bir un * x-ish dosya sisteminde, dosya oluşturma zamanının bir kaydı yoktur; ctime alanı, FAT / NTFS dosya sistemlerinde olduğu gibi "oluşturma zamanı" anlamına gelmez, bunun yerine "inode [C] bekleme süresi" anlamına gelir - inode'un en son değiştirildiği saat. "Mtime" (son [M] değiştirilmiş) ve atime (son [A] ccesed / read) zaman damgaları her iki sistemde aynıdır - bununla birlikte (FAT (örneğin iki saniyelik bir tanecikliğe sahiptir) ve zaman dilimi değişebilir. .


4
Hangi sistem, link sayımında sembolik bağlantılar içeriyor?
celtschk

1
Üzgünüm, net değildim .. Bildiğim hiçbir sistem, link sayımında sembolik bağlantılar içermiyor . Sadece "ne" bir "link" anlamına geliyordu. Örneğin, Windows’ta bir "kabuk bağlantısı" bir bağlantı olarak kabul edilir, ancak çoğu konsol komutu onu normal bir dosya olarak değerlendirir. Bu olacak ls içerir değil bağlantı sayısı içinde kullanıyorlar. Bildiğim kadarıyla, 'ls' için kaynaklar başka türlü değiştirilmedikçe, sadece OS'nin bağlantı sayısı için bildirdiği raporları bildirir.
CM

1
Sym-links ve .lnk dosyalarını dahil etmek, tüm dizinin denenmesini gerektirir. Sadece bir dosyayı listelemek için. Waaaaaaaaaaaaay yavaş olurdu. Sadece sert bağlantı içeriyor. Bu, dosyanın sahip olduğu dizin girişlerinin sayısıdır. (çöp toplayıcısı tarafından kullanılır. Referans sayısı sıfıra geldiğinde, dosya silinir.)
ctrl-alt-delor

1
Normalde, işletim sistemleri (OS) ve dosya sistemleri (FS) hakkındaki düşüncelerim aynı fikirde olacaktır, ancak zaman zaman bazı işletim sistemlerinde ve FS'lerde bazı tuhaflıklar gördüm. Bununla birlikte, her zaman OS / FS'nin bir parçası değildir; Bazen, tuhaflıklar bir aracı bir işletim sisteminden diğerine taşımaya çalışmanın ve ardından yeni platform için ayarlamaya çalışmanın (örneğin, CTIME alanındaki EXT ve FAT / NTFS arasındaki farklar gibi) ve nasıl NTFS, farklı türlerde "linkler" (kabuk linkler, reparse noktaları vb.) Uygular ve kesin ve düzgün bir tanım vermeyi zorlaştırır.
CM

1
Ek not: Bir dizinin dosya boyutu, dizinin altındaki dosyaların toplam boyutunun değil, yalnızca dizinin meta verilerinin boyutudur.
Wisbucky

31

GNU sistemlerinde lsbilgi sayfasında çok detaylı bir şekilde anlatılmaktadır . Sadece açık: Tek yapmanız gereken tek şey onu bulmak man lsve tam belgelere uç bağlantısını bulmak: info coreutils 'ls invocation'.

İşte ondan alıntı:

`-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.

Teşekkür ederim! Listeleme sırasında ilk sütunda c "karakter özel dosya" anlamından emin /dev/
değildim

3

İlk sütun dosya modudur, sonraki sütun dosyanın sahip olduğu bağlantı sayıları, üçüncü ve dördüncü kısım ise sahibinin adı ve dosyanın ait olduğu gruptur. Bir sonraki sütun, dosyanın bayt sayısını belirtir (bazı lsuygulamalarda -hbu bilgiyi daha kullanıcı dostu bir şekilde görme seçeneği vardır). Son iki sütun, zaman damgasını ve dosyanın adını gösterir. Daha fazla bilgi için man sayfasını okursunuz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.