ファインダーにハードリンクを作成する方法はありますか?


8

ファインダーにハードリンクを作成する方法はありますか?

端末のハードリンクは次のように作成されます:

ln /path/to/file /path/to/newpath

一方、シンボリックリンク/エイリアスは、コマンドとオプションを保持するか、または

ln -s /path/to/file /path/to/newpath

(明らかに 'alias'と 'ln'の動作は異なります

回答:


7

次のようなAutomatorサービスを作成できます。

ここに画像の説明を入力してください

これにより、選択したファイルが取得され、ファイルが存在するディレクトリにそれらへのハードリンクが作成されます。その後、リンクを必要な場所にドラッグアンドドロップできます。

これは、名前にスペースが含まれているファイルでは機能しますが、名前に引用符が含まれているファイルでは機能しません。

Finder » サービスメニュー、コンテキストメニューからアクセス Lでき、エイリアスのショートカットに似たキーボードショートカットを割り当てることができます(おそらくL)。


1
新しいディレクトリに直接ハードリンクを作成できるようにリンク先フォルダーを提供するオプションキーのようなものを押しながら、あるフォルダーから別のフォルダーにドラッグアンドドロップするときに有効になるアクションを実行する方法はありますか?
マイケル

@Michaelは、おそらくこの回答に対するコメントではなく、独自の質問として最善を尽くします。
ダニエル

1
名前に引用符が含まれるファイルを処理bashする必要があるという観点から。Automatorに関連しない理由はありますか?(引用符で実際に機能しないことをテストしましたか?)
ワイルドカード

関連、Unix&Linux Stack Exchangeから:$ 1 $ 2のような引数をforループで使用する方法は?(使用できるより簡単な構文は複数あります。)
ワイルドカード

@ダニエル:ファイルタイプの関連付けを妨げる「My File.txt Hardlink」の代わりに「My File Hardlink.txt」を取得するために、洗練されたコードでソリューションを拡張しました。ありがとうございます。
porg、

2

Finder.app自体でこれを行う方法はありません。ただし、目的がTerminal.appへのコマンドの入力を避けることだけである場合は、Automator.appを使用して、コマンドを実行するワークフローを作成できます。


2

実際には、拡張子を維持したまま名前変更のリンク用語が必要でした。そうしないと、finderがファイルタイプを認識しません。

だから私はダニエルの答え(それに対する感謝)を使って、それを少し変えました

for f in "$@"
 do  
  dir=$(dirname "$f")
  filename=$(basename "$f")
  extension=$([[ "$filename" = *.* ]] && echo ".${filename##*.}" || echo '')
  filename="${filename%.*}"
  ln "$f" "${dir}/$filename Hardlink$extension"
done

編集:私がより良い拡張処理コードだと思うものを追加しました-拡張が存在しない場合は空白にする必要があります。申し訳ありませんが、私はスクリプトのコーディングが苦手ですので、これが必要だと思われる修正を共有してください。


かなり良い。注意点:拡張子のないファイルがあると、驚くべき結果が得られます。(そして、含まれているディレクトリの1つに名前にピリオドがある場合、驚きは別の形式で現れます。)
ワイルドカード

1

はい、間接的に。

Automatorを使用すると、シェルスクリプトを実行し、ハードリンクの宛先へのパスを要求できるサービスを作成できます(ハードリンクがおそらく元の場所と同じ場所にないため)。デスクトップのようなどこかにリンクの場所をデフォルト設定できると思います。

ステップを追加してダイアログをポップアップし、宛先を入力するか別の方法で選択して、それをlnコマンドに渡します。


1

ダニエルによって提供された素晴らしい解決策ですが、私は彼のスクリプトコードを、ファイルタイプを保持する以下のコードに置き換えることをお勧めします。

for f in "$@"
do  
  ln "$f" "Plink-$(basename "$f")"
done

「ファイルタイプを破壊しない」とはどういう意味ですか?
user151019 2014年

私はFinderの「エイリアス作成」コマンドが使用するパターンに従いました。もちろん、命名規則は自由に変更できます。
ダニエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.