GNU/Linux >> Belajar Linux >  >> Linux

Cara memutuskan tautan file yang disinkronkan ke dirinya sendiri tanpa merusak

Jika sebuah file adalah disinkronkan dengan dirinya sendiri maka tidak ada data dan upaya apa pun untuk mengaksesnya akan menghasilkan loop, dan akhirnya kesalahan

misalnya

$ 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

Karena tidak ada data, menghapus symlink ini tidak akan menghilangkan data apa pun, karena ada tidak ada data untuk dipertahankan.

Jika Anda tidak mendapatkan Too many levels of symbolic links kesalahan saat Anda mencoba cat file maka file Anda bukan tautan ke dirinya sendiri.


ln tidak akan tidak pernah menimpa file dengan tautan ke dirinya sendiri. Anda bisa mendapatkan file yang ditautkan ke dirinya sendiri dengan:

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

Namun jika Anda mencoba dengan file yang berisi data:

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

ln , sebaliknya, akan menimpa file dengan tautan ke file lain.

Namun, Anda dapat yakin bahwa tautan ke dirinya sendiri adalah file yang tidak pernah memiliki data (atau dihapus secara eksplisit sebelum tautan lunak dibuat).

(di Linux dan menggunakan ln dari coreutils , yaitu)


Linux
  1. Bagaimana Menguji Apakah File Menggunakan Crlf Atau Lf Tanpa Memodifikasinya?

  2. Bagaimana Cara Mendaftar File Termuda N (tanpa Parsing Ls!)?

  3. Linux – Bagaimana Cara Membuat Ulang 70-persistent-net.rules Tanpa Reboot?

  1. Bagaimana Cara Membuat Digit Hex Acak Tanpa Spasi?

  2. Bagaimana cara mengekstrak file tanpa struktur folder menggunakan tar

  3. Cara grep \n dalam file

  1. Cara mengeksekusi file tanpa ekstensi .sh di shell

  2. Bagaimana cara menulis file ke USB tanpa menjadi root?

  3. Bagaimana cara menambahkan baris dalam file zip tanpa membuka ritsleting?