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

ファイルを移動してソフト リンクを残す

小さいメモとして、コマンドが実際にデータを移動しないようにするために、両方の場合に ln を使用できます (両方のパスが同じファイルシステム上にあると仮定します)。

ln /some/path/file /another/path/ && ln -sf /another/path/file /some/path/

しかし、/some/path/ の内容を別のディスクに移動してから、新しいファイルへのリンクを作成して、「誰も」気付かないようにしたいと考えています。

for f in `ls /some/path/`; do ln /some/path/$f /another/path/ && ln -sf /another/path/$f /some/path; done

bash 関数でラップする:

function cpln {
    for f in `ls $1`
    do
        ln $1/$f $2 && ln -sf $2/$f $1
    done
}

使用できる私のスクリプトがあります (2 つのパラメーター /some/path/file と /another/path/ を取ります):

#!/bin/bash
cp $1 $2
if [ "$?" -ne "0" ]; then
    echo "Some error"
    exit 1
    fi
ln -sf $2/${1##*/} ${1%/*}

Linux
  1. Linuxのハードリンクとソフトリンクの説明

  2. パターンを見つけて移動しますか?

  3. ファイルのアクセス許可と保存?

  1. リダイレクトとパイプ出力?

  2. vsFTPDのインストールと構成

  3. 6 Linux のファイルとディレクトリを移動または名前変更する mv コマンドの例

  1. Linux ファイル システムのソフト リンクとハード リンクとは

  2. Linuxのソフトリンクとハードリンクの違い

  3. スレッドとファイル記述子