Linux에는 두 가지 유형의 파일 링크가 있습니다. 하나는 하드 링크이고 다른 하나는 소프트 링크입니다. 오늘은 이 두 가지 링크와 사용법을 소개하겠습니다.
하드 링크
먼저 하드 링크를 PHP의 변수 참조를 사용하여 비교해 보겠습니다.
$a = 100; $b = &$a;
$a는 파일로 볼 수 있고, $b는 $a 파일에 대한 하드 링크로 볼 수 있습니다. 현재 효과는 $a 또는 $b가 수정되더라도 상대방에게 영향을 미친다는 것입니다.
이제 파일 중 하나를 삭제하면 다른 파일은 그대로 유지되나요?
unset($b);
$b 파일을 삭제해도 $a 파일은 여전히 존재합니다.
다음으로 위에서 말한 내용과 같은지 확인해 보겠습니다. 하드 링크를 생성하는 명령은 다음과 같습니다.
ln 源文件 链接文件
현재 시스템에는 1.php 파일이 있습니다. 이제 이에 대한 하드 링크를 생성해 보겠습니다.
# ln 1.php 2.php # cat 1.php로그인 후 복사
이제 2.php 파일을 수정하여 1.php 파일도 수정되는지 확인해 보겠습니다.
# echo -e '\n?>' >> 2.php # cat 1.php
2.php를 수정하면 1.php 파일도 수정되는 것을 볼 수 있습니다. 이제 2.php 파일을 삭제하고 1.php 파일이 아직 존재하는지 확인해 보겠습니다.
# rm -f 2.php # ll 1.php -rw-r--r-- 1 root root 52 Jun 20 08:05 1.php
2.php를 삭제해도 1.php 파일은 그대로 남아있는 것을 볼 수 있습니다.
하드 링크 기능은 위에 소개되어 있습니다. 하드 링크 사용에 대한 제한 사항은 다음과 같습니다.
디렉토리를 연결할 수 없습니다.
파일 시스템 간에 연결할 수 없습니다.
위 두 가지의 제한으로 인해 포인트 결과적으로 일상생활에서 하드링크를 사용할 기회가 거의 없는데, 또 다른 종류의 링크인 소프트링크는 위와 같은 제한사항이 없어 많이 사용됩니다! .
소프트 링크
일반적으로 소프트 링크는 Windows 시스템의 바탕 화면 바로 가기와 비교됩니다. 소프트 링크를 생성하면 파일의 디렉터리 위치를 찾을 필요 없이 쉽게 명령을 실행할 수 있습니다. 또한 소프트링크 파일은 삭제되지만 소스파일은 여전히 존재합니다. 단, 원본 파일을 삭제하면 링크된 파일은 아무런 영향을 받지 않습니다.
소프트 링크는 파일과 디렉터리의 두 가지 유형으로 구분됩니다. 이 두 링크의 기능은 아래에 소개되어 있습니다.
파일에 대한 소프트 링크 만들기
mysql을 설치한 후 절대 경로를 사용하지 않고 mysql을 사용하여 실행할 수 있는 이유가 궁금하신가요? 여기에는 소프트 링크가 사용됩니다.
# which mysql /usr/bin/mysql # ll /usr/bin/mysql lrwxrwxrwx 1 root root 26 Nov 4 2019 /usr/bin/mysql -> /usr/local/mysql/bin/mysql
명령어의 실제 주소는 /usr/local/mysql/bin/mysql임을 알 수 있는데 /usr/bin/ 디렉터리에 해당 파일에 대한 소프트 링크가 만들어지므로 굳이 그럴 필요는 없다. 절대 경로를 사용하여 호출하세요. 이제 주문할 차례입니다.
이런 경우가 있는지 직접 파일 소프트링크를 만들어 보겠습니다.
먼저 파일을 만듭니다. , 주의할 점이 있습니다. 예,
소프트 링크를 만들 때 대상 파일이나 디렉터리가 존재하지 않아야 합니다.아래에서는 매우 일반적인 시나리오를 소개합니다. 웹사이트 파일은 /www/wwwroot 디렉터리에 저장됩니다. 시스템 실행 시간이 점점 더 나빠질수록 디렉터리는 점점 더 커집니다. 루트 디렉터리와 동일한 파티션에 있으며 루트 디렉터리가 거의 가득 찼습니다. 다른 파티션 디렉터리 /data에는 여전히 99G의 남은 공간이 있습니다. 이때, 다시 파티션을 나누고 싶지 않다면, 루트 디렉터리가 위치한 파티션을 해제하려면 어떻게 해야 할까요? 아래에서는 이 문제를 해결하기 위해 디렉토리 소프트 링크를 사용합니다. 먼저 /data 디렉터리에 wwwroot 디렉터리를 생성한 후 /www/wwwroot 디렉터리의 모든 파일을 /data/wwwfile로 이동한 후 /www/wwwroot 디렉터리를 삭제합니다. 마지막으로 /data/wwwfile 디렉토리에 /www/wwwroot
vim soft #!/bin/bash echo 'study softlink' # chmod u+x soft
에 대한 소프트 링크를 제공합니다. 이제 문제가 실제로 해결되었는지 테스트해 보겠습니다. 현재 루트 파티션 사용량은 19%이고, /data 파티션 사용량은 9%입니다. # ln -s /root/soft /usr/bin/
# soft
study softlink
mkdir /data/wwwfile mv /www/wwwroot/* /data/wwwfile rm -rf /www/wwwroot ln -s /data/wwwfile /www/wwwroot
루트 파티션의 사용 가능한 용량은 여전히 33G인 것을 볼 수 있는데, /data 파티션이 458G에서 456G로 변경되어 문제가 해결되었습니다.
위 내용은 Linux 파일 링크 및 해당 응용 프로그램 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!