명령을 실행하면 두 명령 모두 동일한 출력을 제공합니다. 파일에 대한 소프트 링크와 하드 링크를 만들었지만 여전히 두 명령 모두 동일한 출력을 제공합니다. find -H
와 사이에 차이가 있나요 find -L
?
답변1
find
하드 링크는 -links
. 심볼릭 링크파일로매우 유사하게 대우받을 것입니다.
나는 find
당신에게 매뉴얼 페이지를 읽어주겠지만, 당신은 이미 그것을 읽었다고 가정하겠습니다. 매뉴얼 페이지는 초보자가 이해하기 어려운 난해한 언어로 작성되었습니다. 예제가 도움이 될 수 있습니다. 이 작업을 수행:
$ mkdir dir1 dir2 dir3
$ touch dir1/file1 dir2/file2 dir3/file3
$ ln -s dir2 two
$ cd dir1
$ ln -s ../dir3 three
$ cd ..
$ ls -lR # I have deleted my user name from the below.
.:
total 1
drwxr-xr-x 1 0 Sep 4 13:08 dir1
drwxr-xr-x 1 0 Sep 4 13:08 dir2
drwxr-xr-x 1 0 Sep 4 13:08 dir3
lrwxrwxrwx 1 4 Sep 4 13:08 two -> dir2
./dir1:
total 1
-rw-r--r-- 1 0 Sep 4 13:08 file1
lrwxrwxrwx 1 7 Sep 4 13:08 three -> ../dir3
./dir2:
total 0
-rw-r--r-- 1 0 Sep 4 13:08 file2
./dir3:
total 0
-rw-r--r-- 1 0 Sep 4 13:08 file3
$ find dir1 two
dir1
dir1/file1
dir1/three
two
$ find -P dir1 two # This is the default; i.e., same as the above.
dir1
dir1/file1
dir1/three
two
$ find -H dir1 two
dir1
dir1/file1
dir1/three
two
two/file2
$ find -L dir1 two
dir1
dir1/file1
dir1/three
dir1/three/file3
two
two/file2
알아채다:
- 기본 동작(즉,
-P
동작) 에서는find
어떤 기호 링크도 따르지 않습니다.two
(최상위 디렉토리에 있음)dir1/three
단순히 객체로 보고됩니다. - 아래에는
-H
심볼릭 링크two
→가 지정되어 있으므로(즉, 에 위치함을 알 수 있음)dir2
file2
dir2
two
~에find
명령줄.dir1/three
여전히 개체로 보고됩니다 . - 아래에는
-L
두 기호 링크가 모두 이어집니다. → 링크를file2
따랐기 때문에 알 수 있습니다 . → 링크를 따랐기 때문 입니다 .two
dir2
file3
dir1/three
../dir3
지금까지 명확하지 않다면 (기본값 대신 ) find
내 예제에서 명령을 실행해보고 목록이 표시되는 방법과 방법에 특별한 주의를 기울이십시오. 심볼릭 링크가 보입니다.-ls
-print
two
three
파일로
다양한 옵션에 따라 다양한 보고서도 있습니다.
또 다른 예는 다음과 같습니다.
$ ln -s /bin/sh mysh
$ find . -size +9
$ find -H . -size +9
$ find -L . -size +9
./mysh
심볼릭 링크 ./mysh
는 작습니다. 을 가리키는데 /bin/sh
, 이것은 꽤 큰 파일입니다. 로 테스트한 결과 -size
under(기본값) 및 ./mysh
under는 더 작은 것으로 처리되지만 under는 더 큰 것으로 처리됩니다. 왜냐하면 "링크가 가리키는 파일 보기"를 의미하기 때문입니다.-P
-H
-L
-L
다른 예시:
find . -type f
(및find -H . -type f
)은 일반 파일만 찾습니다.find . "(" -type f -o -type l ")"
일반 파일과 (모든) 심볼릭 링크가 발견됩니다.find -L . -type f
일반 파일과 심볼릭 링크가 발견됩니다.일반 파일을 가리킵니다.. (또한 디렉토리 트리에 디렉토리에 대한 심볼릭 링크가 포함되어 있는 경우 그것들디렉토리도 검색됩니다. )