Hogyan kell felsorolni minden szimbolikus linket egy könyvtárban

100

Szimbolikus linkem van a/var/www/ könyvtáromban, amely a WordPresshez kapcsolódik. Amikor als -la parancsot futtatom a/var/www/ könyvtárból, a WordPresshez mutató link nem jelenik meg. Van-e mód arra, hogy felsorolja a könyvtárban található szimbolikus linkeket?

    
készlet wisaac407 09.09.2014 19:56
forrás

8 válasz

61

Agrep -ot als paranccsal az aktuális könyvtárban lévő szimbolikus linkek felsorolásához használhatja.

Ez felsorolja az aktuális könyvtár összes hivatkozását.

ls -la /var/www/ | grep "\->"
    
válasz adott g_p 09.09.2014 20:02
forrás
191

Als elemzés Rossz ötlet ® , inkább egy egyszerűfind ügy:

find . -type l -ls

Csak az aktuális könyvtár feldolgozásához:

find . -maxdepth 1 -type l -ls

Hitelek: Hogyan készíthetem el a shell-t az" ls -A "parancs által visszaküldött fájlnevek felismerésére, és ezek a nevek tartalmaznak szóközöket?

    
válasz adott Sylvain Pineau 09.09.2014 20:21
forrás
8

Als -la parancs az összes fájlt és mappát, valamint a szimbolikus linkelt könyvtárat mutatja, ha ez a parancs nem tartalmaz szimbolikus könyvtárat, akkor azt jelenti, hogy nincs szimbolikus link a WordPressre .

nézze meg als -la:

futásának eredményét
kasiya@kasiya-pc:~$ cd /sys/devices/platform/sony-laptop
kasiya@kasiya-pc:/sys/devices/platform/sony-laptop$ ls -la
total 0
drwxr-xr-x  3 root root    0 Sep  9 19:57 .
drwxr-xr-x 14 root root    0 Sep 10  2014 ..
-r--r--r--  1 root root 4096 Sep  9 22:32 battery_care_health
-rw-r--r--  1 root root 4096 Sep  9 22:32 battery_care_limiter
lrwxrwxrwx  1 root root    0 Sep  9 19:57 driver -> ../../../bus/platform/drivers/sony-laptop
-r--r--r--  1 root root 4096 Sep  9 22:32 modalias
drwxr-xr-x  2 root root    0 Sep  9 22:32 power
lrwxrwxrwx  1 root root    0 Sep  9 22:32 subsystem -> ../../../bus/platform
-rw-r--r--  1 root root 4096 Sep  9 22:32 touchpad
-rw-r--r--  1 root root 4096 Sep  9 19:57 uevent

Megjelenik az összes szimbolikus könyvtár l engedélye a jogosultsági zászlók könyörgésén. és ha a^l -al grep-ot használsz, akkor csak szimbolikus fájlokat vagy könyvtárakat lehet felsorolni:

kasiya@kasiya-pc:/sys/devices/platform/sony-laptop$ ls -la |grep ^l
lrwxrwxrwx 1 root root    0 Sep  9 19:57 driver -> ../../../bus/platform/drivers/sony-laptop
lrwxrwxrwx 1 root root    0 Sep  9 22:32 subsystem -> ../../../bus/platform
kasiya@kasiya-pc:/sys/devices/platform/sony-laptop$ 
A

illesztőprogram és az alrendszer könyvtár szimbolikus linket tartalmaz más itt található könyvtárhoz.

    
válasz adott αғsнιη 09.09.2014 20:32
forrás
3

POSIXly:

find ! -name . -prune -type l
    
válasz adott cuonglm 09.09.2014 20:24
forrás
3

grep a barátod:

ls -lhaF | grep ^l   # list links
ls -lhaF | grep ^d   # list directories
ls -lhaF | grep ^-   # list files

Ez a lista az "l" -ről induló sorokat sorolja fel, amelyek al felhasználásd könyvtárat és a- fájlok helyett a perms oszlopot jelölik.

    
válasz adott Kalibur 08.10.2015 12:22
forrás
0

Írja be als -lai -ot, majd felsorolja az összes fájlt és alkönyvtárat a megfelelő inode számokkal. Tudja, hogy az azonos inode-számmal rendelkező fájlok a kemény vagy lágy linkek, és ez a megoldás a szimbolikus linkekhez is működik.

    
válasz adott saptarshi nag 09.09.2014 20:18
forrás
0

A szimbolikus linkek megtekintése a könyvtárban:

  1. Nyisson meg egy terminált és költözzön erre a könyvtárra.

  2. Írja be a parancsot:

    ls -la
    

    Ekkor a könyvtár összes fájlját meg kell adni, még akkor is, ha rejtettek.

  3. Al -al kezdődő fájlok a szimbolikus linkfájlok.

válasz adott sandeep srivastav vaddiparthy 10.09.2014 07:43
forrás
0

Pythontal is elvégezhető:

$ python -c "import os,sys; print '\n'.join([os.path.join(sys.argv[1],i) for i in os.listdir(sys.argv[1]) if os.path.islink(os.path.join(sys.argv[1],i))])" /path/to/dir

Mintafutás:

$ python -c "import os,sys; print '\n'.join([os.path.join(sys.argv[1],i) for i in os.listdir(sys.argv[1]) if os.path.islink(os.path.join(sys.argv[1],i))])" /etc
/etc/vtrgb
/etc/printcap
/etc/resolv.conf
/etc/os-release
/etc/mtab
/etc/localtime

Ez kiterjeszthető rekurzívra aos.walk függvény használatával, de elegendő az egyszerű listatermelés használatához az egyetlen könyvtárban lévő hivatkozások listázásához, ahogy fentebb megmutattam.

    
válasz adott Sergiy Kolodyazhnyy 09.01.2017 12:15
forrás