>

현재 ls 를 사용할 때 디렉토리에 대한 심볼릭 링크의 내용이나 정보를 찾으려고 할 때 무슨 일이 일어나고 있는지 이해하지 못합니다.  명령. 옵션 -H 가 있음을 이해합니다   ls 를 위해  명령 행에 나열된 기호 링크를 따르는 명령. ls 매뉴얼 페이지   -l 를 사용할 때만 필요하다는 내용은 아닙니다.  선택권. 내가 단순히 ls symLinkToDir 와 같은 것을하면  추가 옵션없이 링크 된 디렉토리 내용을표시합니다. 하지만 내가 ls -l symLinkToDir 하면   -H 를 포함하지 않는 한 링크에 대한 정보 만 표시합니다.  옵션도 있습니다. 이 예는 내가 말하는 것입니다 :

brian@LinuxBox:~$ ls playground/linkedDir
file4  file5
brian@LinuxBox:~$ ls -l playground/linkedDir
lrwxrwxrwx 1 brian brian 4 Feb 18 16:42 playground/linkedDir -> dir2
brian@LinuxBox:~$ ls -lH playground/linkedDir
total 0
-rw-rw-r-- 1 brian brian 0 Feb 18 16:41 file4
-rw-rw-r-- 1 brian brian 0 Feb 18 16:41 file5

여기서 뭔가 이해가되지 않습니까? 이것이 작동하는 이상한 방법입니까? 이것이 실제로 어떻게 작동하는지, 매뉴얼 페이지가 -H 가 필요없는 특정 조건에서 기호 링크가 따를 것이라고 말해서는 안됩니다  선택권? 입력 해 주셔서 감사합니다.

  • 답변 # 1

    ls 의 행동  디렉토리에 대한 심볼릭 링크는 -l 뿐만 아니라 많은 옵션에 달려 있습니다.  그리고 -H . 심볼릭 링크 동작 옵션이없는 경우 ( -L -H ), ls symlinkToDir  디렉토리의 내용을 표시하지만 ls -l symlinkToDir ls -d symlinkToDir  그리고 ls -F symlinkToDir  모두 심볼릭 링크에 대한 정보를 표시합니다.

    ls 의 GNU 구현 매뉴얼 페이지를 읽는 경우 , 그것은 전체 이야기를 제공하지 않습니다. GNU 매뉴얼 페이지는 요약 일뿐입니다. 전체 설명서는 정보 설명서 ( info ls )에 있습니다. )이며 일반적으로 요즘 HTML로 제공됩니다. 정보 설명서의 디렉토리에 대한 심볼릭 링크의 기본 동작을 찾을 수 없지만 문서의 버그 일 수 있습니다.

    예를 들어 FreeBSD 매뉴얼 페이지가 더 정확하지만 -H 에 대한 설명을 읽어야합니다  기본 동작을 찾는 옵션입니다.

    와이즈 비즈 와이즈 비즈  명령 행의 기호 링크가 이어집니다. 이 옵션은

    가 없으면 가정됩니다. -H 또는 -F  옵션이 지정되었습니다.

    보다 공식적인 설명을 원하지만 읽기 쉽지 않은 경우 POSIX 사양을 읽으십시오. 여기에는 구현의 확장이 없습니다.

    와이즈 비즈

  • 답변 # 2

    분명히 POSIX에 필요합니다 :

    와이즈 비즈

    -d 가 없기 때문에 거기에만 있다고 가정 할 수 있습니다  또는 -l , 디렉토리에 대한 링크는 실제 디렉토리와 유사하므로

    If one or more of the -d, -F, or -l options are specified, and neither the -H nor the -L option is specified, for each operand that names a file of type symbolic link to a directory, ls shall write the name of the file as well as any requested, associated information. If none of the -d, -F, or -l options are specified, or the -H or -L options are specified, for each operand that names a file of type symbolic link to a directory, ls shall write the names of files contained within the directory as well as any requested, associated information.

     

    If none of the-d,-F, or-loptions are specified, or the-Hor-Loptions are specified, for each operand that names a file of type symbolic link to a directory, ls shall write the names of files contained within the directory as well as any requested, associated information.

    와 동일하게 행동 할 수도 있습니다. .

    -F 와 함께   -l 를 가리키는 , 디렉토리와 링크는 목록에서 동일하게 보이고, 명령 행에서 사용될 때 동일하게 작동합니다 :

    ls $link_to_dir
    
    

    하지만 ls $dir  차이점을 밝힙니다 :

    link
    
    
    dir

  • 이전 linux - 키오스크 Gui (WebBrowsing에 국한되지는 않음)
  • 다음 linux - ZFS가 압축을 업데이트하여 기존 데이터를 압축하고 복사합니까?