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

破壊せずにそれ自体にシンボリックリンクされたファイルのリンクを解除する方法

ファイルが それ自身にシンボリックリンクされている場合、データは存在せず、それにアクセスしようとするとループが発生し、最終的にエラーになります

$ ls -l myfile 
lrwxrwxrwx 1 sweh sweh 19 Sep  9 22:38 myfile -> /path/to/here/myfile

$ cat myfile 
cat: myfile: Too many levels of symbolic links

データがないため、これらのシンボリック リンクを削除してもデータは失われません。 保存するデータがありません。

Too many levels of symbolic links を取得できない場合 cat しようとするとエラーになります ファイルの場合、あなたのファイルはそうではありません それ自体へのリンク。


ln 決してしない それ自体へのリンクでファイルを上書きします。次の方法で、それ自体にリンクされたファイルを取得できます:

$ ln -s `pwd`/myfile myfile
$ ls -l myfile
lrwxrwxrwx 1 grochmal users 25 Sep 10 03:41 myfile -> /home/grochmal/tmp/myfile

しかし、データを含むファイルを試してみると:

$ rm -f myfile
$ echo yay > myfile
$ ln -sf `pwd`/myfile myfile
ln: '/home/grochmal/tmp/myfile' and 'myfile' are the same file

ln 一方、別のファイルへのリンクでファイルを上書きします。

それでも、それ自体へのリンクは、データを持っていなかった (またはソフト リンクの作成前に明示的に削除された) ファイルであると確信できます。

(Linux で ln を使用) coreutils から 、つまり)


Linux
  1. 名前を変更せずにファイルマネージャでファイルとフォルダを非表示にする方法

  2. N番目に若いファイルをリストする方法(Lsを解析せずに!)?

  3. Linux –再起動せずに70-persistent-net.rulesを再生成する方法は?

  1. ディスクを破壊せずにLinuxでddを使用する方法

  2. ファイルが変更せずにCrlfまたはLfを使用しているかどうかをテストする方法は?

  3. スペースなしでランダムな16進数を作成するにはどうすればよいですか?

  1. tar を使用してフォルダー構造のないファイルを抽出するにはどうすればよいですか

  2. ファイル内で \n を grep する方法

  3. シェルで .sh 拡張子のないファイルを実行する方法