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

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

2
シンボリックリンクの解決(pwd)
私は次のことをすると言います: cd /some/path ln -s /target/path symbolic_name もしそうなら: cd /some/path cd symbolic_name pwd 私は得る: /some/path/symblic_name ではなく: /target/path 私が直接やったように、シェルにシンボリックリンクを「完全に解決」させる方法はありますか(つまり、CWDの更新など)。 cd /target/path ? ターゲットパスへの到達方法について「認識」または「敏感」と思われるプログラムを実行する必要があり、cd /target/path直接実行したかのようにターゲットパスに到達したと考えてもらいたい。
32 files  symlink  cwd 

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



5
単純なLinuxコマンドで絶対シンボリックリンクを相対シンボリックリンクに変換する
私は、パス内の完全なサブファイルシステムを持っている/home/user/systemディレクトリと標準のLinux構造を含みます/bin、/home、/root、/usr、/var、/etc、... このサブファイルシステムには、相対または絶対のいずれかのシンボリックリンクが含まれています。相対シンボリックリンクは問題なく、サブファイルシステム内にあります/home/user/system。しかし、絶対シンボリックリンクは、サブファイルシステムの外部のターゲットを指しているため、問題があります。 例として、次のような絶対シンボリックリンクを想定しています(サブファイルシステム内で見られます): /usr/file1 -> /usr/lib/file1 全体的なファイルシステムでは、我々は、リンクしてい/home/user/system/usr/file1たファイルへの今ポイント/usr/lib/file1の代わりに、ファイルのサブファイルシステムの外側、/home/user/system/usr/lib/file1 内側のサブファイルシステムを。 単純なスクリプト、できればすべての絶対シンボリックリンクを相対シンボリックリンクに変換する単一のコマンドライン(rsync、chroot、find、...)が欲しいです。 与えられた例では、その相対リンクは次のようになります /usr/file1 -> ../usr/lib/file1

7
スクリプトの絶対パスを取得するポータブルな方法?
(zsh)スクリプトが絶対パスを決定するための移植可能な方法は何ですか? Linuxでは、次のようなものを使用します mypath=$(readlink -f $0) ...しかし、これは移植性がありません。(たとえば、readlinkダーウィンでは-fフラグを認識せず、同等の機能もありませんreadlink。) よりポータブルな方法は何ですか?

1
systemctlへのシンボリックリンクが再起動、シャットダウン、および電源オフになるのはなぜですか?
私がしなければアーチLinuxでは、ls -lで/sbin、私はそれを見ることができるreboot、shutdownとpoweroffのすべてのシンボリックリンクです/usr/bin/systemctl。ただし、、およびコマンドを発行してもreboot、すべてが同じ動作をするわけではありません。shutdownsystemctl されてls -l私にシンボリックリンクに関する完全な情報が表示されませんか?たとえば、どうすれば本当のシンボリックリンクを知ることrebootができますか?
28 arch-linux  ls  symlink  reboot  ln 

4
フォルダーが実際にシンボリックリンクであるかどうかを確認するにはどうすればよいですか?また、壊れている場合はどうすれば修正できますか?
Linuxにシンボリックリンク、何らかのショートカット、またはフォルダーがあるかどうかを確認するにはどうすればよいですか?次のスクリーンショットをご覧ください。 ご覧のように、lsコマンドはオブジェクトのリストを表示しますが、一部のオブジェクトは濃い青色で、他のオブジェクトは明るい青(シアン)で色付けされています。これらのシアン色のオブジェクトは何ですか?これらは実際のシンボリックリンクですか? あなたが見ることができるように、私はcdHDDと呼ばれるものにできません。 root@dm500hd:/# cd hdd -sh: cd: can't cd to hdd リダイレクトする必要がある/media/hddと思いますが、hddフォルダーが見つからないことに気付きました。 これを修正する方法はありますか? 更新:ls -alコマンドの結果は次のとおりです。 あなたが見ることができるように、それは言いhdd -> /media/hdd、それは赤で着色されています。これは、破損している、または自動マウントされていることを意味しますか?つまり、物理hddが接続されている場合ですか? 更新:これはgrep media /etc/auto*コマンドの結果です。 これら/etc/auto.master:/media/netと/etc/auto.networkエントリは何をしますか? ls -Fal /mediaコマンドの結果は次のとおりです。 これは助けになりますか?... 以下はコマンドstatとfileコマンドの結果、および/ usrと/ binのリストです。 これは私を助けますか?...あなたは私を助けますか?... サイドとしてではなく、あなたが知っておくべきことは、これがBusyBoxを備えたLinuxベースのSTBであり、組み込みシステムであることです。そのため、すべてのコマンドがサポートされるわけではありません。 更新: / sbinおよび/ usr / sbinにあるファイルとサポートされるコマンドを示す最後のスクリーンショット。 更新:新しい共有が追加されました... 古い共有を削除し、以前と同じ名前の共有を再作成し、2番目の共有を追加しました。だから今、私はそれらの2つを持っています。 SHARES remote share local share mydream dream1 mydream2 dream2 LOCATIONS …
28 linux  shell  symlink 

3
Nginxにシンボリックリンクをフォローさせる
Nginxはシンボリックリンクをたどりません。404エラーが表示されます。私のディレクトリには、次のリンクがあります。 lrwxrwxrwx 1 root root 48 Sep 23 08:52 modules -> /path/to/dir/ に保存されて/path/to/dirいるファイルが見つかりません。
28 symlink  nginx 

2
ln -sが単一の引数を受け入れる理由
> cd /tmp > ln -s foo > ls -alhF /tmp lrwxrwxrwx 1 user user 3 Jul 29 14:00 foo -> foo これはバグlnですか、それともファイルをシンボリックリンクするユースケースはありますか? これはcoreutils 8.21-1ubuntu5.1です。
27 symlink  coreutils  ln 

3
まだディレクトリシンボリックリンクを追跡しながら、長い形式(-l)を使用してlsする方法は?
ls -l出力のフォーマットを変更するだけでなく、ディレクトリシンボリックリンクの処理方法も変更することに気付きました。 > ls /rmn biweekly.sh daily.sh logs ... > ls -l /rmn lrwxrwxrwx 1 root root 18 Feb 11 2011 /rmn -> /root/maintenance/ シンボリックリンク/rmnに関する情報ではなく、内容の詳細なリストを取得したいと思い/rmnます。 私が考えることができる1つの回避策は、このような何かをするシェル関数を作成することです: cd /rmn ls -l cd - しかし、それはあまりにもハックが多いようですcd -。特に、次のの使用が台無しになるためです。もっと良い方法はありますか? (私はCentOS 2.6.9を使用しています)
27 ls  symlink 

4
シンボリックリンクを削除せずにディレクトリ構造をコピーする方法は?
ソースファイルのディレクトリ構造を維持したまま、別のディレクトリに多数のファイルを「インストール」する必要があります。例えば、私がしている場合./foo/bar/baz.txtに行く/var/www/localhost/webroot/、私は結果になりたいです/var/www/localhost/webroot/foo/bar/baz.txt。rsyncにはこの機能が--relativeありますが、私がこれを行ったとき、シンボリックリンクに友好的ではないことがわかりました: $ ls -ald /var/www/localhost/webroot/ | grep ^l lrwxrwxrwx 1 www-data www-data 15 2014-01-03 13:45 media -> ../static/media lrwxrwxrwx 1 root root 13 2014-02-24 13:47 var -> ../static/var $ rsync -qrR . /var/www/localhost/webroot/ $ ls -ald /var/www/localhost/webroot/ | grep var drwxr-xr-x 3 root root 4096 2014-02-24 13:52 /var/www/localhost/webroot/var したがって、シンボリックリンクはもはやシンボリックリンクではないことがわかります。ファイルは間違った場所にコピーされました! rsyncまた--no-implied-dirs、表面的には私が望むことをするように見えるオプションがありますが、再帰的なrsyncを行わないときに意図したとおりに動作するだけなので、 …
27 rsync  symlink  mirror 

4
ln -s(pwdに相対的なパスを含む)
たくさんのシンボリックリンクを作成しようとしていますが、なぜこれが機能しているのかわかりません ln -s /Users/niels/something/foo ~/bin/foo_link これながら cd /Users/niels/something ln -s foo ~/bin/foo_link ではありません。 私はそれが代わりfoo_linkにfooにリンクすることに関係があると信じています/Users/niels/bin/Users/niels/something 質問は、実際に入力せずに絶対パスを指すシンボリックリンクを作成するにはどうすればよいかということです。 参考のため、Mac OS X 10.9およびZshを使用しています。
26 bash  shell  symlink  ln 

4
パスへの追加と/ binからのリンク
システム管理者はサーバーにソフトウェアアプリケーション(Maven)をインストールし、全員に/usr/local/maven/bin/パスにフォルダーを追加するように指示しました。 次のように、そのフォルダー内のいくつかのプログラムを/binフォルダー(または全員がパスに持っている他のフォルダー)からリンクするだけの方が便利だと思います。 ln -s /usr/local/maven/bin/* /bin これは正しいです?私の提案に隠れた副作用はありますか?

3
そのファイルへのシンボリックリンクを壊さずにファイルをmv
mvそのファイルへのシンボリックリンクを壊すことなくファイルを作成することは可能 ですか?これに対する私の最初の応答は「いいえ」であり、移動後すぐにリンクを変更するスクリプトベースのソリューションを作成していますが、他の人がこの問題にどのように取り組んでいるか疑問に思いました。シンボリックリンクのパスと名前は事前にわかっているので、理論的には次のことを行うだけです。 リンクのターゲットを取得する mvターゲット 新しいターゲットへのリンクを再作成します 新しいターゲットへの新しいリンクを作成します(元のリンクとは異なり、今も保持したい) 後日: 古いリンクを削除する 1-4はbashスクリプトにカプセル化されますが、もっとエレガントなアプローチを持っている人がいるのか、私が知らない組み込みコマンドやコマンドを知っている人がいるかどうか疑問に思っています。

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