GNU/Linux >> Linux の 問題 >  >> Linux

ディレクトリ内のすべてのファイル (ファイルのクラス) へのシンボリック リンクを作成する方法は?

ln 複数の引数を取りますが、その場合はターゲット ディレクトリを指定することを忘れないでください。

したがって、あなたの例では . はターゲット ディレクトリなので、

ln -s ../source/*.bar .

man ln から;上記のコマンドは 3 番目の形式を使用します:

ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
ln [OPTION]... TARGET                  (2nd form)
ln [OPTION]... TARGET... DIRECTORY     (3rd form)
ln [OPTION]... -t DIRECTORY TARGET...  (4th form)
  • 最初のフォームで、LINK_NAME という名前で TARGET へのリンクを作成します。
  • 2 番目のフォームでは、現在のディレクトリに TARGET へのリンクを作成します。
  • 3 番目と 4 番目のフォームでは、DIRECTORY 内の各 TARGET へのリンクを作成します。

globstar (bash/zsh set by:shopt -s globstar) を使用して再帰的に試すことができます ):

ls -vs ../**/*.bar .

または、リストが長すぎる場合は find を使用します ユーティリティ:

find .. -name \*.bar -exec ln -vs "{}" dest/ ';'

これにより、dest/ にリンクが作成されます 、または . に変更します 現在のフォルダー用。


find を使用

certainDir="/path/to/dir"
find -name "*.bar" -exec ln -s {} "$certainDir" \;

また、絶対パスを使用することを忘れないでください (可能な場合) シンボリック リンクを使用します。


Linux
  1. Linuxですべてのユーザーの共有ディレクトリを作成する方法

  2. Linuxですべてのディレクトリのファイルを再帰的に検索する方法

  3. すべてのファイル(非表示を含む)をあるディレクトリから別のディレクトリに移動するにはどうすればよいですか?

  1. 特定のフォルダ内の特定の拡張子を持つすべてのファイルを削除するにはどうすればよいですか?

  2. ディレクトリ内のすべてのファイルで単語のすべての出現を変更する方法

  3. ディレクトリ内のすべてのゼロバイトファイルを見つける方法

  1. Linuxでハードリンクとシンボリックリンクを作成する方法

  2. ディレクトリ内のすべてのファイルを解凍します

  3. ディレクトリへのリンクを作成する方法