Saya memiliki link simbolik di saya /var/www/
direktori yang link ke WordPress. Ketika saya menjalankan perintah ls -la
dari /var/www/
direktori link ke WordPress doesn't muncul. Apakah ada cara untuk daftar semua link simbolik yang ada di direktori?
Parsing ls
adalah sebuah Ide yang Buruk®, lebih suka yang sederhana menemukan
dalam hal ini:
find . -type l -ls
Hanya proses direktori saat ini:
find . -maxdepth 1 -type l -ls
Anda dapat menggunakan grep
dengan ls
perintah untuk menampilkan semua link simbolik hadir dalam direktori saat ini.
Ini akan menampilkan daftar semua link yang ada dalam direktori saat ini.
ls -la /var/www/ | grep "\->"
the ls -la
perintah menampilkan semua file dan folder dan juga simbolik terkait direktori, jika perintah ini doesn't menunjukkan simbolis direktori itu berarti anda don't memiliki link simbolik ke WordPress.
melihat hasil dari menjalankan ls -la
:
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
Anda akan melihat semua simbolik direktori l
izin di mohon izin bendera. dan jika anda mengambil grep dengan ^l
anda bisa daftar hanya simbolis file atau direktori:
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$
driver dan subsistem direktori adalah simbolik link ke direktori lain di sini.
grep
adalah teman anda:
ls -lhaF | grep ^l # list links
ls -lhaF | grep ^d # list directories
ls -lhaF | grep ^- # list files
Ini akan menampilkan baris yang dimulai dengan "l" yang mewakili Link di perms kolom di tempat l
menggunakan d
untuk direktori dan -
untuk file
Untuk melihat link simbolik dalam direktori:
Buka terminal dan pindah ke direktori tersebut.
Ketik perintah:
ls -la
Ini akan panjang daftar semua file dalam direktori bahkan jika mereka tersembunyi.
l
adalah simbolik link file.Hal ini mengembalikan semua secara simbolis item terkait (baik dirs & fns) di direktori:
find . -maxdepth 1 -type l -print | cut -c3- | grep -v "\#"
Namun, dalam rangka untuk membedakan antara yang sebenarnya secara simbolis terkait jenis item:
ls -lhaF | grep ^l | grep -v "\#" | cut -c42- | grep -v "/" | cut -d' ' -f1
Kembali secara simbolis terkait filename item saja. Dan,
ls -lhaF | grep ^l | grep -v "\#" | cut -c42- | grep "/" | cut -d' ' -f1
Kembali secara simbolis terkait dirname item saja.
Dapat dilakukan dengan python juga:
$ 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
Sampel run:
$ 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
Ini dapat diperpanjang untuk menjadi rekursif melalui os.jalan-jalan
fungsi, tapi itu's cukup untuk menggunakan daftar sederhana generasi untuk daftar link dalam sebuah direktori tunggal seperti yang saya tunjukkan di atas.