タグ付けされた質問 「symlink」

存在しない、または既存のファイルまたはディレクトリを参照する特別なタイプのファイル。シンボリックリンクの内容は、シンボリックリンクが指すファイルへのパスである任意の文字列で構成されます。パス名の解決中にシンボリックリンクが検出されると、ファイルに保存されている文字列を使用してパス名の解決が変更されます。

9
壊れたシンボリックリンクを見つけるにはどうすればよいですか
指し示していないすべてのシンボリックリンクを見つける方法はありますか? find ./ -type l はすべてのシンボリックリンクを提供しますが、どこかに行くリンクとそうでないリンクを区別しません。 私は現在やっています: find ./ -type l -exec file {} \; |grep broken しかし、私はどのような代替ソリューションが存在するのかと思っています。

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

4
現在のディレクトリに関連するシンボリックリンクを作成します。
外付けHDD上のディレクトリを指すシンボリックリンクをホームディレクトリに作成しようとしています。 次のように指定すると正常に機能します。 cd ~ ln -s /run/media/name/exhdd/Data/ Data しかし、これを試してみると、リンクに障害が発生します: cd /run/media/name/exhdd ln -s Data/ ~/Data これは、私がcd入ることができないリンクを作成します。 私が試してみると、bashは文句を言います: bash: cd: Data: Too many levels of symbolic links ls色付きの出力を表示するように設定されている場合、自宅のデータシンボリックリンクも赤色で表示されます。 なぜこうなった?その方法でリンクを作成するにはどうすればよいですか?(別のディレクトリの作業ディレクトリにあるディレクトリへのシンボリックリンクを作成したい。) 編集:この StackOverflowの回答によれば、2番目の引数(私の場合は〜/ Data)が既に存在し、ディレクトリである場合、そのディレクトリ内にlnターゲットへのシンボリックリンクが作成されます。 しかし、私は同じ問題を次のように経験しています: ln -s Data/ ~/
110 directory  symlink  ln 

8
ソフトシンボリックリンクの元のファイルのフルパスを取得する方法は?
scpファイルをサーバーに送りたい。ファイルはシンボリックリンクであり、実際にやりたいことはソースファイルのコピーです。とにかく、ソースファイルのパスを手動で追跡したくないのは、それが置き換えられる可能性があるためです。ソースファイルの絶対パスを取得できれば、それを使用できますsep。どうすればパスを取得できますか?
99 symlink  scp 

1
cdがシンボリックリンクをたどる
ホームディレクトリにコードをsshfsとしてマウントしていますが、階層を覚えるのが難しいため、ホームディレクトリにシンボリックリンクを作成して、そのディレクトリに移動します。シンボリックリンクにcdする代わりに、そのシンボリックリンクにcdしたときに、実際にそのディレクトリにcdする方法はありますか? 質問が明確でない場合、私が探しているものの例を次に示します。 foo@foo:~$ ls -l lrwxrwxrwx 1 foo foo 5 2012-11-14 08:20 foo -> bar/bar foo@foo:~$ cd foo foo@foo:~/bar/bar/$

5
シンボリックリンクを編集するにはどうすればよいですか?
シンボリックリンクの私の基本的な理解は、特別なファイル、別のファイルへの文字列パスを含むファイルとしてです。カーネルのVFSはその多くを抽象化しますが、シンボリックリンクを編集できないように見える理由はありますか? つまり、シンボリックリンクを編集できますか?そうでない場合は、なぜですか? シンボリックリンクを置き換える方法はいろいろありますが(現在2つの選択肢が回答セクションにあります)、置換がシンボリックリンクを処理する唯一の方法であるように見える理由についての説明を得ることは興味深いでしょう。それらが指す場所を変更できないのはなぜですか?

2
シンボリックリンクの再帰-何がそれを「リセット」しますか?
同じディレクトリを指すシンボリックリンクをたどっていくとどうなるかを確認するために、小さなbashスクリプトを書きました。非常に長い作業ディレクトリを作成するか、クラッシュすることを期待していました。しかし、結果は私を驚かせました... mkdir a cd a ln -s ./. a for i in `seq 1 1000` do cd a pwd done 出力の一部は ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a ${HOME}/a/a ${HOME}/a/a/a ${HOME}/a/a/a/a ${HOME}/a/a/a/a/a ${HOME}/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a ここで何が起きてるの?
64 bash  symlink 

7
相対パス名へのシンボリックリンクを作成する
私がすることができます: $ pwd /home/beau $ ln -s /home/beau/foo/bar.txt /home/beau/bar.txt $ readlink -f bar.txt /home/beau/foo/bar.txt しかし、私はこれをできるようになりたいです: $ pwd /home/beau $ cd foo $ ln -s bar.txt /home/beau/bar.txt $ readlink -f /home/beau/bar.txt /home/beau/foo/bar.txt これは可能ですか?どういうわけか相対パス名を解決してそれを渡すことができlnますか?
64 symlink 

14
lnのパラメーターの順序を記憶するためのヒント?
私はln何年もシンボリックリンクを書いてきましたが、それでもパラメーターの順序は間違っています。 これは通常私に書いています: ln -s a b そして出力を見て自分自身を思い出させます。 私はa -> bそれが実際に反対であるとき、私はそれを読んでいるように常に想像していますb -> a。これは直観に反しているように感じられるので、私は常に自分自身を推測していることがわかります。 正しい順序を覚えておくのに役立つヒントはありますか?
64 symlink  ln 



5
共有パス外のシンボリックリンクにSambaをどのように追従させますか
これはUbuntuサーバー10.04 64およびsamba 3.4.7です。 共有ディレクトリ/home/mit/shareと、共有ディレクトリ/home/tempにリンクする別のディレクトリがあります。 ln -s /home/temp /home/mit/share/temp しかし、Windowsでは、インターネットを使用した後、を開くことができませんS:/tempが、Linuxでは、/home/mit/share/temp期待どおりにアクセスできます。 内部のディレクトリをリンクする場合、これは機能します/home/mit/share/temp。そのため、sambaは共有ディレクトリの外部/上にあるリンクでジャンプするように制限していると思います。 編集: Ubuntu +最新のsambaバージョンというタイトルのこの質問も参照してください。シンボリックリンクはWindowsにマウントされた共有では動作しません。 置くのがベストと思われるunix extensions = noグローバルセクションとにfollow symlinks = yesとwide links = yesだけあなたが本当にそれを必要とする株式セクション、に。 unix extensionフラグはグローバルセクションではなく、個々の株式のセクションに住んでいます。ただし、セキュリティ上の理由から、他のオプションはグローバルではなく、必要な場所でのみ使用することをお勧めします。

4
シンボリックリンクを介して実行されたときに現在のスクリプトのパスを取得
いくつかのbashスクリプトを含むいくつかのディレクトリと、場合によっては各マシンの異なるディレクトリにある複数のマシンに展開されるサポートファイルで構成されるユーティリティがあります。スクリプトはそれ自体に関連するパスを参照できる必要があるため、現在実行中のファイルへのパスを取得できる必要があります。 dirname $0スクリプトが直接呼び出されたときに完全に機能するイディオムを知っています。残念ながら、まったく異なるディレクトリからこれらのスクリプトへのシンボリックリンクを作成し、依然として相対パスロジックを機能させたいという要望があります。 全体的な乾燥構造の例は次のとおりです。 / |-usr/local/lib | |-foo | | |-bin | | | |-script.sh | | |-res | | | |-resource_file.txt |-home/mike/bin | |-link_to_script (symlink to /usr/local/lib/foo/bin/script.sh) またはによって呼び出されるかどうか/usr/local/lib/foo/res/resource_file.txtからどのように確実に参照できますか?script.sh/usr/local/lib/foo/bin/script.sh~mike/bin/link_to_script

5
mount --bindをシンボリックリンクの代わりとして使用することには、欠点がありますか?
シンボリックリンクのようなどのような機能に制限が持っているls、mvと、cpシェルのようなコマンドを開始したとは違っているので、それらを操作することができcd、これらの機能は、ユーザが論理パスに対するディレクトリのアクセス方法についての情報を持っていない(関連参照ポスト)。mount --bind代わりにオプションを使用するとこれを回避でき、リンクの代わりにマウントされたディレクトリに2つの独立した物理パスがあるため、sambaや他のファイルサーバーとの機能と互換性が向上します。 mount --bindこのオプションを使用して、すべてのシンボリックリンクを参照に置き換えたいと思いますが、これはfstabで150ポイント以上をマウントすることを意味します。これまたは潜在的に考慮すべきその他の欠点から生じる可能性のあるパフォーマンスの問題はありますか?
55 mount  symlink 


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