`Ls --directory` ne anlama geliyor?


17

Benim Ubuntu sürümünde adam ls --directory hakkında bir sonraki bilgiye sahiptir:

list directory entries instead of contents, and do not dereference symbolic links

Bu yüzden nasıl çalıştığı konusunda biraz kafam karıştı. Komutu kullandım ls --directoryve tüm dizinleri içeren bir liste bekledim ama bunun yerine.

Peki tam olarak ne yapar ls --directoryya da ls -dyapar?

Yanıtlar:


24
$ man ls
...
-d, --directory
              list directories themselves, not their contents

Geçerli dizin , listelenen .şey olarak temsil edilir ls -d.

Geçerli dizinin içindeki dizinler dizinin içeriğidir ve bu nedenle bu seçenekle gösterilmez.

Kullandığım -dekran gizli dosya ve dizinlere bir takma ad seçeneği

alias l.='ls -dC .* --color'

Olmadan -d, bu gizli dizinlerin içeriğini de listeleyecektir, bu benim istediğim şey değil.

Bunun için başka bir kullanım -lseçeneği değil, içeriğini kullanarak bir dizinin meta verilerini görmek istiyorum :

$ ls -ld playground
drwxr-xr-x 72 zanna zanna 12288 Mar  1 23:10 playground

Geçerli dizindeki dizinlerin bir listesini istiyorsanız kullanabilirsiniz

ls -d */

ls -dC .* --colorayrıca sadece dizinleri değil gizli dosyaları da listeler.
Pau Chorro

1
evet @PauChorro Aslında cevabımda söylüyorum. Tüm gizli dosyaları ve dizinleri görüntülemek için kullanıyorum
Zanna

1
@PauChorro Sadece dizinleri listelemek için bir yol ekledim
Zanna

1
Benim Ubuntu versiyonunda man lssonraki bilgi vardır: list directory entries instead of contents, and do not derefer‐ ence symbolic links. Yani sürümünüzde gerçekten ne yaptığının daha iyi bir açıklaması var.
Pau Chorro

1
Pilot6 @ çok dosya listeler
zanna

11

lsSadece ile kullanmak -dneredeyse işe yaramaz. Dizinin kendisi hakkında bilgi verir. İçeriğini listelemez.

Bu yüzden bir dizin listesi görmüyorsunuz. Görmeyi beklediğiniz dizinler, geçerli dizinin "içeriği" dir

Basitçe çalıştırırsanız ls -d, geçerli dizini gösterir ..

Eğer diğer tuşlarla çalıştırmak mantıklı ise -l.

ls -ld geçerli dizinin izinlerini gösterir.

pilot6@Pilot6:~$ ls -ld
drwxrwxr-x 1 pilot6 pilot6 2570 Mar  4 12:14 .

Ayrıca, aşağıdaki gibi başka bir dizinin izinlerini de görebilirsiniz:

ls -ld /bin

pilot6@Pilot6:~$ ls -ld /bin
drwxr-xr-x 1 root root 2584 Feb 25 15:19 /bin

Eğer ls -lolmadan -dçalışırsanız, geçerli dizindeki dosya ve klasörler için tüm izinlerin listesine sahip olursunuz. İhtiyacınız yoksa, ls -ldkullanım için iyi bir örnek .

Geçerli klasördeki dizinleri şu şekilde sıralayabilirsiniz:

ls -d */

6

Tek ls -dbaşına kullanmak oldukça işe yaramaz çünkü bir parametre olmadan her zaman geri döner .. Bir parametre belirledikten sonra mantıklıdır. Örneğin, kullanıcı adınız rickve ev kullanımınızdaki tüm dizinleri görmek istiyorsanız:

$ ls -d /home/rick/*/
/home/rick/AAC/        /home/rick/EnhanceIO/         /home/rick/silentcast/
/home/rick/assembly/   /home/rick/EnhanceIO-master/  /home/rick/Templates/
/home/rick/bin/        /home/rick/log/               /home/rick/test/
/home/rick/Desktop/    /home/rick/Music/             /home/rick/tmpe/
/home/rick/Documents/  /home/rick/Pictures/          /home/rick/Videos/
/home/rick/Downloads/  /home/rick/Public/

5

Örneklerle açıklayayım:

  1. ls: bir dizinin içeriğini listele

  2. ls -dveya ls --directory: dizinleri değil içeriklerini listeleyin

Örnekler:

ls -d android-sdk-linux/

# result
android-sdk-linux/

ls android-sdk-linux/

# result
add-ons  build-tools  platforms  platform-tools  SDK Readme.txt  temp  tools

Sizin durum ls -dbu listeye diyor bana sadece göstermek Ben (yani içeriğiyle değil içindeyim dizini .sonucudur bu yüzden, Linux açısından): ..

Söylediğin Ama eğer: lso zaman geçerli dizinde mevcut olduğunu tüm göreceksiniz ..


4

ls -ddizinleri içerik yerine kendileri listeler. Dosyalar normal olarak listelenir. İçine bak man lsbütün seçeneklerin se Açıklamasında.

. geçerli dizinden bir komut çalıştırırken kullandığınız dizin, ./runscript.sh

..dizin dizininde cd ..adım adım ilerlemek için geçerli dizinin üst dizinidir.

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.