ls -L
우분투에서 이 명령 의 기능은 무엇입니까? 어떤 사용 사례가 있나요? 예를 들어 주시면 감사하겠습니다. 감사합니다!
답변1
매뉴얼 페이지에서:
-L, --dereference
when showing file information for a symbolic link, show
information for the file the link references rather than for
the link itself
차이점을 확인하려면 플래그가 ls
있거나 없는 인수 로 심볼릭 링크를 지정해 보세요 .-L
답변2
심볼릭 링크를 역참조하고 그것이 가리키는 내용을 표시합니다. 예를 들어:
user@mysystem:~/u&l$ dd if=/dev/urandom of=example.img bs=1024 count=0 seek=$[1024*10]
0+0 records in
0+0 records out
0 bytes copied, 0.000104833 s, 0.0 kB/s
user@mysystem:~/u&l$ ln -s example.img ex
user@mysystem:~/u&l$ ls -lh
total 0
lrwxrwxrwx 1 user user 11 Sep 9 01:07 ex -> example.img
-rw-rw-r-- 1 user user 10M Sep 9 01:06 example.img
user@mysystem:~/u&l$ ls -lhL
total 0
-rw-rw-r-- 1 user user 10M Sep 9 01:06 ex
-rw-rw-r-- 1 user user 10M Sep 9 01:06 example.img
user@mysystem:~/u&l$
L이 없으면 ex는 링크된 위치를 나타내는 심볼릭 링크임을 알 수 있습니다. 또한 파일 크기 차이도 확인하세요. 소문자 l은 심볼릭 링크임을 나타냅니다. -L 옵션을 설정한 후에는 목록에 연결된 파일에서 더 이상 식별할 수 없습니다. 어떤 면에서는 하드 링크를 사용하는 경우 ls와 같습니다.
답변3
이러한 -L
옵션은 심볼릭 링크를 역참조합니다. 이것이 실제로 무엇을 의미하는지 확인하기 위해 디렉토리와 이에 대한 심볼릭 링크를 만들고 inode 번호를 확인하겠습니다.
$ mkdir dir1
$ ln -s dir1/ dir2
$ ls -li
total 2
6030486 drwxr-xr-x 2 merlin merlin 4096 Sep 9 07:46 dir1
6030487 lrwxrwxrwx 1 merlin merlin 5 Sep 9 07:47 dir2 -> dir1/
그런 다음 -L
통화에 추가합니다 ls
.
$ ls -Lli
total 2
6030486 drwxr-xr-x 2 merlin merlin 4096 Sep 9 07:46 dir1
6030486 drwxr-xr-x 2 merlin merlin 4096 Sep 9 07:46 dir2
첫 번째 열에 인쇄된 inode 번호가 다른 것을 볼 수 있습니다. 파일 크기와 권한도 다릅니다. dir1
심볼릭 링크가 아닌 디렉토리의 속성을 표시합니다 dir2
.