디렉토리에 모든 심볼릭 링크를 나열하는 방법 디렉토리 에서 명령 ls -la을 실행하면 /var/www/WordPress에

/var/www/디렉토리에 워드 프레스로 연결 되는 심볼릭 링크 가 있습니다. 디렉토리 에서 명령 ls -la을 실행하면 /var/www/WordPress에 대한 링크가 표시되지 않습니다. 디렉토리에있는 모든 심볼릭 링크를 나열하는 방법이 있습니까?



답변

command grep와 함께 사용 ls하면 현재 디렉토리에있는 모든 심볼릭 링크를 나열 할 수 있습니다 .

현재 디렉토리에있는 모든 링크가 나열됩니다.

ls -la /var/www/ | grep "\->"

답변

파싱 ls나쁜 생각입니다 ® , find이 경우 간단한 것을 선호하십시오 :

find . -type l -ls

현재 디렉토리 만 처리하려면 다음을 수행하십시오.

find . -maxdepth 1 -type l -ls

크레딧 : 쉘이`ls -A` 명령에 의해 반환 된 파일 이름을 인식하도록하려면 어떻게합니까?


답변

ls -la명령은 모든 파일과 폴더 및 심볼릭 링크 된 디렉토리를 표시합니다.이 명령에 심볼릭 디렉토리가 표시되지 않으면 워드 프레스에 대한 심볼릭 링크가 없음을 의미합니다 .

실행 결과를 참조하십시오 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

l권한 플래그를 구걸 할 때 모든 기호 디렉토리에 권한 이 있음을 알 수 있습니다. grep을 사용 ^l하면 기호 파일 또는 디렉토리 만 나열 할 수 있습니다.

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$

드라이버서브 시스템 디렉토리는 여기에있는 다른 디렉토리에 대한 심볼릭 링크입니다.


답변

grep 당신의 친구입니다:

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

이 대신에 파마 열에서 링크 대표 “L”로 시작하는 라인이 나열됩니다 l사용 d디렉토리 및 -파일을


답변

POSIXly :

find ! -name . -prune -type l

답변

디렉토리에서 심볼릭 링크를 보려면

  1. 터미널을 열고 해당 디렉토리로 이동하십시오.

  2. 다음 명령을 입력하십시오 :

    ls -la
    

    숨겨져 있어도 디렉토리의 모든 파일을 길게 나열해야합니다.

  3. 로 시작하는 파일 l은 기호 링크 파일입니다.


답변

디렉토리에있는 모든 심볼릭 링크 된 항목 (dirs & fns)을 반환합니다.

find . -maxdepth 1 -type l -print | cut -c3- | grep -v "\#"

그러나 실제 기호로 연결된 항목 유형을 구별하려면 다음을 수행하십시오.

ls -lhaF | grep ^l | grep -v "\#" | cut -c42- | grep -v "/" | cut -d' ' -f1

기호로 연결된 파일 이름 항목 만 반환합니다. 과,

ls -lhaF | grep ^l | grep -v "\#" | cut -c42- | grep "/" | cut -d' ' -f1

심볼릭 링크 된 dirname 항목 만 리턴합니다.