ນີ້ແມ່ນຄໍາສັ່ງ cpposix ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
cp — ສໍາເນົາໄຟລ໌
ສະຫຼຸບສັງລວມ
cp [-Pfip] source_file target_file
cp [-Pfip] source_file... ເປົ້າຫມາຍ
cp−R [−H|−L|−P] [-fip] source_file... ເປົ້າຫມາຍ
ລາຍລະອຽດ
ແບບຟອມສະຫຼຸບທໍາອິດແມ່ນສະແດງໂດຍຕົວປະຕິບັດການສອງອັນ, ທັງສອງອັນບໍ່ແມ່ນໄຟລ໌ທີ່ມີຢູ່
ປະເພດໄດເລກະທໍລີ. ໄດ້ cp ຜົນປະໂຫຍດຈະຕ້ອງຄັດລອກເນື້ອໃນຂອງ source_file (ຫຼື, ຖ້າ source_file
ເປັນໄຟລ໌ຂອງປະເພດຂອງການເຊື່ອມຕໍ່ສັນຍາລັກ, ເນື້ອໃນຂອງໄຟລ໌ອ້າງອີງໂດຍ source_file) ໄປ
ເສັ້ນທາງປາຍທາງທີ່ມີຊື່ໂດຍ target_file.
ແບບຟອມສະຫຼຸບທີສອງແມ່ນສະແດງໂດຍຕົວປະຕິບັດການສອງຕົວຫຼືຫຼາຍກວ່ານັ້ນ −ຣ ທາງເລືອກບໍ່ແມ່ນ
ລະບຸໄວ້ ແລະແບບຟອມສະຫຼຸບທຳອິດແມ່ນບໍ່ສາມາດນຳໃຊ້ໄດ້. ມັນຈະເປັນຄວາມຜິດພາດຖ້າມີ
source_file ແມ່ນໄຟລ໌ຂອງໄດເລກະທໍລີປະເພດ, ຖ້າ ເປົ້າຫມາຍ ບໍ່ມີ, ຫຼືຖ້າຫາກວ່າ ເປົ້າຫມາຍ ບໍ່
ຊື່ໄດເລກະທໍລີ. ໄດ້ cp ຜົນປະໂຫຍດຈະຕ້ອງຄັດລອກເນື້ອໃນຂອງແຕ່ລະຄົນ source_file (ຫຼື, ຖ້າ
source_file ເປັນໄຟລ໌ຂອງປະເພດຂອງການເຊື່ອມຕໍ່ສັນຍາລັກ, ເນື້ອໃນຂອງໄຟລ໌ອ້າງອີງໂດຍ
source_file) ກັບເສັ້ນທາງປາຍທາງທີ່ມີຊື່ໂດຍ concatenation ຂອງ ເປົ້າຫມາຍ, ດຽວ
ລັກສະນະຖ້າຫາກວ່າ ເປົ້າຫມາຍ ບໍ່ໄດ້ສິ້ນສຸດໃນ a , ແລະອົງປະກອບສຸດທ້າຍຂອງ
source_file.
ແບບຟອມສັງລວມທີສາມແມ່ນສະແດງໂດຍຕົວປະຕິບັດການສອງຕົວຫຼືຫຼາຍກວ່ານັ້ນ −ຣ ທາງເລືອກແມ່ນ
ລະບຸ. ໄດ້ cp utility ຈະຄັດລອກແຕ່ລະໄຟລ໌ໃນລໍາດັບຂອງໄຟລ໌ທີ່ຮາກຖານໃນແຕ່ລະ
source_file ໄປສູ່ເສັ້ນທາງປາຍທາງທີ່ມີຊື່ດັ່ງນີ້:
* ຖ້າ ເປົ້າຫມາຍ ມີຢູ່ແລະຕັ້ງຊື່ໄດເລກະທໍລີທີ່ມີຢູ່ແລ້ວ, ຊື່ທີ່ສອດຄ້ອງກັນ
ເສັ້ນທາງປາຍທາງສໍາລັບແຕ່ລະໄຟລ໌ໃນລໍາດັບຂອງໄຟລ໌ຈະຕ້ອງເປັນການເຊື່ອມໂຍງຂອງ
ເປົ້າຫມາຍ, ດຽວ ລັກສະນະຖ້າຫາກວ່າ ເປົ້າຫມາຍ ບໍ່ໄດ້ສິ້ນສຸດໃນ a , ແລະ
ຊື່ເສັ້ນທາງຂອງໄຟລ໌ທີ່ກ່ຽວຂ້ອງກັບໄດເລກະທໍລີທີ່ມີ source_file.
* ຖ້າ ເປົ້າຫມາຍ ບໍ່ມີແລະສອງ operands ຖືກລະບຸ, ຊື່ຂອງທີ່ສອດຄ້ອງກັນ
ເສັ້ນທາງປາຍທາງສໍາລັບ source_file ຈະເປັນ ເປົ້າຫມາຍ; ຊື່ຂອງທີ່ສອດຄ້ອງກັນ
ເສັ້ນທາງປາຍທາງສຳລັບໄຟລ໌ອື່ນໆທັງໝົດໃນການຈັດລຳດັບຂອງໄຟລ໌ຈະຕ້ອງເປັນການເຊື່ອມໂຍງ
of ເປົ້າຫມາຍ, ກ ລັກສະນະ, ແລະຊື່ເສັ້ນທາງຂອງໄຟລ໌ທີ່ກ່ຽວຂ້ອງກັບ source_file.
ມັນຈະເປັນຄວາມຜິດພາດຖ້າຫາກວ່າ ເປົ້າຫມາຍ ບໍ່ມີແລະຫຼາຍກ່ວາສອງຕົວປະຕິບັດການຖືກກໍານົດ, ຫຼື
if ເປົ້າຫມາຍ ມີຢູ່ ແລະບໍ່ໄດ້ຕັ້ງຊື່ໄດເລກະທໍລີ.
ໃນຄໍາອະທິບາຍຕໍ່ໄປນີ້, ຄໍາສັບ dest_file ຫມາຍເຖິງໄຟລ໌ທີ່ມີຊື່ໂດຍ
ເສັ້ນທາງປາຍທາງ. ໄລຍະ source_file ຫມາຍເຖິງໄຟລ໌ທີ່ກໍາລັງຖືກຄັດລອກ, ບໍ່ວ່າຈະເປັນ
ລະບຸເປັນຕົວປະຕິບັດການ ຫຼືໄຟລ໌ໃນການຈັດລໍາດັບຂອງໄຟລ໌ທີ່ຮາກຖານຢູ່ໃນ a source_file ປະຕິບັດການ. ຖ້າ
source_file ແມ່ນໄຟລ໌ຂອງການເຊື່ອມຕໍ່ສັນຍາລັກປະເພດ:
* ຖ້າຫາກວ່າ −ຣ ທາງເລືອກບໍ່ໄດ້ລະບຸໄວ້, cp ຈະດໍາເນີນການໂດຍອີງໃສ່ປະເພດແລະ
ເນື້ອໃນຂອງໄຟລ໌ອ້າງອີງໂດຍການເຊື່ອມຕໍ່ສັນຍາລັກ, ແລະບໍ່ແມ່ນໂດຍການເຊື່ອມຕໍ່ສັນຍາລັກ
ຕົວຂອງມັນເອງ, ເວັ້ນເສຍແຕ່ວ່າ -ປ ທາງເລືອກໄດ້ລະບຸໄວ້.
* ຖ້າຫາກວ່າ −ຣ ທາງເລືອກໄດ້ລະບຸໄວ້:
-- ຖ້າບໍ່ມີທາງເລືອກ − ຮ, −ລ, ແລະ -ປ ໄດ້ຖືກລະບຸ, ມັນບໍ່ໄດ້ຖືກລະບຸວ່າອັນໃດ
− ຮ, −ລ, ຫຼື -ປ ຈະຖືກໃຊ້ເປັນຄ່າເລີ່ມຕົ້ນ.
-- ຖ້າ − ຮ ທາງເລືອກໄດ້ລະບຸໄວ້, cp ຈະດໍາເນີນການໂດຍອີງໃສ່ປະເພດແລະ
ເນື້ອໃນຂອງໄຟລ໌ອ້າງອີງໂດຍການເຊື່ອມຕໍ່ສັນຍາລັກໃດໆທີ່ລະບຸເປັນ a source_file
ປະຕິບັດການ.
-- ຖ້າ −ລ ທາງເລືອກໄດ້ລະບຸໄວ້, cp ຈະດໍາເນີນການໂດຍອີງໃສ່ປະເພດແລະ
ເນື້ອໃນຂອງໄຟລ໌ອ້າງອີງໂດຍການເຊື່ອມຕໍ່ສັນຍາລັກໃດໆທີ່ລະບຸເປັນ a source_file
operand ຫຼືການເຊື່ອມຕໍ່ສັນຍາລັກໃດໆທີ່ພົບໃນລະຫວ່າງການຂ້າມຂອງລໍາດັບຂອງໄຟລ໌.
-- ຖ້າ -ປ ທາງເລືອກໄດ້ລະບຸໄວ້, cp ຈະຄັດລອກການເຊື່ອມຕໍ່ສັນຍາລັກໃດໆທີ່ລະບຸໄວ້ເປັນ a
source_file operand ແລະການເຊື່ອມຕໍ່ສັນຍາລັກໃດໆທີ່ພົບໃນລະຫວ່າງການຂ້າມໄຟລ໌
ລໍາດັບຊັ້ນ, ແລະຈະບໍ່ປະຕິບັດຕາມການເຊື່ອມຕໍ່ສັນຍາລັກໃດໆ.
ສໍາລັບແຕ່ລະຄົນ source_file, ຂັ້ນຕອນຕໍ່ໄປນີ້ຈະໄດ້ຮັບການປະຕິບັດ:
1 If source_file ອ້າງອິງໄຟລ໌ດຽວກັນກັບ dest_file, cp ອາດຈະຂຽນການວິນິດໄສ
ຂໍ້ຄວາມກັບຄວາມຜິດພາດມາດຕະຖານ; ມັນຈະບໍ່ເຮັດຫຍັງອີກຕໍ່ໄປ source_file ແລະຈະສືບຕໍ່
ກັບໄຟລ໌ທີ່ຍັງເຫຼືອໃດໆ.
2 If source_file ເປັນລະບົບປະເພດ, ຂັ້ນຕອນຕໍ່ໄປນີ້ຈະໄດ້ຮັບການປະຕິບັດ:
ກ. ຖ້າ −ຣ ທາງເລືອກບໍ່ໄດ້ລະບຸໄວ້, cp ຈະຂຽນຂໍ້ຄວາມວິນິດໄສໄປຫາ
ຄວາມຜິດພາດມາດຕະຖານ, ບໍ່ເຮັດຫຍັງເພີ່ມເຕີມ source_file, ແລະສືບຕໍ່ໄປຫາສິ່ງທີ່ຍັງເຫຼືອ
ໄຟລ໌.
ຂ. ຖ້າ source_file ບໍ່ໄດ້ລະບຸວ່າເປັນຕົວປະຕິບັດການ ແລະ source_file ເປັນຈຸດ ຫຼື ຈຸດ-ຈຸດ,
cp ຈະບໍ່ເຮັດຫຍັງເພີ່ມເຕີມ source_file ແລະສືບຕໍ່ໄປຫາໄຟລ໌ທີ່ຍັງເຫຼືອ.
ຄ. ຖ້າ dest_file ມີຢູ່ ແລະມັນເປັນປະເພດໄຟລ໌ທີ່ບໍ່ໄດ້ລະບຸໄວ້ໂດຍສ່ວນຕິດຕໍ່ລະບົບ
ປະລິມານຂອງ POSIX.1-2008, ພຶດຕິກໍາແມ່ນກໍານົດການປະຕິບັດ.
ງ. ຖ້າ dest_file ມີຢູ່ແລະມັນບໍ່ແມ່ນປະເພດໄດເລກະທໍລີ, cp ຈະຂຽນການວິນິດໄສ
ຂໍ້ຄວາມກັບຄວາມຜິດພາດມາດຕະຖານ, ບໍ່ເຮັດຫຍັງເພີ່ມເຕີມ source_file ຫຼືໄຟລ໌ໃດໆຂ້າງລຸ່ມນີ້
source_file ໃນການຈັດລໍາດັບຂອງໄຟລ໌, ແລະສືບຕໍ່ໄປຫາໄຟລ໌ທີ່ຍັງເຫຼືອໃດໆ.
e. ຖ້າໄດເລກະທໍລີ dest_file ບໍ່ມີ, ມັນຈະຖືກສ້າງຂື້ນດ້ວຍໄຟລ໌
ບິດການອະນຸຍາດຕັ້ງເປັນຄ່າດຽວກັນກັບຂອງ source_file, ດັດແກ້ໂດຍ
ຫນ້າກາກການສ້າງໄຟລ໌ຂອງຜູ້ໃຊ້ຖ້າຫາກວ່າ -ປ ທາງເລືອກບໍ່ໄດ້ຖືກລະບຸ, ແລະຫຼັງຈາກນັ້ນ
bitwise-includely OR'ed ກັບ S_IRWXU. ຖ້າ dest_file ບໍ່ສາມາດໄດ້ຮັບການສ້າງຕັ້ງຂື້ນ, cp ຈະ
ຂຽນຂໍ້ຄວາມວິນິດໄສກັບຄວາມຜິດພາດມາດຕະຖານ, ບໍ່ເຮັດຫຍັງເພີ່ມເຕີມ source_file,
ແລະສືບຕໍ່ໄປຫາໄຟລ໌ທີ່ຍັງເຫຼືອ. ມັນບໍ່ໄດ້ຖືກລະບຸຖ້າຫາກວ່າ cp ຄວາມພະຍາຍາມທີ່ຈະສໍາເນົາໄຟລ໌
ໃນການຈັດລໍາດັບຂອງໄຟລ໌ທີ່ຮາກຖານຢູ່ໃນ source_file.
f. ໄຟລ໌ໃນໄດເລກະທໍລີ source_file ຈະຖືກຄັດລອກໃສ່ໄດເລກະທໍລີ dest_file,
ໃຊ້ເວລາສີ່ຂັ້ນຕອນ (1 ຫາ 4) ທີ່ລະບຸໄວ້ໃນທີ່ນີ້ດ້ວຍໄຟລ໌ເປັນ source_files.
g. ຖ້າ dest_file ຖືກສ້າງຂື້ນ, ບິດການອະນຸຍາດໄຟລ໌ຂອງມັນຈະຖືກປ່ຽນແປງ (ຖ້າຈໍາເປັນ)
ຄືກັນກັບຂອງ source_file, ດັດແກ້ໂດຍຫນ້າກາກການສ້າງໄຟລ໌ຂອງ
ຜູ້ໃຊ້ຖ້າຫາກວ່າ -ປ ທາງເລືອກບໍ່ໄດ້ລະບຸໄວ້.
ຊ. ໄດ້ cp ຜົນປະໂຫຍດຈະບໍ່ເຮັດຫຍັງຫຼາຍກັບ source_file ແລະສືບຕໍ່ໄປຫາສ່ວນທີ່ເຫຼືອ
ໄຟລ໌.
3 If source_file ເປັນໄຟລ໌ປະເພດປົກກະຕິ, ຂັ້ນຕອນຕໍ່ໄປນີ້ຈະຕ້ອງຖືກປະຕິບັດ:
ກ. ພຶດຕິກໍາແມ່ນບໍ່ໄດ້ກໍານົດຖ້າຫາກວ່າ dest_file ມີຢູ່ແລະຖືກຂຽນໂດຍກ່ອນຫນ້ານີ້
ຂັ້ນຕອນ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຖ້າ dest_file ມີຢູ່, ຂັ້ນຕອນຕໍ່ໄປນີ້ຈະຕ້ອງຖືກປະຕິບັດ:
i. ຖ້າ -i ທາງເລືອກແມ່ນຢູ່ໃນຜົນກະທົບ, ໄດ້ cp utility ຈະຂຽນ prompt ກັບ
ຄວາມຜິດພາດມາດຕະຖານແລະອ່ານເສັ້ນຈາກວັດສະດຸປ້ອນມາດຕະຖານ. ຖ້າຄໍາຕອບແມ່ນ
ບໍ່ຢືນຢັນ, cp ຈະບໍ່ເຮັດຫຍັງເພີ່ມເຕີມ source_file ແລະສືບຕໍ່ໄປ
ໄຟລ໌ທີ່ຍັງເຫຼືອ.
ii. ຕົວອະທິບາຍໄຟລ໌ສໍາລັບ dest_file ຈະໄດ້ຮັບໂດຍການປະຕິບັດ
ທຽບເທົ່າກັບ ເປີດ() ຟັງຊັນທີ່ກໍານົດໃນປະລິມານຂອງ Interfaces ລະບົບຂອງ
POSIX.1-2008 ເອີ້ນວ່າການນໍາໃຊ້ dest_file ເປັນ ເສັ້ນທາງ ການໂຕ້ຖຽງ, ແລະ bitwise-
ລວມ OR ຂອງ O_WRONLY ແລະ O_TRUNC ເປັນ ຂອງລາກ ການໂຕ້ຖຽງ.
iii. ຖ້າຄວາມພະຍາຍາມທີ່ຈະໄດ້ຮັບຕົວອະທິບາຍໄຟລ໌ລົ້ມເຫລວແລະ -f ທາງເລືອກແມ່ນຢູ່ໃນ
ຜົນກະທົບ, cp ຈະພະຍາຍາມເອົາໄຟລ໌ອອກໂດຍການດໍາເນີນການທຽບເທົ່າ
ການ ຍົກເລີກການເຊື່ອມຕໍ່() ຟັງຊັນທີ່ກໍານົດໃນປະລິມານຂອງ Interfaces ລະບົບຂອງ
POSIX.1-2008 ເອີ້ນວ່າການນໍາໃຊ້ dest_file ເປັນ ເສັ້ນທາງ ການໂຕ້ຖຽງ. ຖ້າຫາກວ່າຄວາມພະຍາຍາມນີ້
ສໍາເລັດ, cp ຈະສືບຕໍ່ກັບຂັ້ນຕອນ 3b.
ຂ. ຖ້າ dest_file ບໍ່ມີ, ຕົວອະທິບາຍໄຟລ໌ຈະໄດ້ຮັບໂດຍການດໍາເນີນການ
ການກະທໍາທີ່ທຽບເທົ່າກັບ ເປີດ() ຟັງຊັນທີ່ກໍານົດຢູ່ໃນປະລິມານຂອງການໂຕ້ຕອບຂອງລະບົບ
ຂອງ POSIX.1-2008 ເອີ້ນວ່າການນໍາໃຊ້ dest_file ເປັນ ເສັ້ນທາງ ການໂຕ້ຖຽງ, ແລະ bitwise-
ລວມ OR ຂອງ O_WRONLY ແລະ O_CREAT ເປັນ ຂອງລາກ ການໂຕ້ຖຽງ. ການອະນຸຍາດໄຟລ໌
bits ຂອງ source_file ຈະເປັນ ຮູບແບບການ ການໂຕ້ຖຽງ.
ຄ. ຖ້າຄວາມພະຍາຍາມທີ່ຈະໄດ້ຮັບຕົວອະທິບາຍໄຟລ໌ລົ້ມເຫລວ, cp ຈະຂຽນການວິນິດໄສ
ຂໍ້ຄວາມກັບຄວາມຜິດພາດມາດຕະຖານ, ບໍ່ເຮັດຫຍັງເພີ່ມເຕີມ source_file, ແລະສືບຕໍ່ໄປ
ໄຟລ໌ທີ່ຍັງເຫຼືອ.
ງ. ເນື້ອໃນຂອງ source_file ຈະຖືກຂຽນໃສ່ຕົວອະທິບາຍໄຟລ໌. ຂຽນໃດໆ
ຄວາມຜິດພາດຈະເຮັດໃຫ້ເກີດ cp ເພື່ອຂຽນຂໍ້ຄວາມການວິນິດໄສກັບຄວາມຜິດພາດມາດຕະຖານແລະສືບຕໍ່
ຮອດຂັ້ນຕອນ 3e.
e. ຕົວອະທິບາຍໄຟລ໌ຈະຖືກປິດ.
f. ໄດ້ cp ຜົນປະໂຫຍດຈະບໍ່ເຮັດຫຍັງຫຼາຍກັບ source_file. ຖ້າມີຂໍ້ຜິດພາດໃນການຂຽນ
ໃນຂັ້ນຕອນ 3d, ມັນບໍ່ໄດ້ຖືກລະບຸຖ້າ cp ສືບຕໍ່ດ້ວຍໄຟລ໌ທີ່ຍັງເຫຼືອ. ຖ້າບໍ່ມີ
ຂຽນຄວາມຜິດພາດເກີດຂຶ້ນໃນຂັ້ນຕອນທີ 3d, cp ຈະສືບຕໍ່ໄປຫາໄຟລ໌ທີ່ຍັງເຫຼືອ.
4. ຖ້າບໍ່ດັ່ງນັ້ນ, the −ຣ ທາງເລືອກໄດ້ລະບຸໄວ້, ແລະຂັ້ນຕອນຕໍ່ໄປນີ້ຈະໄດ້ຮັບການປະຕິບັດ:
ກ. ທ dest_file ຈະຖືກສ້າງຂື້ນດ້ວຍປະເພດໄຟລ໌ດຽວກັນກັບ source_file.
ຂ. ຖ້າ source_file ເປັນໄຟລ໌ປະເພດ FIFO, ບິດການອະນຸຍາດໄຟລ໌ຈະຄືກັນ
ເປັນຂອງ source_file, ແກ້ໄຂໂດຍຫນ້າກາກການສ້າງໄຟລ໌ຂອງຜູ້ໃຊ້ຖ້າຫາກວ່າ -ປ
ທາງເລືອກບໍ່ໄດ້ລະບຸໄວ້. ຖ້າບໍ່ດັ່ງນັ້ນ, ການອະນຸຍາດ, ID ເຈົ້າຂອງ, ແລະ ID ກຸ່ມຂອງ
dest_file ແມ່ນການປະຕິບັດກໍານົດ.
ຖ້າການສ້າງນີ້ລົ້ມເຫລວດ້ວຍເຫດຜົນໃດກໍ່ຕາມ, cp ຈະຂຽນຂໍ້ຄວາມວິນິດໄສໄປຫາ
ຄວາມຜິດພາດມາດຕະຖານ, ບໍ່ເຮັດຫຍັງເພີ່ມເຕີມ source_file, ແລະສືບຕໍ່ໄປຫາສິ່ງທີ່ຍັງເຫຼືອ
ໄຟລ໌.
ຄ. ຖ້າ source_file ເປັນໄຟລ໌ຂອງການເຊື່ອມຕໍ່ສັນຍາລັກປະເພດ, ແລະທາງເລືອກໃນການຮຽກຮ້ອງໃຫ້ມີ
ການເຊື່ອມຕໍ່ສັນຍາລັກຕົວມັນເອງທີ່ຈະປະຕິບັດຕາມ, ຊື່ເສັ້ນທາງທີ່ມີຢູ່ໃນ dest_file ຈະ
ຄືກັນກັບຊື່ເສັ້ນທາງທີ່ມີຢູ່ໃນ source_file.
ຖ້າສິ່ງນີ້ລົ້ມເຫລວດ້ວຍເຫດຜົນໃດກໍ່ຕາມ, cp ຈະຂຽນຂໍ້ຄວາມວິນິດໄສໃຫ້ເປັນມາດຕະຖານ
ຜິດພາດ, ບໍ່ເຮັດຫຍັງເພີ່ມເຕີມ source_file, ແລະສືບຕໍ່ໄປຫາໄຟລ໌ທີ່ຍັງເຫຼືອໃດໆ.
ຖ້າການປະຕິບັດສະຫນອງກົນໄກການຄວບຄຸມການເຂົ້າເຖິງເພີ່ມເຕີມຫຼືທາງເລືອກ (ເບິ່ງ
ປະລິມານນິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ 4.4, ເອກະສານ ການເຂົ້າເຖິງ Permissions), ຂອງພວກເຂົາ
ຜົນກະທົບຕໍ່ສໍາເນົາຂອງໄຟລ໌ແມ່ນການປະຕິບັດກໍານົດ.
OPTIONS
ໄດ້ cp ຜົນປະໂຫຍດຈະຕ້ອງສອດຄ່ອງກັບປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ 12.2,
ຜົນປະໂຫຍດ syntax ຄູ່ມືແນະນໍາ.
ທາງເລືອກຕໍ່ໄປນີ້ຈະໄດ້ຮັບການສະຫນັບສະຫນູນ:
-f ຖ້າຕົວອະທິບາຍໄຟລ໌ສໍາລັບໄຟລ໌ປາຍທາງບໍ່ສາມາດໄດ້ຮັບ, ດັ່ງທີ່ອະທິບາຍໄວ້ໃນ
ຂັ້ນຕອນທີ 3.a.ii., ພະຍາຍາມທີ່ຈະຖອນການເຊື່ອມຕໍ່ໄຟລ໌ຈຸດຫມາຍປາຍທາງແລະດໍາເນີນການ.
− ຮ ດໍາເນີນການໂດຍອີງໃສ່ປະເພດແລະເນື້ອໃນຂອງໄຟລ໌ອ້າງອີງໂດຍໃດໆ
ການເຊື່ອມຕໍ່ສັນຍາລັກທີ່ລະບຸເປັນ a source_file ປະຕິບັດການ.
-i ຂຽນການເຕືອນເຖິງຄວາມຜິດພາດມາດຕະຖານກ່ອນທີ່ຈະຄັດລອກໄປຫາໄດເລກະທໍລີທີ່ບໍ່ມີຢູ່ແລ້ວ
ໄຟລ໌ປາຍທາງ. ຖ້າຫາກວ່າການຕອບສະຫນອງຈາກມາດຕະຖານແມ່ນການຢືນຢັນ, ໄດ້
ສຳເນົາຈະຖືກພະຍາຍາມ; ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຈະບໍ່.
−ລ ດໍາເນີນການໂດຍອີງໃສ່ປະເພດແລະເນື້ອໃນຂອງໄຟລ໌ອ້າງອີງໂດຍໃດໆ
ການເຊື່ອມຕໍ່ສັນຍາລັກທີ່ລະບຸເປັນ a source_file operand ຫຼືການເຊື່ອມຕໍ່ສັນຍາລັກໃດໆ
ພົບໃນລະຫວ່າງການຂ້າມລຳດັບຂອງໄຟລ໌.
-ປ ດໍາເນີນການກ່ຽວກັບການເຊື່ອມຕໍ່ສັນຍາລັກໃດໆທີ່ລະບຸເປັນ a source_file operand ຫຼືໃດໆ
ການເຊື່ອມຕໍ່ສັນຍາລັກທີ່ພົບໃນລະຫວ່າງການຂ້າມຂອງລໍາດັບຊັ້ນຂອງໄຟລ໌.
-ປ ຊໍ້າກັນລັກສະນະຕໍ່ໄປນີ້ຂອງແຕ່ລະໄຟລ໌ແຫຼ່ງທີ່ສອດຄ້ອງກັນ
ໄຟລ໌ປາຍທາງ:
1. ເວລາຂອງການດັດແກ້ຂໍ້ມູນຫຼ້າສຸດແລະເວລາຂອງການເຂົ້າເຖິງຫຼ້າສຸດ. ຖ້ານີ້
ການຊໍ້າຊ້ອນລົ້ມເຫລວດ້ວຍເຫດຜົນໃດກໍ່ຕາມ, cp ຈະຂຽນຂໍ້ຄວາມວິນິດໄສໄປຫາ
ຄວາມຜິດພາດມາດຕະຖານ.
2. ID ຜູ້ໃຊ້ ແລະ ID ກຸ່ມ. ຖ້າການຊໍ້າຊ້ອນນີ້ລົ້ມເຫລວດ້ວຍເຫດຜົນໃດກໍ່ຕາມ, ມັນແມ່ນ
ບໍ່ໄດ້ລະບຸວ່າ cp ຂຽນຂໍ້ຄວາມການວິນິໄສກັບຄວາມຜິດພາດມາດຕະຖານ.
3. ການອະນຸຍາດໄຟລ໌ bits ແລະ S_ISUID ແລະ S_ISGID bits. ອື່ນໆ,
ການປະຕິບັດທີ່ຖືກກໍານົດ, bits ອາດຈະຖືກຊ້ໍາກັນເຊັ່ນກັນ. ຖ້າຊໍ້າກັນນີ້
ລົ້ມເຫລວດ້ວຍເຫດຜົນໃດກໍ່ຕາມ, cp ຈະຂຽນຂໍ້ຄວາມວິນິດໄສກັບຄວາມຜິດພາດມາດຕະຖານ.
ຖ້າ ID ຜູ້ໃຊ້ຫຼື ID ກຸ່ມບໍ່ສາມາດຖືກຊ້ໍາກັນ, ໄຟລ໌ອະນຸຍາດໃຫ້ບິດ
S_ISUID ແລະ S_ISGID ຈະຖືກລຶບລ້າງ. ຖ້າມີບິດເຫຼົ່ານີ້ຢູ່ໃນແຫຼ່ງ
ໄຟລ໌ແຕ່ບໍ່ໄດ້ຊ້ໍາກັນໃນໄຟລ໌ປາຍທາງ, ມັນບໍ່ໄດ້ຖືກລະບຸວ່າ
cp ຂຽນຂໍ້ຄວາມການວິນິໄສກັບຄວາມຜິດພາດມາດຕະຖານ.
ລຳດັບທີ່ລັກສະນະກ່ອນໜ້າແມ່ນຊໍ້າກັນແມ່ນບໍ່ຖືກລະບຸ.
ໄດ້ dest_file ຈະບໍ່ຖືກລຶບຖ້າລັກສະນະເຫຼົ່ານີ້ບໍ່ສາມາດຖືກຮັກສາໄວ້.
−ຣ ສຳເນົາການຈັດລຳດັບຂອງໄຟລ໌.
ລະບຸຫຼາຍກວ່າໜຶ່ງໃນທາງເລືອກທີ່ຜູກຂາດເຊິ່ງກັນແລະກັນ − ຮ, −ລ, ແລະ -ປ ຈະບໍ່ເປັນ
ຖືວ່າເປັນຄວາມຜິດພາດ. ທາງເລືອກສຸດທ້າຍທີ່ລະບຸໄວ້ຈະກໍານົດພຶດຕິກໍາຂອງ
utility
ດໍາເນີນງານ
ໂຕປະຕິບັດການຕໍ່ໄປນີ້ຈະໄດ້ຮັບການສະຫນັບສະຫນູນ:
source_file
ຊື່ເສັ້ນທາງຂອງໄຟລ໌ທີ່ຈະສຳເນົາ. ຖ້າ ກ source_file operand ແມ່ນ '−', ມັນຈະ
ອ້າງເຖິງໄຟລ໌ທີ່ມີຊື່ -; ການປະຕິບັດຈະບໍ່ຖືວ່າມັນເປັນມາດຕະຖານທີ່ມີຄວາມຫມາຍ
input
target_file
ຊື່ເສັ້ນທາງຂອງໄຟລ໌ທີ່ມີຢູ່ແລ້ວ ຫຼືບໍ່ມີຢູ່, ໃຊ້ສໍາລັບຜົນຜະລິດເມື່ອມີອັນດຽວ
ໄຟລ໌ຖືກຄັດລອກ. ຖ້າ ກ target_file operand ແມ່ນ '−', ມັນຈະຫມາຍເຖິງໄຟລ໌ທີ່ມີຊື່
-; ການຈັດຕັ້ງປະຕິບັດຈະຕ້ອງບໍ່ຖືວ່າມັນເປັນຄວາມໝາຍຂອງຜົນຜະລິດມາດຕະຖານ.
ເປົ້າຫມາຍ ຊື່ເສັ້ນທາງຂອງໄດເລກະທໍລີທີ່ຈະບັນຈຸໄຟລ໌ທີ່ສຳເນົາໄວ້.
STDIN
ການປ້ອນຂໍ້ມູນມາດຕະຖານຈະຖືກໃຊ້ເພື່ອອ່ານແຖວປ້ອນຂໍ້ມູນເພື່ອຕອບສະໜອງແຕ່ລະການເຕືອນ
ລະບຸໄວ້ໃນພາກ STDERR. ຖ້າບໍ່ດັ່ງນັ້ນ, ວັດສະດຸປ້ອນມາດຕະຖານຈະບໍ່ຖືກໃຊ້.
ປັດໄຈນໍາເຂົ້າ ເອກະສານ
ໄຟລ໌ທີ່ປ້ອນຂໍ້ມູນທີ່ລະບຸໄວ້ເປັນ operands ອາດຈະເປັນປະເພດໄຟລ໌ໃດຫນຶ່ງ.
ENVIRONMENT ຄວາມຮັບຜິດຊອບ
ຕົວແປສະພາບແວດລ້ອມຕໍ່ໄປນີ້ຈະສົ່ງຜົນກະທົບຕໍ່ການປະຕິບັດ cp:
ພາສາ ໃຫ້ຄ່າເລີ່ມຕົ້ນສໍາລັບຕົວແປສາກົນທີ່ບໍ່ໄດ້ຕັ້ງ ຫຼື
null. (ເບິ່ງປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ 8.2,
Internationalization Variables ເພື່ອຄວາມກ້າວໜ້າຂອງການຫັນເປັນສາກົນ
ຕົວແປທີ່ໃຊ້ເພື່ອກໍານົດຄ່າຂອງປະເພດທ້ອງຖິ່ນ.)
LC_ALL ຖ້າຕັ້ງເປັນຄ່າສະຕຣິງທີ່ບໍ່ຫວ່າງເປົ່າ, ລົບລ້າງຄ່າຂອງອັນອື່ນທັງໝົດ
ຕົວແປສາກົນ.
LC_COLLATE
ກໍານົດສະຖານທີ່ສໍາລັບພຶດຕິກໍາຂອງໄລຍະ, ຫ້ອງຮຽນທຽບເທົ່າ, ແລະ multi-
ອົງປະກອບການລວບລວມຕົວລະຄອນທີ່ໃຊ້ໃນການສະແດງອອກປົກກະຕິຂະຫຍາຍທີ່ກໍານົດສໍາລັບ
ໄດ້ yesexpr locale ຄໍາສໍາຄັນໃນ LC_MESSAGES ຫມວດຫມູ່
LC_CTYPE ກໍານົດທ້ອງຖິ່ນສໍາລັບການຕີຄວາມລໍາດັບຂອງ bytes ຂອງຂໍ້ມູນຂໍ້ຄວາມ
ເປັນຕົວອັກສອນ (ຕົວຢ່າງ, single-byte ກົງກັນຂ້າມກັບ multi-byte ຕົວອັກສອນໃນ
arguments ແລະ input files) ແລະພຶດຕິກໍາຂອງຫ້ອງຮຽນລັກສະນະທີ່ໃຊ້ໃນ
ຂະຫຍາຍການສະແດງອອກປົກກະຕິທີ່ກໍານົດສໍາລັບ yesexpr locale ຄໍາສໍາຄັນໃນ
LC_MESSAGES ຫມວດຫມູ່
LC_MESSAGES
ກຳນົດສະຖານທີ່ທີ່ໃຊ້ເພື່ອປະມວນຜົນການຕອບໂຕ້ທີ່ຢືນຢັນ, ແລະສະຖານທີ່ທີ່ໃຊ້
ຜົນກະທົບຕໍ່ຮູບແບບແລະເນື້ອໃນຂອງຂໍ້ຄວາມວິນິດໄສແລະການເຕືອນທີ່ຂຽນເຖິງ
ຄວາມຜິດພາດມາດຕະຖານ.
NLSPATH ກໍານົດສະຖານທີ່ຂອງລາຍການຂໍ້ຄວາມສໍາລັບການປະມວນຜົນຂອງ LC_MESSAGES.
ASYNCHRONOUS ເຫດການ
ເລີ່ມຕົ້ນ.
STDOUT
ບໍ່ໄດ້ນໍາໃຊ້.
ສະດຸດ
ການເຕືອນຈະຖືກຂຽນໃສ່ຄວາມຜິດພາດມາດຕະຖານພາຍໃຕ້ເງື່ອນໄຂທີ່ລະບຸໄວ້ໃນ
ພາກສ່ວນລາຍລະອຽດ. ການເຕືອນຈະມີຊື່ເສັ້ນທາງປາຍທາງ, ແຕ່ຮູບແບບຂອງມັນແມ່ນ
ຖ້າບໍ່ດັ່ງນັ້ນບໍ່ໄດ້ລະບຸ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຄວາມຜິດພາດມາດຕະຖານຈະຖືກນໍາໃຊ້ພຽງແຕ່ສໍາລັບການວິນິດໄສ
ຂໍ້ຄວາມ.
OUTPUT ເອກະສານ
ໄຟລ໌ຜົນຜະລິດອາດຈະເປັນປະເພດໃດກໍ່ຕາມ.
ອະທິບາຍ ລາຍລະອຽດ
ບໍ່ມີ.
ອອກ STATUS
ຄ່າທາງອອກຕໍ່ໄປນີ້ຈະຖືກສົ່ງຄືນ:
0 ໄຟລ໌ທັງໝົດໄດ້ຖືກສຳເນົາສຳເລັດແລ້ວ.
>0 ເກີດຄວາມຜິດພາດຂຶ້ນ.
ຂໍ້ສັງເກດ OF ຄວາມຜິດພາດ
If cp ຖືກຢຸດກ່ອນໄວອັນຄວນໂດຍສັນຍານຫຼືຄວາມຜິດພາດ, ໄຟລ໌ຫຼືລໍາດັບຊັ້ນຂອງໄຟລ໌ອາດຈະເປັນ
ສຳເນົາບາງສ່ວນເທົ່ານັ້ນ ແລະໄຟລ໌ ແລະໄດເລກະທໍລີອາດມີການອະນຸຍາດ ຫຼືການເຂົ້າເຖິງບໍ່ຖືກຕ້ອງ
ແລະເວລາການດັດແກ້.
ໄດ້ ດັ່ງຕໍ່ໄປນີ້ ພາກສ່ວນ ມີ ຂໍ້ມູນ.
ຄໍາຮ້ອງສະຫມັກ ການນໍາໃຊ້
set-user-ID ແລະ set-group-ID bits ຖືກລຶບລ້າງຢ່າງຈະແຈ້ງເມື່ອໄຟລ໌ຖືກສ້າງ. ນີ້
ແມ່ນເພື່ອປ້ອງກັນບໍ່ໃຫ້ຜູ້ໃຊ້ສ້າງໂປຼແກຼມທີ່ມີ set-user-ID ຫຼື set-group-ID ໃຫ້ພວກເຂົາ
ເມື່ອສຳເນົາໄຟລ໌ ຫຼືເພື່ອເຮັດໃຫ້ໄຟລ໌ set-user-ID ຫຼື set-group-ID ເຂົ້າເຖິງກຸ່ມໃໝ່ໄດ້
ຂອງຜູ້ໃຊ້. ຕົວຢ່າງ, ຖ້າໄຟລ໌ຖືກຕັ້ງ ID-ຜູ້ໃຊ້ ແລະສຳເນົານັ້ນມີ ID ກຸ່ມອື່ນ
ກ ່ ວາ ແຫຼ່ງ ຂໍ້ ມູນ , ກຸ່ມ ຜູ້ ຊົມ ໃຊ້ ໃຫມ່ ໄດ້ ປະ ຕິ ບັດ ການ ອະ ນຸ ຍາດ ກັບ ໂຄງ ການ set-user-ID ກ ່ ວາ
ໄດ້ເຮັດໃນເມື່ອກ່ອນ. ໂດຍສະເພາະ, ນີ້ແມ່ນບັນຫາສໍາລັບ superusers ຄັດລອກຕົ້ນໄມ້ຂອງຜູ້ໃຊ້.
ຕົວຢ່າງ
ບໍ່ມີ.
ສະຖານທີ່
ໄດ້ -i ທາງເລືອກມີຢູ່ໃນລະບົບ BSD, ໃຫ້ແອັບພລິເຄຊັນແລະຜູ້ໃຊ້ວິທີທີ່ຈະຫຼີກເວັ້ນ
ບັງເອີນເອົາໄຟລ໌ອອກເມື່ອສຳເນົາ. ເຖິງແມ່ນວ່າສະບັບ 4.3 BSD ບໍ່ໄດ້ກະຕຸ້ນຖ້າຫາກວ່າ
ການປ້ອນຂໍ້ມູນມາດຕະຖານບໍ່ແມ່ນເຄື່ອງໝາຍປາຍທາງ, ຜູ້ພັດທະນາມາດຕະຖານໄດ້ຕັດສິນໃຈນຳໃຊ້ນັ້ນ -i ເປັນ
ການຮ້ອງຂໍໃຫ້ມີການໂຕ້ຕອບ, ດັ່ງນັ້ນເມື່ອເສັ້ນທາງປາຍທາງມີ, ຜົນປະໂຫຍດໃຊ້ເວລາ
ຄໍາແນະນໍາຈາກອັນໃດກໍໄດ້ຕອບສະໜອງຕໍ່ການປ້ອນຂໍ້ມູນມາດຕະຖານ.
ຮູບແບບທີ່ແນ່ນອນຂອງການເຕືອນແບບໂຕ້ຕອບແມ່ນບໍ່ຖືກລະບຸ. ພຽງແຕ່ລັກສະນະທົ່ວໄປຂອງ
ເນື້ອໃນຂອງການກະຕຸ້ນເຕືອນແມ່ນໄດ້ລະບຸໄວ້ເພາະວ່າການປະຕິບັດອາດຈະຕ້ອງການຄໍາອະທິບາຍຫຼາຍ
prompts ຫຼາຍກ່ວາການນໍາໃຊ້ໃນການປະຕິບັດປະຫວັດສາດ. ເພາະສະນັ້ນ, ຄໍາຮ້ອງສະຫມັກການນໍາໃຊ້
-i ທາງເລືອກແມ່ນອີງໃສ່ລະບົບເພື່ອສະຫນອງການໂຕ້ຕອບທີ່ເຫມາະສົມທີ່ສຸດໂດຍກົງກັບຜູ້ໃຊ້,
ໂດຍອີງໃສ່ພຶດຕິກໍາທີ່ລະບຸໄວ້.
ໄດ້ -ປ ທາງເລືອກແມ່ນການປະຕິບັດປະຫວັດສາດໃນລະບົບ BSD, ຊ້ໍາກັນເວລາຂອງຂໍ້ມູນສຸດທ້າຍ
ການປ່ຽນແປງແລະເວລາຂອງການເຂົ້າເຖິງຄັ້ງສຸດທ້າຍ. ປະລິມານຂອງ POSIX.1-2008 ນີ້ຂະຫຍາຍມັນເພື່ອຮັກສາ
ID ຜູ້ໃຊ້ ແລະກຸ່ມ, ເຊັ່ນດຽວກັນກັບການອະນຸຍາດໄຟລ໌. ຄວາມຕ້ອງການນີ້ຈະແຈ້ງ
ບັນຫາໃນທີ່ໄດເລກະທໍລີແມ່ນເກືອບແນ່ນອນດັດແກ້ຫຼັງຈາກຖືກຄັດລອກ. ນີ້
ປະລິມານຂອງ POSIX.1-2008 ຮຽກຮ້ອງໃຫ້ເກັບຮັກສາເວລາການດັດແກ້. ຖະແຫຼງການ
ວ່າຄໍາສັ່ງທີ່ມີລັກສະນະຊ້ໍາກັນແມ່ນບໍ່ຖືກກໍານົດແມ່ນອະນຸຍາດໃຫ້
ການປະຕິບັດເພື່ອໃຫ້ຈໍານວນຄວາມປອດໄພສູງສຸດສໍາລັບຜູ້ໃຊ້. ການຈັດຕັ້ງປະຕິບັດ
ຄວນຄໍານຶງເຖິງບັນຫາຄວາມປອດໄພທີ່ຊັດເຈນທີ່ກ່ຽວຂ້ອງກັບການກໍານົດເຈົ້າຂອງ, ກຸ່ມ,
ແລະຮູບແບບໃນຄໍາສັ່ງທີ່ບໍ່ຖືກຕ້ອງຫຼືການສ້າງໄຟລ໌ທີ່ມີເຈົ້າຂອງ, ກຸ່ມ, ຫຼືຮູບແບບທີ່ແຕກຕ່າງຈາກ
ມູນຄ່າສຸດທ້າຍ.
ມັນບໍ່ໄດ້ຖືກລະບຸວ່າ cp ຂຽນຂໍ້ຄວາມວິນິດໄສເມື່ອ ID ຜູ້ໃຊ້ ແລະກຸ່ມບໍ່ສາມາດ
ຖືກກໍານົດເນື່ອງຈາກການປະຕິບັດທີ່ກວ້າງຂວາງຂອງຜູ້ໃຊ້ທີ່ໃຊ້ -ປ ເພື່ອຊ້ໍາບາງສ່ວນຂອງ
ຄຸນລັກສະນະຂອງໄຟລ໌, indifferent ກັບຊ້ໍາກັນຂອງຄົນອື່ນ. ການປະຕິບັດປະຫວັດສາດ
ພຽງແຕ່ຂຽນຂໍ້ຄວາມວິນິດໄສກ່ຽວກັບຄວາມຜິດພາດນອກຈາກ [EPERM].
ຮຸ່ນກ່ອນຫນ້າຂອງມາດຕະຖານນີ້ປະກອບມີການສະຫນັບສະຫນູນສໍາລັບ -r ທາງເລືອກທີ່ຈະສໍາເນົາໄຟລ໌
ລຳດັບ. ໄດ້ -r ທາງເລືອກແມ່ນການປະຕິບັດປະຫວັດສາດກ່ຽວກັບລະບົບ BSD ແລະ BSD ທີ່ມາຈາກ. ນີ້
ທາງເລືອກບໍ່ໄດ້ລະບຸໄວ້ໂດຍ POSIX.1-2008 ອີກຕໍ່ໄປ ແຕ່ອາດມີຢູ່ໃນບາງການປະຕິບັດ.
ໄດ້ −ຣ ທາງເລືອກໄດ້ຖືກເພີ່ມເປັນຄໍາສັບຄ້າຍຄືກັນກັບ -r ທາງເລືອກ, ເລືອກສໍາລັບຄວາມສອດຄ່ອງກັບ
ທາງເລືອກອື່ນທັງຫມົດໃນປະລິມານ POSIX.1-2008 ນີ້ທີ່ເຮັດໃຫ້ການສືບເຊື້ອສາຍ recursive.
ຄວາມແຕກຕ່າງລະຫວ່າງ −ຣ ແລະເອົາອອກ -r ທາງເລືອກແມ່ນຢູ່ໃນການປິ່ນປົວໂດຍ cp ຂອງໄຟລ໌
ປະເພດນອກເໜືອໄປຈາກປົກກະຕິ ແລະໄດເລກະທໍລີ. ມັນແມ່ນການຈັດຕັ້ງປະຕິບັດ - ກໍານົດວິທີການ - ທາງເລືອກ
ໄດ້ຮັບການປິ່ນປົວໄຟລ໌ພິເສດເພື່ອອະນຸຍາດໃຫ້ທັງສອງປະຕິບັດປະຫວັດສາດແລະຜູ້ທີ່ເລືອກທີ່ຈະ
ສະຫນັບສະຫນູນ -r ມີຄວາມສາມາດດຽວກັນກັບ −ຣ ກໍານົດໂດຍປະລິມານຂອງ POSIX.1-2008 ນີ້. ໄດ້
ຕົ້ນສະບັບ -r ທຸງ, ສໍາລັບເຫດຜົນປະຫວັດສາດ, ບໍ່ໄດ້ຈັດການໄຟລ໌ພິເສດໃດໆທີ່ແຕກຕ່າງຈາກ
ໄຟລ໌ປົກກະຕິ, ແຕ່ສະເຫມີອ່ານໄຟລ໌ແລະຄັດລອກເນື້ອຫາຂອງມັນ. ນີ້ມີບັນຫາທີ່ຈະແຈ້ງ
ໃນທີ່ປະທັບຂອງປະເພດເອກະສານພິເສດ; ຕົວຢ່າງ, ອຸປະກອນຕົວອັກສອນ, FIFOs, ແລະຊັອກເກັດ.
ເມື່ອຄວາມລົ້ມເຫລວເກີດຂື້ນໃນລະຫວ່າງການຄັດລອກລໍາດັບຂອງໄຟລ໌, cp ຈໍາເປັນຕ້ອງໄດ້ພະຍາຍາມ
ຄັດລອກໄຟລ໌ທີ່ຢູ່ໃນລະດັບດຽວກັນໃນລໍາດັບຊັ້ນຫຼືຂ້າງເທິງໄຟລ໌ທີ່ລົ້ມເຫລວ
ເກີດຂຶ້ນ. ມັນບໍ່ໄດ້ຖືກລະບຸຖ້າຫາກວ່າ cp ຈະພະຍາຍາມຄັດລອກໄຟລ໌ຂ້າງລຸ່ມນີ້ໄຟລ໌ທີ່
ຄວາມລົ້ມເຫຼວເກີດຂຶ້ນ (ເຊິ່ງບໍ່ສາມາດປະສົບຜົນສໍາເລັດໃນກໍລະນີໃດກໍ່ຕາມ).
ການອະນຸຍາດ, ເຈົ້າຂອງ, ແລະກຸ່ມຂອງປະເພດໄຟລ໌ພິເສດທີ່ຖືກສ້າງຂື້ນໄດ້ຖືກປະໄວ້ໂດຍເຈດຕະນາ
ເປັນການປະຕິບັດກໍານົດ. ນີ້ແມ່ນເພື່ອໃຫ້ລະບົບສາມາດຕອບສະຫນອງຄວາມຕ້ອງການພິເສດ (ສໍາລັບ
ຕົວຢ່າງ, ໃຫ້ຜູ້ໃຊ້ສ້າງອຸປະກອນພິເສດລັກສະນະ, ແຕ່ຮຽກຮ້ອງໃຫ້ພວກເຂົາເປັນ
ເປັນເຈົ້າຂອງໂດຍກຸ່ມສະເພາະໃດຫນຶ່ງ). ໂດຍທົ່ວໄປ, ມັນແມ່ນແນະນໍາຢ່າງແຂງແຮງວ່າການອະນຸຍາດ,
ເຈົ້າຂອງ, ແລະກຸ່ມແມ່ນຄືກັນກັບວ່າຜູ້ໃຊ້ໄດ້ດໍາເນີນການປະຫວັດສາດ mknod, ln, ຫຼືອື່ນໆ
ປະໂຫຍດໃນການສ້າງໄຟລ໌. ມັນເປັນໄປໄດ້ວ່າສິດທິພິເສດເພີ່ມເຕີມແມ່ນຕ້ອງການ
ສ້າງບລັອກ, ລັກສະນະ, ຫຼືປະເພດໄຟລ໌ພິເສດທີ່ກໍານົດໂດຍການປະຕິບັດອື່ນໆ.
ນອກຈາກນັ້ນ, ການ -ປ ທາງເລືອກຢ່າງຊັດເຈນຮຽກຮ້ອງໃຫ້ທຸກ set-user-ID ແລະ set-group-ID
ການອະນຸຍາດຈະຖືກຍົກເລີກຖ້າຫາກວ່າໃດໆຂອງເຈົ້າຂອງຫຼື ID ກຸ່ມບໍ່ສາມາດໄດ້ຮັບການຕັ້ງຄ່າ. ນີ້ແມ່ນເພື່ອຮັກສາ
ຜູ້ໃຊ້ຈາກການບໍ່ຕັ້ງໃຈໃຫ້ສິດທິພິເສດໃນເວລາທີ່ການສໍາເນົາໂຄງການ.
ໃນເວລາທີ່ການສ້າງໄຟລ໌ປົກກະຕິ, ສະບັບປະຫວັດສາດຂອງ cp ໃຊ້ຮູບແບບຂອງໄຟລ໌ຕົ້ນສະບັບເປັນ
ດັດແກ້ໂດຍຫນ້າກາກການສ້າງຮູບແບບໄຟລ໌. ທາງເລືອກອື່ນຈະໄດ້ຮັບການນໍາໃຊ້ຮູບແບບຂອງ
ໄຟລ໌ແຫຼ່ງທີ່ບໍ່ໄດ້ຮັບການແກ້ໄຂໂດຍຫນ້າກາກການສ້າງຫຼືເພື່ອໃຊ້ໂຫມດດຽວກັນຕາມທີ່ໄດ້ມອບໃຫ້
ກັບໄຟລ໌ໃຫມ່ທີ່ສ້າງໂດຍຜູ້ໃຊ້ (ບວກກັບ bits ການປະຕິບັດຂອງໄຟລ໌ແຫຼ່ງ) ແລະຫຼັງຈາກນັ້ນ
ແກ້ໄຂມັນໂດຍຫນ້າກາກການສ້າງຮູບແບບໄຟລ໌. ໃນກໍລະນີທີ່ບໍ່ມີເຫດຜົນທີ່ເຂັ້ມແຂງທີ່ຈະປ່ຽນແປງ
ການປະຕິບັດປະຫວັດສາດ, ມັນແມ່ນຢູ່ໃນສ່ວນໃຫຍ່ເກັບຮັກສາໄວ້.
ເມື່ອສ້າງໄດເລກະທໍລີ, ສະບັບປະຫວັດສາດຂອງ cp ໃຊ້ຮູບແບບຂອງໄດເລກະທໍລີແຫຼ່ງ,
ບວກກັບອ່ານ, ຂຽນ, ແລະຄົ້ນຫາ bits ສໍາລັບເຈົ້າຂອງ, ຕາມການດັດແກ້ໂດຍການສ້າງຮູບແບບໄຟລ໌
ຫນ້າກາກ. ນີ້ແມ່ນເຮັດດັ່ງນັ້ນ cp ສາມາດຄັດລອກຕົ້ນໄມ້ທີ່ຜູ້ໃຊ້ໄດ້ຮັບການອະນຸຍາດອ່ານ, ແຕ່
ເຈົ້າຂອງບໍ່ໄດ້. ຜົນຂ້າງຄຽງແມ່ນວ່າຖ້າຫນ້າກາກການສ້າງໄຟລ໌ປະຕິເສດເຈົ້າຂອງ
ການອະນຸຍາດ, cp ລົ້ມເຫລວ. ນອກຈາກນີ້, ເມື່ອສໍາເນົາສໍາເລັດ, ສະບັບປະຫວັດສາດຂອງ cp ຕັ້ງ
ການອະນຸຍາດຢູ່ໃນໄດເລກະທໍລີທີ່ສ້າງຂື້ນເປັນແບບດຽວກັນກັບໄດເລກະທໍລີແຫຼ່ງ, ບໍ່ໄດ້ດັດແກ້ໂດຍ
ຫນ້າກາກການສ້າງໄຟລ໌.
ພຶດຕິກໍານີ້ໄດ້ຖືກດັດແປງດັ່ງນັ້ນ cp ແມ່ນສະເຫມີສາມາດສ້າງເນື້ອໃນຂອງ
ໄດເລກະທໍລີ, ໂດຍບໍ່ຄໍານຶງເຖິງຫນ້າກາກການສ້າງໄຟລ໌. ຫຼັງຈາກສໍາເນົາສໍາເລັດ, ອະນຸຍາດ
ຖືກກໍານົດໃຫ້ຄືກັນກັບໄດເລກະທໍລີແຫຼ່ງ, ຕາມການດັດແກ້ໂດຍຫນ້າກາກການສ້າງໄຟລ໌.
ການປ່ຽນແປງອັນສຸດທ້າຍນີ້ຈາກພຶດຕິກໍາປະຫວັດສາດແມ່ນເພື່ອປ້ອງກັນບໍ່ໃຫ້ຜູ້ໃຊ້ສ້າງໂດຍບັງເອີນ
ໄດເລກະທໍລີທີ່ມີການອະນຸຍາດເກີນກວ່າທີ່ເຂົາເຈົ້າຈະຕັ້ງເປັນປົກກະຕິແລະສໍາລັບຄວາມສອດຄ່ອງ
ພຶດຕິ ກຳ ຂອງ cp ໃນການສ້າງໄຟລ໌.
ມັນບໍ່ແມ່ນຄວາມຕ້ອງການທີ່ cp ກວດພົບຄວາມພະຍາຍາມທີ່ຈະຄັດລອກໄຟລ໌ໄປຫາຕົວມັນເອງ; ແນວໃດກໍ່ຕາມ,
ການຈັດຕັ້ງປະຕິບັດແມ່ນໄດ້ຮັບການຊຸກຍູ້ຢ່າງແຂງແຮງເພື່ອເຮັດແນວນັ້ນ. ການປະຕິບັດປະຫວັດສາດໄດ້ກວດພົບ
ຄວາມພະຍາຍາມໃນກໍລະນີຫຼາຍທີ່ສຸດ.
ມີສອງວິທີການຄັດລອກຕົ້ນໄມ້ຍ່ອຍໃນປະລິມານຂອງ POSIX.1-2008 ນີ້. ວິທີການອື່ນ
ໄດ້ຖືກອະທິບາຍເປັນສ່ວນຫນຶ່ງຂອງ pax ປະໂຫຍດ (ເບິ່ງ pax). ທັງສອງວິທີການແມ່ນການປະຕິບັດປະຫວັດສາດ.
ໄດ້ cp ຜົນປະໂຫຍດສະຫນອງການໂຕ້ຕອບງ່າຍດາຍ, intuitive ຫຼາຍ, ໃນຂະນະທີ່ pax ສະເໜີໃຫ້ລະອຽດກວ່າ
granularity ຂອງການຄວບຄຸມ. ແຕ່ລະຄົນສະຫນອງການທໍາງານເພີ່ມເຕີມຕໍ່ກັບອື່ນໆ; ໃນ
ໂດຍສະເພາະ, pax ຮັກສາໂຄງສ້າງການເຊື່ອມໂຍງຍາກຂອງລໍາດັບຊັ້ນ, ໃນຂະນະທີ່ cp ບໍ່. ມັນ
ແມ່ນຄວາມຕັ້ງໃຈຂອງຜູ້ພັດທະນາມາດຕະຖານທີ່ຜົນໄດ້ຮັບທີ່ຄ້າຍຄືກັນ (ການນໍາໃຊ້ທີ່ເຫມາະສົມ
ການປະສົມທາງເລືອກໃນທັງສອງອຸປະກອນ). ຜົນໄດ້ຮັບແມ່ນບໍ່ຈໍາເປັນທີ່ຈະຄືກັນ;
ເບິ່ງຄືວ່າໄດ້ຮັບບໍ່ພຽງພໍກັບຄໍາຮ້ອງສະຫມັກເພື່ອດຸ່ນດ່ຽງຄວາມຫຍຸ້ງຍາກຂອງ
ການປະຕິບັດຕ້ອງຮັບປະກັນວ່າຜົນໄດ້ຮັບຈະຄືກັນແທ້.
ຄໍາອະນຸຍາດໃຫ້ cp ເພື່ອຄັດລອກໄດເລກະທໍລີໄປຫາປະເພດໄຟລ໌ທີ່ກໍານົດໂດຍການປະຕິບັດບໍ່ແມ່ນ
ທີ່ລະບຸໄວ້ໂດຍ System Interfaces volume ຂອງ POSIX.1-2008 ແມ່ນສະຫນອງໃຫ້ດັ່ງນັ້ນ
ການປະຕິບັດທີ່ສະຫນັບສະຫນູນການເຊື່ອມຕໍ່ສັນຍາລັກແມ່ນບໍ່ຈໍາເປັນເພື່ອຫ້າມການຄັດລອກໄດເລກະທໍລີ
ກັບການເຊື່ອມຕໍ່ສັນຍາລັກ. ສ່ວນຂະຫຍາຍອື່ນໆຕໍ່ກັບລະດັບສຽງຂອງສ່ວນຕິດຕໍ່ລະບົບຂອງໄຟລ໌ POSIX.1-2008
ປະເພດອາດຈະຕ້ອງໃຊ້ຊ່ອງຫວ່າງນີ້ເຊັ່ນກັນ.
ອະນາຄົດ DIRECTIONS
ບໍ່ມີ.
ໃຊ້ cpposix ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net