GNU/Linux >> Znalost Linux >  >> Linux

Jak odpojit soubor symbolicky propojený sám se sebou bez zničení

Pokud soubor je symbolicky propojený sám se sebou, pak nejsou přítomna žádná data a jakýkoli pokus o přístup k nim povede ke smyčce a nakonec k chybě

např.

$ 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

Protože neexistují žádná data, smazáním těchto symbolických odkazů nepřijdete o žádná data, protože existují žádná data k zachování.

Pokud nedostanete Too many levels of symbolic links chyba při pokusu o cat soubor, pak váš soubor není odkaz na sebe.


ln nikdy přepsat soubor odkazem na sebe. Můžete získat soubor propojený sám se sebou pomocí:

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

Ale pokud to zkusíte se souborem, který obsahuje data:

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

ln , na druhou stranu přepíše soubor odkazem na jiný soubor.

Přesto si můžete být spíše jisti, že odkaz na sebe je soubor, který nikdy neobsahoval data (nebo byl explicitně smazán před vytvořením měkkého odkazu).

(v systému Linux a pomocí ln od coreutils , tedy)


Linux
  1. Jak používat dd v Linuxu bez zničení disku

  2. Jak vypsat seznam N’th Youngest File (bez analýzy Ls!)?

  3. Linux – Jak obnovit 70-persistent-net.rules bez restartu?

  1. Jak vytvořit náhodné hexadecimální číslice bez mezer?

  2. Jak spustit soubor bez přípony .sh v shellu

  3. Jak připojit řádek do zazipovaného souboru bez rozbalení?

  1. Jak skrýt soubory a složky ve Správci souborů bez přejmenování

  2. Jak otestovat, zda soubor používá Crlf nebo Lf, aniž byste jej upravovali?

  3. Jak extrahovat soubory bez struktury složek pomocí tar