빠른 답변: Linux에서 모든 하드 링크를 찾으려면 어떻게 해야 합니까?

모든 하드 링크를 한 번에 찾으려면 장치의 모든 파일에 대한 spit out inode 찾기, 그런 다음 sort 및 uniq와 같은 것을 사용하여 중복을 찾습니다. 이것은 현재 디렉토리의 파일을 나열하고 여기에 대해 ls를 수행합니다.

다음을 통해 inode 번호 NUM에 대한 하드 링크를 검색할 수 있습니다. ' -inum NUM ' 사용. 검색을 시작하는 디렉토리 아래에 파일 시스템 마운트 지점이 있는 경우 ' -L ' 옵션도 함께 사용하지 않는 한 ' -xdev ' 옵션을 사용하십시오.

NTFS 파일 시스템이 있는 Windows에는 다음 제한이 있습니다. 1024 하드 링크 파일에.

Linux에서 찾기를 어떻게 사용합니까?

기본 예

  1. 찾기 . – 이 파일의 이름을 .txt로 지정합니다. Linux에서 thisfile이라는 파일을 찾는 방법을 알아야 하는 경우. …
  2. /home -name *.jpg를 찾습니다. 모두를 찾습니다. /home 및 그 아래 디렉토리에 jpg 파일이 있습니다.
  3. 찾기 . – f -empty를 입력합니다. 현재 디렉토리에서 빈 파일을 찾습니다.
  4. /home -user randomperson-mtime 6 찾기 -이름 ".db"

여러분의 시간과 재능으로 파일이 [ -L file ]을 사용하여 심볼릭 링크인지 확인하십시오. . 마찬가지로 [ -f file ] 을 사용하여 파일이 일반 파일인지 테스트할 수 있지만 이 경우 심볼릭 링크를 해결한 후 검사가 수행됩니다. 하드링크는 파일 유형이 아니라 파일(모든 유형)의 다른 이름일 뿐입니다.

디렉토리를 하드 링크하는 이유는 다음과 같습니다. 허용되지 않음 약간 기술적입니다. 기본적으로 파일 시스템 구조를 깨뜨립니다. 어쨌든 일반적으로 하드 링크를 사용하면 안 됩니다. 심볼릭 링크는 문제를 일으키지 않고 대부분의 동일한 기능을 허용합니다(예: ln -s target link ).

디렉토리의 심볼릭 링크를 보려면:

  1. 터미널을 열고 해당 디렉토리로 이동합니다.
  2. ls -la 명령을 입력합니다. 이것은 숨겨져 있더라도 디렉토리의 모든 파일을 길게 나열합니다.
  3. l로 시작하는 파일은 기호 링크 파일입니다.

1 답변. 모든 디렉토리에는 자신과 상위 디렉토리에 대한 링크가 있습니다. (그래서 빈 디렉토리의 .은 링크 수가 2가 됩니다). 그러나 모든 디렉토리는 상위 디렉토리에 연결되기 때문에 하위 디렉토리가 있는 모든 디렉토리에는 해당 하위 디렉토리의 링크가 있습니다.

속성이 동일한 두 파일을 찾았지만 하드 링크되었는지 확실하지 않은 경우 ls -i 명령을 사용하여 inode 번호를 확인합니다.. 함께 하드 링크된 파일은 동일한 inode 번호를 공유합니다. 공유 아이노드 번호는 2730074이며, 이는 이 파일들이 동일한 데이터임을 의미합니다.

하드 링크는 삭제된 파일을 가리키지 않습니다.. 하드 링크는 실제 파일 데이터에 대한 포인터와 같습니다. 그리고 포인터를 파일 시스템 용어로 "inode"라고 합니다. 즉, 하드 링크를 생성하는 것은 다른 inode 또는 파일에 대한 포인터를 생성하는 것입니다.

이 게시물을 좋아합니까? 친구에게 공유하세요:
오늘의 OS