2

a.txt、b.bin、c.bak、d.txt、e.bin などの一連のファイルを含むフォルダー (/data など) があります。フォルダー (/dataIL) にまったく同じ名前 (1-1 マッピング) を持つこれらのファイルへのリンクを作成する必要があります。つまり、/dataIL には 5 つのリンクが必要です。

a.txt->../data/a.txt  
b.bin->../data/b.bin  
c.bak->../data/c.bak  
d.txt->../data/d.txt  
e.bin->../data/e.bin  

1 つのリンクを作成するコマンドは次のとおりです。ln -s ../data/a.txt a.txt

すべてのファイルを作成するために実行できるスクリプト コマンドを知りたい。他の拡張子のファイルもあることに注意してください。任意の拡張子を持つすべてのファイルへのリンクが必要です。

私はbashシェルを持っています。ありがとう。

4

2 に答える 2

4

すべてのファイルが 1 つのディレクトリにあるため、アスタリスクを使用してすべてのファイルへのシンボリック リンクを作成できます。

ln -s data/* .

これは、 内のすべてのファイルへのリンクを作成することを前提としていますdata。設定によっては、ドットで始まる名前のファイルをスキップする場合があることにも注意してください。

于 2012-04-16T16:40:54.770 に答える
1
find ../data -maxdepth 1 -type f -exec bash -c "ln -s {} \`basename {}\`" \;

../data は任意のディレクトリにすることができます

于 2012-04-16T16:42:24.097 に答える