タグ付けされた質問 「hard-link」

ハードリンクは、ファイルシステム上の別のファイルに名前を関連付けるファイルシステムエントリです。

19
重複するファイルをハードリンクに置き換える簡単な方法はありますか?
find2つのディレクトリで重複フ​​ァイルを見つけ、1つのディレクトリのファイルを別のディレクトリのファイルのハードリンクで置き換える簡単な方法(コマンドまたは一連のコマンド、おそらくを含む)を探しています。 状況は次のとおりです。これは、複数の人がオーディオファイルを保存するファイルサーバーで、各ユーザーが独自のフォルダーを持っています。複数の人がまったく同じ音声ファイルのコピーを持っている場合があります。現在、これらは重複しています。ハードドライブのスペースを節約するために、それらがハードリンクになるようにしたいと思います。

8
UNIX / Linuxでディレクトリへのハードリンクが許可されないのはなぜですか?
Unix / Linuxはディレクトリへのハードリンクを許可しないが、ソフトリンクは許可することを教科書で読みました。それは、サイクルがあり、ハードリンクを作成し、しばらくしてから元のファイルを削除すると、ガベージ値がポイントされるからでしょうか? 循環がハードリンクを許可しない唯一の理由である場合、ディレクトリへのソフトリンクが許可されるのはなぜですか?




5
各ファイルのハードリンクを使用して再帰的にディレクトリをコピーする方法
各ファイルが元のファイルへのハードリンクであるディレクトリツリーの「コピー」を作成したい 例:ディレクトリ構造があります: dirA/ dirA/file1 dirA/x/ dirA/x/file2 dirA/y/ dirA/y/file3 予想される結果は、各ファイルが元のファイルへのハードリンクであるディレクトリツリーの「コピー」です。 dirB/ # normal directory dirB/file1 # hardlink to dirA/file1 dirB/x/ # normal directory dirB/x/file2 # hardlink to dirA/x/file2 dirB/y/ # normal directory dirB/y/file3 # hardlink to dirA/y/file3

5
ファイルがハードリンクかシンボリックリンクかを判断しますか?
ファイルへのファイル名/パスを取得し、ファイルがシンボリックリンクかハードリンクかを判断するシェルスクリプトを作成しています。 唯一のものは、それらがハードリンクかどうかを確認する方法がわかりません。テストファイルとして使用するために、ハードリンクとシンボリックリンクの2つのファイルを作成しました。しかし、ファイルがハードリンクであるか、シェルスクリプト内のシンボリックであるかをどのように判断しますか? また、シンボリックリンクの宛先パーティションを見つけるにはどうすればよいですか?別のパーティションにリンクするファイルがあるとしましょう。元のファイルへのパスをどのように見つけますか?

2
なぜ「。」Unixのハードリンク?
UnixベースのOSで空のディレクトリのリンクカウントが1ではなく2である理由については、多くの説明を見てきました。すべてのディレクトリがそれ自体を指しているディレクトリ。「。」という概念がある理由がわかります。相対パスを指定するには便利ですが、ファイルシステムレベルで実装すると何が得られますか?シェルまたはパスを取るシステムコールに、その解釈方法を知ってもらうだけではどうですか? その「..」は本当のリンクです。ファイルシステムは、ナビゲートするために親ディレクトリへのポインタを保存する必要があります。しかし、「。」の理由がわかりません。実際のリンクであることが必要です。また、実装でい特別なケースにつながるようです-リンクカウントが1未満のiノードで使用されているスペースのみを解放できると思うでしょうが、それらがディレクトリの場合、実際にチェックする必要がありますリンクカウントが2未満。

5
ハードリンクを保持してディレクトリをコピーする方法は?
共通のファイルがあるディレクトリを別のパーティションに移動する方法は? /mnt/Xハードリンクでファイルを共有するディレクトリでパーティションがマウントされていると仮定しましょう。そのようなディレクトリを別のパーティションに移動する方法は、/mnt/Yそれらのハードリンクを保存することです。 「ハードリンクとファイルを共有するディレクトリ」とはどういう意味ですか? # let's create three of directories and files mkdir -p a/{b,c,d}/{x,y,z} touch a/{b,c,d}/{x,y,z}/f{1,2,3,4,5} # and copy it with hardlinks cp -r -l a hardlinks_of_a 具体的には、ファイルの合計サイズが10Gで、各ファイルに10個のハードリンクがあると仮定します。問題は、10Gを使用して宛先に移動する方法です(100Gでコピーしてから重複排除を実行することについて誰かが言うかもしれません-私が尋ねているものではありません)
40 files  cp  hard-link 

9
ハードリンクの使用例?[閉まっている]
どのような状況で、ソフトリンクではなくハードリンクを使用したいでしょうか?私は個人的に、ソフトリンクよりもハードリンクを使いたい状況に出くわしたことは一度もありませんし、ウェブを検索するときに出会った唯一のユースケースは同一ファイルの重複排除です。

8
ハードリンクとファイルの違いは何ですか?
ハードリンクは、 iノードへのポインタとして定義されています。ソフトリンクとしても知られ、シンボリックリンクは、ハードリンクの制限を受けることなく、別のリンクを指している独立したファイルとして定義されます。 ファイルとハードリンクの違いは何ですか?ハードリンクはiノードを指しているので、ファイルとは何ですか?iノードエントリ自体ですか?または、ハードリンクのあるiノードですか? タッチでファイルを作成するとしましょう。次に、inodeエントリがinodeテーブルに作成されます。そして、ファイルと同じiノード番号を持つハードリンクを作成します。新しいファイルを作成しましたか?または、ファイルはinodeとして定義されていますか?


5
1つのファイルが2人のユーザーに属することを望んでいます。どうやって?ハードリンクが失敗する
2つのsetuidプログラム/usr/bin/barと/usr/bin/bazは、単一の構成ファイルを共有しますfoo。構成ファイルのモードは0640、機密情報を保持するためです。1つのプログラムは次のように実行されますbar:bar(つまり、ユーザーバー、グループバーとして)。他としてbaz:baz。ユーザーを変更することはオプションではなく、グループを変更することも好ましくありません。 /etc/bar/fooおよびとして単一の構成ファイルをハードリンクしたいと思います/etc/baz/foo。ただし、ファイルは、私が知る限り、root:barまたはのいずれかに属している必要があるため失敗しますroot:baz。 潜在的な解決策:barbazメンバーがbarおよびである新しいグループを作成しますbaz。にfoo属しroot:barbazます。 それは私にとってはかなり手間のかかる解決策のように見えます。foo2つのプログラム間で構成ファイルを共有するためのより簡潔で簡単な方法はありませんか? 今のところ、ファイルの同一のコピーを2つ保持しています。これは機能しますが、明らかに間違っています。何が正しいでしょうか? 情報:Unixグループの経験はほとんどなく、setgid(2)の経験はありません。

6
ファイルを/ dev / nullへのハードリンクに置き換えます
log.txtに書き込むアプリケーションを実行しています。アプリが新しいバージョンに更新され、サポートされているプラ​​グインの互換性が失われました。log.txtに膨大な量のエラーを強制し、別のログファイルへの書き込みをサポートしていないようです。 別のログに書き込むにはどうすればよいですか? log.txtをハードリンクに置き換えることを検討しました(アプリケーションは違いを正しく判断できませんか?)または/ dev / nullを指すハードリンク。私のオプションは何ですか?

4
フォルダ用に作成された特別なハードリンク「。」のリンクを解除(削除)するにはどうすればよいですか?
Linuxでは、フォルダを作成すると、対応するiノードへの2つのハードリンクが自動的に作成されます。1つは作成を要求したフォルダーで、もう1つは.このフォルダーの特別なフォルダーです。 例: $ mkdir folder $ ls -li total 0 124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 folder $ ls -lai folder total 0 124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 . 124593716 drwxr-xr-x 3 fantattitude staff 102 18 oct 16:52 .. あなたが見ることができるように、両方folderと.の内部には、folder(で示したものと同じinode番号持つ-iオプション)。 この特別な.ハードリンクを削除する方法はありますか? それは実験と好奇心のためだけです。 また、答えは..特別なファイルにも当てはまると思います。 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.