ຄໍາຖາມເລື້ອຍໆ: ການເຊື່ອມໂຍງຍາກໃນ Linux ແມ່ນຫຍັງ?

ເນື້ອໃນ

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

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

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

ຖ້າທ່ານລຶບ 'my-hard-link' ຂອງຮາດດິດ, ໄຟລ໌ທີ່ຍັງເຫຼືອທີ່ຊີ້ໄປຫາພື້ນທີ່ດຽວກັນ (inode) ໃນຮາດໄດຈະຍັງຄົງມີຂໍ້ມູນທີ່ເກັບໄວ້ໃນຮາດໄດ.

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

ເພື່ອສ້າງການເຊື່ອມຕໍ່ສັນຍາລັກແມ່ນ Linux ໃຊ້ຄໍາສັ່ງ ln ດ້ວຍຕົວເລືອກ -s. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຄໍາສັ່ງ ln, ໄປຢ້ຽມຢາມຫນ້າ ln man ຫຼືພິມ man ln ໃນ terminal ຂອງທ່ານ. ຖ້າທ່ານມີຄໍາຖາມຫຼືຄໍາຕິຊົມໃດໆ, ກະລຸນາຂຽນຄໍາເຫັນ.

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

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

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

16 окт ປີ 2018.

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

ໃນລະບົບໄຟລ໌ Linux ຂອງທ່ານ, ການເຊື່ອມຕໍ່ແມ່ນການເຊື່ອມຕໍ່ລະຫວ່າງຊື່ໄຟລ໌ແລະຂໍ້ມູນຕົວຈິງໃນແຜ່ນ. ມີສອງປະເພດຕົ້ນຕໍຂອງການເຊື່ອມຕໍ່ທີ່ສາມາດສ້າງໄດ້: ການເຊື່ອມຕໍ່ "ແຂງ", ແລະ "ອ່ອນ" ຫຼືການເຊື່ອມຕໍ່ສັນຍາລັກ. … ລິ້ງສັນຍາລັກແມ່ນໄຟລ໌ພິເສດທີ່ຊີ້ໄປຫາໄຟລ໌ອື່ນ ຫຼືໄດເລກະທໍລີ, ເຊິ່ງເອີ້ນວ່າເປົ້າໝາຍ.

ແມ່ນແລ້ວ. ພວກເຂົາທັງສອງໃຊ້ເວລາຫວ່າງຍ້ອນວ່າພວກເຂົາທັງສອງຍັງມີລາຍການລາຍຊື່.

ທ່ານ​ສາ​ມາດ​ກວດ​ສອບ​ວ່າ​ໄຟລ​໌​ເປັນ symlink ກັບ [ -L file ] . ເຊັ່ນດຽວກັນ, ທ່ານສາມາດທົດສອບວ່າໄຟລ໌ເປັນໄຟລ໌ປົກກະຕິທີ່ມີ [ -f file ] , ແຕ່ໃນກໍລະນີນັ້ນ, ການກວດສອບແມ່ນເຮັດຫຼັງຈາກການແກ້ໄຂ symlinks. hardlinks ບໍ່ແມ່ນປະເພດຂອງໄຟລ໌, ພວກເຂົາແມ່ນພຽງແຕ່ຊື່ທີ່ແຕກຕ່າງກັນສໍາລັບໄຟລ໌ (ປະເພດໃດກໍ່ຕາມ).

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

ການເຊື່ອມໂຍງຍາກແລະການເຊື່ອມໂຍງສັນຍາລັກແມ່ນສອງວິທີທີ່ແຕກຕ່າງກັນເພື່ອອ້າງອີງໃສ່ໄຟລ໌ໃນຮາດໄດ. … ລິ້ງທີ່ຍາກແມ່ນເປັນສຳເນົາຄາບອນທີ່ຊິ້ງຂອງໄຟລ໌ທີ່ອ້າງອີງໂດຍກົງຫາ inode ຂອງໄຟລ໌. ໃນອີກດ້ານຫນຶ່ງການເຊື່ອມໂຍງສັນຍາລັກຫມາຍເຖິງໄຟລ໌ທີ່ຫມາຍເຖິງ inode, ທາງລັດ.

ໄດເລກະທໍລີຂອງໂຄງການຢູ່ໃນຕົວຈັດການໄຟລ໌, ມັນຈະປາກົດວ່າມີໄຟລ໌ພາຍໃນ /mnt/partition/. ໂຄງການ. ນອກເຫນືອຈາກ "ການເຊື່ອມໂຍງສັນຍາລັກ", ເຊິ່ງເອີ້ນກັນວ່າ "ການເຊື່ອມໂຍງອ່ອນ", ທ່ານສາມາດສ້າງ "ການເຊື່ອມຕໍ່ຍາກ". ການເຊື່ອມໂຍງທີ່ເປັນສັນຍາລັກຫຼືອ່ອນໆຊີ້ໃຫ້ເຫັນເສັ້ນທາງໃນລະບົບໄຟລ໌.

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

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