シンボリック リンクは、ソフト リンクまたはシンボリック リンクとも呼ばれ、特別な種類のファイルです。これは、別のファイルまたはディレクトリを指す Windows のショートカットに似ています。シンボリック リンクの作成は、実際のファイルのエイリアスを作成することと同じです。
シンボリック リンクにアクセスすると、実際にはシンボリック リンクが指すターゲット ファイルにアクセスすることになります。リンクされたファイルの内容を変更すると、実際のターゲット ファイルの内容に影響します。
シンボリック リンクを表示するには、ls コマンドを -l オプションとともに使用します。それらは次のとおりです:
リーリーシンボリック リンクは、ファイルを整理および共有するための便利な方法を提供します。これらは、長くてわかりにくいディレクトリ パスへの高速アクセスを提供します。これらは、Linux でライブラリをリンクするために頻繁に使用されます。
シンボリック リンクについてある程度理解できたので、シンボリック リンクの作成方法を見てみましょう。
リンク名から ターゲット ファイル へのシンボリック リンクを作成するには、次のように -s オプションを指定して ln コマンドを使用します。 リーリー ここでは
-s オプションが重要です。リンクをソフト リンクとして決定します。これを使用しない場合、ハードリンクが作成されます。ソフトリンクとハードリンクの違いについては、別の記事で説明します。
リーリー
ソース ファイルへのソフト リンクを追跡する方法は他にもありますが、realpath が最も簡単です。
1 つのコマンドで複数のシンボリック リンクを削除することもできます:
💡find コマンドを使用してシンボリック リンクを一覧表示する場合は、*-type l オプションを使用できます。 *
newdir/test_dir にファイル prog.py があります。次のプロパティがあります:
┌──(linuxmi㉿linuxmi)-[~] └─$ ln -s /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py test
以下是新创建链接的属性:
lrwxrwxrwx 1 linuxmi linuxmi 44 2月 1日 19:24 test -> /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py
注意到行首的 l(是 L,不是一 1)了吗?如果你熟悉 Linux 中的文件权限,你就会知道’l’表示链接,因此它告诉你这个文件实际上是一个链接。提个醒,- 表示文件,d 表示目录。
现在,如果我使用此链接更改内容或属性,同样会反映在目标文件中。例如,我在软链接上使用 touch 命令,你会注意到它改变了目标文件的时间戳。
┌──(linuxmi㉿linuxmi)-[~/linuxmi] └─$ touch test ┌──(linuxmi㉿linuxmi)-[~/linuxmi] └─$ ls -l /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py -rw-r--r-- 1 linuxmi linuxmi 1926 2月 1日 19:27 /home/linuxmi/linuxmi.com/linuxmi/linuxmi.py
您如何知道链接指向的是文件还是目录?在您按照路径访问目标文件本身之前,您无法知道这一点。
是的,这完全有可能。这就是为什么在 Linux 中创建软链接时应该小心的原因。您链接到的目标文件不需要存在。创建指向不存在的文件/目录的链接时,您不会收到任何错误或警告。
ls 命令仍然有效。仅当您尝试通过链接或单独访问目标文件时才会出现错误。
┌──(linuxmi㉿linuxmi)-[~/linuxmi] └─$ ln -s non_existant_dir link_dir ┌──(linuxmi㉿linuxmi)-[~/linuxmi] └─$ less link_dir link_dir: 没有那个文件或目录
您是否注意到符号链接上的文件权限?符号链接始终使用 777 权限 (rwxrwxrwx) 创建。对于常规文件,这意味着任何人都可以访问该文件。但链接并非如此。
lrwxrwxrwx 1 linuxmi linuxmi 11 2月 1日 18:58 linuxmi.md -> linuxmi.dat 如果链接上的文件权限按原样处理,任何用户都可以创建指向安全文件的符号链接并自由访问它。那将是一个主要的安全问题。值得庆幸的是,这不会发生。因为目标文件的权限很重要,而不是链接的权限。
您可以使用 chmod 命令更改链接的权限,但它会更改链接文件的权限,而不是链接本身。
您可以创建指向另一个链接的符号链接等等。这称为链式符号链接。最好避免使用它们,因为它会造成更多混乱。
嗯,就是这样。我假设您现在对软链接有了更好的了解,并且您知道如何在 Linux 中创建符号链接。您也可以查看 symlinks 命令,它可以帮助您在 Linux 中找到损坏的符号链接并轻松管理它们。
以上がLinux でシンボリック リンクを作成する方法 [完全ガイド]の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。