ເຈົ້າປ່ຽນການເຊື່ອມໂຍງສັນຍາລັກໃນ Unix ແນວໃດ?

ເນື້ອໃນ

ເພື່ອເອົາການເຊື່ອມຕໍ່ທີ່ເປັນສັນຍາລັກ, ໃຫ້ໃຊ້ຄໍາສັ່ງ rm ຫຼື unlink ທີ່ຕິດຕາມດ້ວຍຊື່ຂອງ symlink ເປັນການໂຕ້ຖຽງ. ເມື່ອຖອນຕົວເຊື່ອມຕໍ່ສັນຍາລັກທີ່ຊີ້ໄປຫາໄດເລກະທໍລີ, ບໍ່ໃຫ້ໃສ່ເສັ້ນທັບຊ້ອນທ້າຍໃສ່ຊື່ symlink.

ຫຼັງຈາກນັ້ນ, ມີສາມວິທີທີ່ຈະປ່ຽນ symlink:

  1. ໃຊ້ ln ດ້ວຍການບັງຄັບ -f ແລະແມ້ກະທັ້ງສໍາລັບໄດເລກະທໍລີ -n (inode ສາມາດຖືກນໍາໃຊ້ຄືນ): ln -sfn /some/new/path linkname.
  2. ເອົາ symlink ອອກແລະສ້າງໃຫມ່ (ເຖິງແມ່ນວ່າສໍາລັບໄດເລກະທໍລີ): rm linkname; ln -s /some/new/path linkname.

UNIX Symbolic link ຫຼື Symlink Tips

  1. ໃຊ້ ln -nfs ເພື່ອປັບປຸງການເຊື່ອມຕໍ່ອ່ອນ. …
  2. ໃຊ້ pwd ໃນການປະສົມປະສານຂອງ UNIX soft link ເພື່ອຊອກຫາເສັ້ນທາງທີ່ແທ້ຈິງຂອງການເຊື່ອມຕໍ່ອ່ອນຂອງທ່ານຊີ້ໃຫ້ເຫັນ. …
  3. ເພື່ອຊອກຫາການເຊື່ອມຕໍ່ອ່ອນຂອງ UNIX ແລະ hard link ໃນໄດເລກະທໍລີໃດກໍ່ຕາມ, ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ "ls -lrt | grep “^l” “.

22 апр ປີ 2011 г.

ຄໍາຕອບ. ຈະເກີດຫຍັງຂຶ້ນກັບ symlink ຖ້າພວກເຮົາປ່ຽນຊື່ໄຟລ໌? ເມື່ອທ່ານຍ້າຍໄຟລ໌ໄປຫາຈຸດ symlink, symlink ຈະແຕກ aka dangling symlink. ທ່ານຕ້ອງລຶບມັນອອກແລະສ້າງອັນໃຫມ່ຖ້າທ່ານຕ້ອງການຊີ້ໃຫ້ເຫັນຊື່ໄຟລ໌ໃຫມ່.

ເພື່ອເບິ່ງການເຊື່ອມຕໍ່ສັນຍາລັກໃນໄດເລກະທໍລີ:

  1. ເປີດ terminal ແລະຍ້າຍໄປທີ່ໄດເລກະທໍລີນັ້ນ.
  2. ພິມຄໍາສັ່ງ: ls -la. ອັນນີ້ຈະເຮັດໃຫ້ລາຍຊື່ໄຟລ໌ທັງໝົດຢູ່ໃນໄດເລກະທໍລີຍາວໆ ເຖິງແມ່ນວ່າຈະຖືກເຊື່ອງໄວ້.
  3. ໄຟລ໌ທີ່ເລີ່ມຕົ້ນດ້ວຍ l ແມ່ນໄຟລ໌ເຊື່ອມຕໍ່ສັນຍາລັກຂອງເຈົ້າ.

ການເຊື່ອມໂຍງສັນຍາລັກສາມາດຖືກໂຍກຍ້າຍອອກດ້ວຍສອງຄໍາສັ່ງ: rm ແລະ unlink. ທ່ານສາມາດນໍາໃຊ້ຫນຶ່ງໃນຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອເອົາການເຊື່ອມຕໍ່ສັນຍາລັກ. rm: ແມ່ນຄໍາສັ່ງ terminal ເພື່ອເອົາແຕ່ລະໄຟລ໌ທີ່ໃຫ້ລວມທັງການເຊື່ອມຕໍ່ສັນຍາລັກ. ເນື່ອງຈາກວ່າການເຊື່ອມຕໍ່ສັນຍາລັກຖືກພິຈາລະນາເປັນໄຟລ໌ໃນ Linux, ທ່ານສາມາດລຶບມັນໄດ້ດ້ວຍຄໍາສັ່ງ rm.

ດ້ວຍການຕິດຕັ້ງ Windows Link Shell Extension, ທ່ານສາມາດຄລິກຂວາໃສ່ການເຊື່ອມຕໍ່ໃນ Windows Explorer ແລະກວດເບິ່ງຄຸນສົມບັດ. ມີແຖບທີ່ອະນຸຍາດໃຫ້ທ່ານປ່ຽນການເຊື່ອມຕໍ່ໂດຍກົງ.

ເພື່ອສ້າງລິ້ງທີ່ຍາກໃນລະບົບ Linux ຫຼື Unix ຄື:

  1. ສ້າງການເຊື່ອມໂຍງຍາກລະຫວ່າງ sfile1file ແລະ link1file, ດໍາເນີນການ: ln sfile1file link1file.
  2. ເພື່ອເຮັດໃຫ້ການເຊື່ອມໂຍງສັນຍາລັກແທນທີ່ຈະເປັນການເຊື່ອມໂຍງຍາກ, ໃຊ້: ln -s source link.
  3. ເພື່ອກວດສອບການເຊື່ອມຕໍ່ອ່ອນ ຫຼືແຂງໃນ Linux, ໃຫ້ແລ່ນ: ls -l source link.

16 окт ປີ 2018.

ເມື່ອທ່ານລຶບແຫຼ່ງສໍາລັບການເຊື່ອມໂຍງສັນຍາລັກ, ການເຊື່ອມຕໍ່ສັນຍາລັກໄດ້ຖືກໂຍກຍ້າຍອອກເຊັ່ນດຽວກັນ?

ເມື່ອທ່ານລຶບໄຟລ໌ໃດນຶ່ງ ມັນຈະລຶບລິ້ງນຶ່ງໄປຫາ inode ທີ່ຕິດພັນ. inode ຈະຖືກລຶບພຽງແຕ່ (ຫຼືສາມາດລຶບໄດ້ / over-writable) ເມື່ອການເຊື່ອມຕໍ່ທັງຫມົດກັບ inode ໄດ້ຖືກລຶບຖິ້ມ. ການເຊື່ອມຕໍ່ສັນຍາລັກແມ່ນການເຊື່ອມຕໍ່ກັບຊື່ອື່ນໃນລະບົບໄຟລ໌. ເມື່ອເຊື່ອມຕໍ່ຍາກແລ້ວ, ການເຊື່ອມຕໍ່ແມ່ນໄປຫາ inode.

ເພື່ອສ້າງການເຊື່ອມຕໍ່ສັນຍາລັກຜ່ານທາງເລືອກ -s ໄປຫາຄໍາສັ່ງ ln ຕິດຕາມດ້ວຍໄຟລ໌ເປົ້າຫມາຍແລະຊື່ຂອງການເຊື່ອມຕໍ່. ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ໄຟລ໌ຖືກເຊື່ອມໂຍງເຂົ້າໄປໃນໂຟນເດີ bin. ໃນຕົວຢ່າງຕໍ່ໄປນີ້ ໄດຣຟ໌ທີ່ຕິດຢູ່ພາຍນອກຖືກເຊື່ອມຕໍ່ເຂົ້າກັບໄດເລກະທໍລີເຮືອນ.

ການເຊື່ອມໂຍງທີ່ເປັນສັນຍາລັກ, ເອີ້ນວ່າການເຊື່ອມຕໍ່ອ່ອນ, ແມ່ນໄຟລ໌ປະເພດພິເສດທີ່ຊີ້ໃຫ້ເຫັນເຖິງໄຟລ໌ອື່ນ, ຄ້າຍຄືກັບທາງລັດໃນ Windows ຫຼືນາມແຝງ Macintosh. ບໍ່ເຫມືອນກັບການເຊື່ອມຕໍ່ຍາກ, ການເຊື່ອມຕໍ່ສັນຍາລັກບໍ່ມີຂໍ້ມູນຢູ່ໃນໄຟລ໌ເປົ້າຫມາຍ. ມັນພຽງແຕ່ຊີ້ໄປຫາບ່ອນອື່ນໃນລະບົບໄຟລ໌.

ການເຊື່ອມຕໍ່ຍາກແມ່ນໄຟລ໌ທີ່ຊີ້ໃຫ້ເຫັນເຖິງ inode ພື້ນຖານດຽວກັນ, ເປັນໄຟລ໌ອື່ນ. ໃນ​ກໍ​ລະ​ນີ​ທີ່​ທ່ານ​ລຶບ​ໄຟລ​໌​ຫນຶ່ງ​, ມັນ​ເອົາ​ຫນຶ່ງ​ການ​ເຊື່ອມ​ຕໍ່​ກັບ inode ທີ່​ຕິດ​ພັນ​. ໃນຂະນະທີ່ການເຊື່ອມຕໍ່ສັນຍາລັກ (ຍັງເອີ້ນວ່າ Soft link) ແມ່ນການເຊື່ອມຕໍ່ກັບຊື່ໄຟລ໌ອື່ນໃນລະບົບໄຟລ໌.

ຖ້າການເຊື່ອມຕໍ່ສັນຍາລັກຖືກລຶບ, ເປົ້າຫມາຍຂອງມັນຍັງບໍ່ໄດ້ຮັບຜົນກະທົບ. ຖ້າການເຊື່ອມຕໍ່ສັນຍາລັກຊີ້ໄປຫາເປົ້າຫມາຍໃດຫນຶ່ງ, ແລະບາງຄັ້ງຕໍ່ມາເປົ້າຫມາຍນັ້ນຖືກຍ້າຍ, ປ່ຽນຊື່ຫຼືລຶບ, ການເຊື່ອມຕໍ່ສັນຍາລັກບໍ່ໄດ້ຖືກປັບປຸງຫຼືລຶບຖິ້ມໂດຍອັດຕະໂນມັດ, ແຕ່ຍັງຄົງຢູ່ແລະຍັງຊີ້ໄປຫາເປົ້າຫມາຍເກົ່າ, ໃນປັດຈຸບັນສະຖານທີ່ທີ່ບໍ່ມີຢູ່ແລ້ວຫຼື ໄຟລ໌.

ການເຊື່ອມຕໍ່ສັນຍາລັກອາດຈະມີ .. ສ່ວນປະກອບຂອງເສັ້ນທາງ, ເຊິ່ງ (ຖ້າຖືກ ນຳ ໃຊ້ໃນຕອນເລີ່ມຕົ້ນຂອງລິ້ງ) ໝາຍ ເຖິງບັນດາລາຍການຂອງພໍ່ແມ່ຂອງສິ່ງທີ່ລິ້ງນັ້ນຕັ້ງຢູ່. ການເຊື່ອມຕໍ່ທີ່ມີສັນຍາລັກ (ທີ່ເອີ້ນວ່າການເຊື່ອມຕໍ່ທີ່ອ່ອນ) ອາດຈະຊີ້ໃຫ້ເຫັນເອກະສານທີ່ມີຢູ່ແລ້ວຫຼືບໍ່ມີບ່ອນຢູ່; ກໍລະນີສຸດທ້າຍແມ່ນເປັນທີ່ຮູ້ຈັກວ່າເປັນການເຊື່ອມຕໍ່ຫ້ອຍ.

ການເຊື່ອມໂຍງສັນຍາລັກ (Symlinks/Soft links) ແມ່ນການເຊື່ອມຕໍ່ລະຫວ່າງໄຟລ໌. ມັນບໍ່ມີຫຍັງນອກເໜືອໄປຈາກທາງລັດຂອງໄຟລ໌ (ໃນເງື່ອນໄຂຂອງ windows). ... ແຕ່ຖ້າທ່ານລຶບໄຟລ໌ຕົ້ນສະບັບຂອງ symlink, symlink ຂອງໄຟລ໌ນັ້ນບໍ່ເຮັດວຽກອີກຕໍ່ໄປຫຼືມັນຈະກາຍເປັນ "dangling link" ເຊິ່ງຊີ້ໃຫ້ເຫັນເຖິງໄຟລ໌ທີ່ບໍ່ມີຢູ່. ການເຊື່ອມຕໍ່ອ່ອນສາມາດຂະຫຍາຍໄປທົ່ວລະບົບໄຟລ໌.

ມັກໂພສນີ້ບໍ່? ກະລຸນາແບ່ງປັນໃຫ້ ໝູ່ ເພື່ອນຂອງທ່ານ:
OS ມື້ນີ້