複数のファイルを1つのファイルにハードリンク/ソフトリンク

複数のファイルを1つのファイルにハードリンク/ソフトリンク

フォルダにファイルが多すぎます。これらすべてのファイルを1つのファイルにリンクしたいと思います。たとえば、cat * > Final_file;これによりディスク容量が増え、時間もかかります。すべてのファイルをfinal_fileにハードリンク/ソフトリンクする方法はありますか?たとえば、ln*final_file です。

ベストアンサー1

リンクではできないようです。ただし、名前付きパイプを使用できます。例:

# create some dummy files
echo alpha >a
echo beta  >b
echo gamma >c

# create named pipe
mkfifo allfiles

# concatenate files into pipe
cat a b c >allfiles

最後の呼び出しは、一部のプロセスがパイプからデータを読み取り、終了するまでブロックされます。継続的な操作のために、プロセスが読み取られ、再起動されるのを待つループを使用できます。

while true; do
  cat a b c >allfiles
done

おすすめ記事