ນີ້ແມ່ນຄໍາສັ່ງ findposix ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
ຊອກຫາ — ຊອກຫາໄຟລ໌
ສະຫຼຸບສັງລວມ
ຊອກຫາ [−H|−L] ເສັ້ນທາງ... [operand_expression...]
ລາຍລະອຽດ
ໄດ້ ຊອກຫາ ຜົນປະໂຫຍດຈະຕ້ອງລົງຕາມລໍາດັບຂອງໄດເລກະທໍລີ recursively ຈາກແຕ່ລະໄຟລ໌
ລະບຸໂດຍ ເສັ້ນທາງ, ການປະເມີນການສະແດງອອກ Boolean ປະກອບດ້ວຍຂັ້ນຕົ້ນທີ່ອະທິບາຍໄວ້ໃນ
ພາກສ່ວນ OPERANDS ສໍາລັບແຕ່ລະໄຟລ໌ທີ່ພົບ. ແຕ່ລະ ເສັ້ນທາງ operand ຕ້ອງໄດ້ຮັບການປະເມີນ
ບໍ່ປ່ຽນແປງຕາມທີ່ໄດ້ສະໜອງໃຫ້, ລວມທັງການສືບຕໍ່ທັງໝົດ ລັກສະນະ; ຊື່ເສັ້ນທາງທັງໝົດສຳລັບ
ໄຟລ໌ອື່ນໆທີ່ພົບຢູ່ໃນລໍາດັບຊັ້ນຈະຕ້ອງປະກອບດ້ວຍການລວມກັນຂອງປະຈຸບັນ
ເສັ້ນທາງ ຄຳສັ່ງ, ກ ຖ້າຫາກວ່າປະຈຸບັນ ເສັ້ນທາງ operand ບໍ່ໄດ້ສິ້ນສຸດໃນຫນຶ່ງ, ແລະຊື່ໄຟລ໌
ພີ່ນ້ອງກັບ ເສັ້ນທາງ ປະຕິບັດການ. ສ່ວນທີ່ກ່ຽວຂ້ອງຈະຕ້ອງບໍ່ມີຈຸດ ຫຼື ຈຸດ-ຈຸດ
ອົງປະກອບ, ບໍ່ມີການຕິດຕາມ ລັກສະນະ, ແລະພຽງແຕ່ດຽວ ຕົວອັກສອນລະຫວ່າງ
ອົງປະກອບຂອງຊື່ເສັ້ນທາງ.
ໄດ້ ຊອກຫາ ຜົນ ປະ ໂຫຍດ ຈະ ສາ ມາດ ລົງ ໄປ ຫາ ຄວາມ ເລິກ arbitrary ໃນ ລໍາ ດັບ ໄຟລ ໌ ແລະ
ຈະບໍ່ລົ້ມເຫລວເນື່ອງຈາກການຈໍາກັດຄວາມຍາວຂອງເສັ້ນທາງ (ເວັ້ນເສຍແຕ່ a ເສັ້ນທາງ operand ກໍານົດໂດຍ
ແອັບພລິເຄຊັນເກີນຄວາມຕ້ອງການ {PATH_MAX}).
ໄດ້ ຊອກຫາ ຜົນປະໂຫຍດຈະຕ້ອງກວດພົບ loops ທີ່ບໍ່ມີຂອບເຂດ; ນັ້ນແມ່ນ, ເຂົ້າໄປຢ້ຽມຢາມກ່ອນຫນ້ານີ້
ໄດເລກະທໍລີທີ່ເປັນບັນພະບຸລຸດຂອງໄຟລ໌ສຸດທ້າຍທີ່ພົບ. ເມື່ອມັນກວດພົບອັນເປັນນິດ
ວົງ, ຊອກຫາ ຈະຂຽນຂໍ້ຄວາມການວິນິດໄສເຖິງຄວາມຜິດພາດມາດຕະຖານແລະຈະຟື້ນຕົວຂອງມັນ
ຕໍາແຫນ່ງໃນລໍາດັບຊັ້ນຫຼືສິ້ນສຸດ.
ຖ້າໄຟລ໌ຖືກເອົາອອກຈາກຫຼືເພີ່ມເຂົ້າໃນລໍາດັບຊັ້ນຂອງໄດເລກະທໍລີທີ່ກໍາລັງຊອກຫາມັນແມ່ນ
ບໍ່ໄດ້ລະບຸວ່າຫຼືບໍ່ ຊອກຫາ ລວມເອົາໄຟລ໌ນັ້ນຢູ່ໃນການຄົ້ນຫາຂອງມັນ.
OPTIONS
ໄດ້ ຊອກຫາ ຜົນປະໂຫຍດຈະຕ້ອງສອດຄ່ອງກັບປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ
12.2, ຜົນປະໂຫຍດ syntax ຄູ່ມືແນະນໍາ.
ທາງເລືອກຕໍ່ໄປນີ້ຈະໄດ້ຮັບການສະຫນັບສະຫນູນໂດຍການຈັດຕັ້ງປະຕິບັດ:
− ຮ ເຮັດໃຫ້ຂໍ້ມູນໄຟລ໌ແລະປະເພດໄຟລ໌ທີ່ຖືກປະເມີນສໍາລັບແຕ່ລະການເຊື່ອມຕໍ່ສັນຍາລັກ
ພົບເປັນ ເສັ້ນທາງ operand ໃນເສັ້ນຄໍາສັ່ງທີ່ຈະເປັນໄຟລ໌ເຫຼົ່ານັ້ນ
ອ້າງອີງໂດຍການເຊື່ອມຕໍ່, ແລະບໍ່ແມ່ນການເຊື່ອມຕໍ່ຕົວມັນເອງ. ຖ້າໄຟລ໌ທີ່ອ້າງອີງບໍ່ໄດ້
ມີຢູ່, ຂໍ້ມູນໄຟລ໌ແລະປະເພດຈະຕ້ອງເປັນຕົວເຊື່ອມຕໍ່ຂອງມັນເອງ. ໄຟລ໌
ຂໍ້ມູນແລະປະເພດສໍາລັບການເຊື່ອມຕໍ່ສັນຍາລັກພົບໃນລະຫວ່າງການຜ່ານຂອງ a
ການຈັດລໍາດັບຂອງໄຟລ໌ຈະເປັນຕົວເຊື່ອມຕໍ່ຂອງມັນເອງ.
−ລ ເຮັດໃຫ້ຂໍ້ມູນໄຟລ໌ແລະປະເພດໄຟລ໌ທີ່ຖືກປະເມີນສໍາລັບແຕ່ລະການເຊື່ອມຕໍ່ສັນຍາລັກ
ພົບເປັນ ເສັ້ນທາງ operand ໃນບັນທັດຄໍາສັ່ງຫຼືພົບໃນລະຫວ່າງການ
traversal ຂອງລໍາດັບຂອງໄຟລ໌ທີ່ຈະເປັນໄຟລ໌ທີ່ອ້າງອີງໂດຍການເຊື່ອມຕໍ່,
ແລະບໍ່ແມ່ນຕົວເຊື່ອມຕໍ່ຂອງມັນເອງ. ຖ້າໄຟລ໌ອ້າງອີງບໍ່ມີ, ໄຟລ໌
ຂໍ້ມູນແລະປະເພດຈະເປັນສໍາລັບການເຊື່ອມຕໍ່ຕົວມັນເອງ.
ລະບຸຫຼາຍກວ່າໜຶ່ງໃນທາງເລືອກທີ່ຜູກຂາດເຊິ່ງກັນແລະກັນ − ຮ ແລະ −ລ ຈະບໍ່ເປັນ
ຖືວ່າເປັນຄວາມຜິດພາດ. ທາງເລືອກສຸດທ້າຍທີ່ລະບຸໄວ້ຈະກໍານົດພຶດຕິກໍາຂອງ
ປະໂຫຍດ. ຖ້າບໍ່ແມ່ນ − ຮ ຫລື −ລ ທາງເລືອກແມ່ນໄດ້ລະບຸໄວ້, ຫຼັງຈາກນັ້ນຂໍ້ມູນໄຟລ໌ແລະ
ປະເພດສໍາລັບການເຊື່ອມຕໍ່ສັນຍາລັກທີ່ພົບເປັນ a ເສັ້ນທາງ operand ໃນເສັ້ນຄໍາສັ່ງຫຼືພົບ
ໃນລະຫວ່າງການຜ່ານຂອງລໍາດັບໄຟລ໌ຈະເປັນຂອງການເຊື່ອມຕໍ່ຕົວມັນເອງ.
ດໍາເນີນງານ
ໂຕປະຕິບັດການຕໍ່ໄປນີ້ຈະໄດ້ຮັບການສະຫນັບສະຫນູນ:
operand ທໍາອິດແລະ operands ຕໍ່ໄປເຖິງແຕ່ບໍ່ໄດ້ລວມເອົາ operand ທໍາອິດທີ່
ເລີ່ມຕົ້ນດ້ວຍ '−', ຫຼືເປັນ '!' ຫຼື '(', ຈະຖືກຕີຄວາມວ່າ ເສັ້ນທາງ ໂຕປະຕິບັດການ. ຖ້າ
operand ທໍາອິດເລີ່ມຕົ້ນດ້ວຍ a '−', ຫຼືເປັນ '!' ຫຼື '(', ພຶດຕິກໍາແມ່ນບໍ່ໄດ້ກໍານົດ. ແຕ່ລະ
ເສັ້ນທາງ operand ແມ່ນຊື່ເສັ້ນທາງຂອງຈຸດເລີ່ມຕົ້ນໃນການຈັດລໍາດັບຂອງໄຟລ໌.
operand ທໍາອິດທີ່ເລີ່ມຕົ້ນດ້ວຍ a '−', ຫຼືເປັນ '!' ຫຼື '(', ແລະທັງຫມົດຕໍ່ມາ
ການໂຕ້ຖຽງຈະຖືກຕີຄວາມວ່າເປັນ ການສະແດງອອກ ປະກອບດ້ວຍຂັ້ນຕົ້ນດັ່ງຕໍ່ໄປນີ້ແລະ
ຜູ້ປະກອບການ. ໃນຄໍາອະທິບາຍ, ບ່ອນໃດກໍ່ຕາມ n ຖືກນໍາໃຊ້ເປັນການໂຕ້ຖຽງຕົ້ນຕໍ, ມັນຈະເປັນ
ແປເປັນຈຳນວນທົດສະນິຍົມເປັນທາງເລືອກທີ່ນຳໜ້າດ້ວຍບວກ ('+') ຫຼືເຄື່ອງໝາຍລົບ ('−')
ເຊັນ, ດັ່ງນີ້:
+n ຫຼາຍກວ່າ n.
n ແນ່ນອນ n.
-n ຫນ້ອຍກ່ວາ n.
ພື້ນຖານຕໍ່ໄປນີ້ຕ້ອງໄດ້ຮັບການສະຫນັບສະຫນູນ:
-ຊື່ ຮູບແບບ
ຫຼັກຈະປະເມີນເປັນຈິງຖ້າຊື່ພື້ນຖານຂອງຊື່ເສັ້ນທາງປັດຈຸບັນ
ກົງກັນ ຮູບແບບ ການນໍາໃຊ້ຫມາຍເຫດການຈັບຄູ່ຮູບແບບທີ່ອະທິບາຍໃນ ສ່ວນ 2.13,
ຮູບແບບ ການຈັບຄູ່ notation. ກົດລະບຽບເພີ່ມເຕີມໃນ ສ່ວນ 2.13.3, ຮູບແບບການ
ການນໍາໃຊ້ ສໍາລັບການ filename ການຂະຫຍາຍຕົວ ຢ່າໃຊ້ເພາະວ່ານີ້ແມ່ນການປະຕິບັດທີ່ກົງກັນ, ບໍ່ແມ່ນ
ການຂະຫຍາຍຕົວ.
- ເສັ້ນທາງ ຮູບແບບ
ຫຼັກຈະປະເມີນວ່າເປັນຄວາມຈິງຖ້າຊື່ເສັ້ນທາງປະຈຸບັນກົງກັນ ຮູບແບບ ການນໍາໃຊ້
ຮູບແບບການຈັບຄູ່ notation ທີ່ອະທິບາຍໄວ້ໃນ ສ່ວນ 2.13, ຮູບແບບ ການຈັບຄູ່
notation. ກົດລະບຽບເພີ່ມເຕີມໃນ ສ່ວນ 2.13.3, ຮູບແບບການ ການນໍາໃຊ້ ສໍາລັບການ filename
ການຂະຫຍາຍຕົວ ຢ່າໃຊ້ເພາະວ່ານີ້ແມ່ນການປະຕິບັດທີ່ກົງກັນ, ບໍ່ແມ່ນການຂະຫຍາຍ.
-nouser ຫຼັກຈະປະເມີນເປັນຈິງຖ້າໄຟລ໌ເປັນຂອງ ID ຜູ້ໃຊ້ສຳລັບອັນໃດ
ໄດ້ getpwuid() ຟັງຊັນທີ່ກຳນົດໄວ້ໃນປະລິມານສ່ວນຕິດຕໍ່ລະບົບຂອງ POSIX.1-2008
(ຫຼືທຽບເທົ່າ) ກັບຄືນ NULL.
-ກຸ່ມ ຫຼັກຈະປະເມີນເປັນຈິງຖ້າໄຟລ໌ນັ້ນຂຶ້ນກັບ ID ກຸ່ມໃດ
ໄດ້ ຕົກໃຈ() ຟັງຊັນທີ່ກຳນົດໄວ້ໃນປະລິມານສ່ວນຕິດຕໍ່ລະບົບຂອງ POSIX.1-2008
(ຫຼືທຽບເທົ່າ) ກັບຄືນ NULL.
-xdev ປະຖົມຈະຕ້ອງປະເມີນເປັນຄວາມຈິງສະເໝີ; ມັນຈະເຮັດໃຫ້ເກີດ ຊອກຫາ ບໍ່ໃຫ້ສືບຕໍ່
ລົງຊື່ລາຍຊື່ທີ່ຜ່ານມາທີ່ມີ ID ອຸປະກອນທີ່ແຕກຕ່າງກັນ (st_dev, ເບິ່ງ
ລັດ() ຟັງຊັນທີ່ກຳນົດໄວ້ໃນປະລິມານສ່ວນຕິດຕໍ່ລະບົບຂອງ POSIX.1-2008). ຖ້າມີ
-xdev ຫຼັກແມ່ນໄດ້ລະບຸໄວ້, ມັນຈະຕ້ອງໃຊ້ກັບການສະແດງຜົນທັງໝົດເຖິງແມ່ນວ່າ
-xdev ໂດຍປົກກະຕິ, ປະຖົມຈະບໍ່ຖືກປະເມີນ.
- ໝາກຫຸ່ງ ປະຖົມຈະຕ້ອງປະເມີນເປັນຄວາມຈິງສະເໝີ; ມັນຈະເຮັດໃຫ້ເກີດ ຊອກຫາ ບໍ່ໃຫ້ລົງ
ຊື່ເສັ້ນທາງປະຈຸບັນຖ້າມັນເປັນໄດເລກະທໍລີ. ຖ້າ - ຄວາມເລິກ ປະຖົມໄດ້ລະບຸໄວ້,
ໄດ້ - ໝາກຫຸ່ງ ປະຖົມຈະບໍ່ມີຜົນກະທົບ.
- perm [−]ຮູບແບບການ
ໄດ້ ຮູບແບບການ argument ຖືກນໍາໃຊ້ເພື່ອເປັນຕົວແທນຂອງ bits ຮູບແບບໄຟລ໌. ມັນຈະຄືກັນໃນ
ຮູບແບບກັບ symbolic_mode operand ອະທິບາຍໃນ chmod, ແລະຈະຖືກຕີຄວາມໝາຍ
ດັ່ງນີ້. ເພື່ອເລີ່ມຕົ້ນ, ແມ່ແບບຈະຕ້ອງຖືກສົມມຸດວ່າດ້ວຍຮູບແບບໄຟລ໌ທັງຫມົດ
ລຶບລ້າງ. ອັນ op ສັນຍາລັກຂອງ '+' ຈະຕ້ອງກໍານົດບິດຮູບແບບທີ່ເຫມາະສົມໃນ
ແມ່ແບບ; '−' ຈະລ້າງບິດທີ່ເຫມາະສົມ; '=' ຈະກໍານົດທີ່ເຫມາະສົມ
mode bits, ໂດຍບໍ່ຄໍານຶງເຖິງເນື້ອໃນຂອງຫນ້າກາກການສ້າງຮູບແບບໄຟລ໌ຂອງ
ຂະບວນການ. ທ op ສັນຍາລັກຂອງ '−' ບໍ່ສາມາດເປັນລັກສະນະທໍາອິດຂອງ ຮູບແບບການ; ນີ້ຫຼີກລ້ຽງ
ຄວາມບໍ່ແນ່ນອນກັບຜູ້ນໍາທາງເລືອກ . ນັບຕັ້ງແຕ່ຮູບແບບເບື້ອງຕົ້ນແມ່ນທັງຫມົດ
bits off, ບໍ່ມີຮູບແບບສັນຍາລັກໃດໆທີ່ຈໍາເປັນຕ້ອງໃຊ້ '−' ເປັນຄັ້ງທໍາອິດ
ລັກສະນະ.
ຖ້າ ຖືກລະເວັ້ນ, ຫຼັກຈະຕ້ອງປະເມີນວ່າເປັນຄວາມຈິງເມື່ອໄຟລ໌
bits ການອະນຸຍາດກົງກັບຄ່າຂອງແມ່ແບບຜົນໄດ້ຮັບ.
ຖ້າບໍ່ດັ່ງນັ້ນ, ຖ້າ ຮູບແບບການ ຖືກນຳໜ້າດ້ວຍ ກ , ປະຖົມຈະຕ້ອງປະເມີນວ່າເປັນຄວາມຈິງ
ຖ້າຢ່າງຫນ້ອຍທຸກ bits ໃນແມ່ແບບຜົນໄດ້ຮັບຖືກຕັ້ງໄວ້ໃນໄຟລ໌
bits ການອະນຸຍາດ.
- perm [−]ດ້ານ ໜ້າ ຂອງຂ້ອຍ
ຖ້າ ຖືກລະເວັ້ນ, ຫຼັກຈະຕ້ອງປະເມີນວ່າເປັນຄວາມຈິງເມື່ອໄຟລ໌
mode bits ກົງກັບຄ່າຂອງເລກຖານແປດ ດ້ານ ໜ້າ ຂອງຂ້ອຍ (ເບິ່ງຄໍາອະທິບາຍ
ຂອງເລກແປດ ຮູບແບບການ in chmod). ຖ້າບໍ່ດັ່ງນັ້ນ, ຖ້າ ດ້ານ ໜ້າ ຂອງຂ້ອຍ ຖືກນຳໜ້າດ້ວຍ ກ , ໄດ້
ຂັ້ນຕົ້ນຈະຕ້ອງປະເມີນວ່າເປັນຄວາມຈິງ ຖ້າຢ່າງໜ້ອຍທຸກບິດທີ່ລະບຸໄວ້ໃນ ດ້ານ ໜ້າ ຂອງຂ້ອຍ ມີ
ຕັ້ງ. ໃນທັງສອງກໍລະນີ, ພຶດຕິກໍາແມ່ນບໍ່ໄດ້ກໍານົດເວລາທີ່ ດ້ານ ໜ້າ ຂອງຂ້ອຍ ເກີນ 07777.
- ປະເພດ c ຫຼັກຈະປະເມີນເປັນຄວາມຈິງຖ້າຫາກວ່າປະເພດຂອງໄຟລ໌ແມ່ນ c, ບ່ອນທີ່ c is 'ຂ',
'ຄ', 'd', 'l', 'p', 'f', ຫຼື 's' ສໍາລັບຕັນໄຟລ໌ພິເສດ, ໄຟລ໌ພິເສດຕົວອັກສອນ,
ໄດເລກະທໍລີ, ການເຊື່ອມຕໍ່ສັນຍາລັກ, FIFO, ໄຟລ໌ປົກກະຕິ, ຫຼືເຕົ້າຮັບ, ຕາມລໍາດັບ.
- ການເຊື່ອມຕໍ່ n ຫຼັກຈະປະເມີນເປັນຄວາມຈິງຖ້າໄຟລ໌ມີ n links
- ຜູ້ໃຊ້ ບໍ່ມີຊື່ສຽງ
ຫຼັກຈະປະເມີນເປັນຈິງຖ້າໄຟລ໌ເປັນຂອງຜູ້ໃຊ້ ຊື່. If
ບໍ່ມີຊື່ສຽງ ເປັນຈຳນວນທົດສະນິຍົມ ແລະ getpwnam() (ຫຼືທຽບເທົ່າ) ຫນ້າທີ່ບໍ່ໄດ້
ສົ່ງຄືນຊື່ຜູ້ໃຊ້ທີ່ຖືກຕ້ອງ, ບໍ່ມີຊື່ສຽງ ຈະຖືກຕີຄວາມໝາຍເປັນ ID ຜູ້ໃຊ້.
- ກຸ່ມ ນາມມະຍົດ
ຫຼັກຈະປະເມີນເປັນຈິງຖ້າໄຟລ໌ເປັນຂອງກຸ່ມ ນາມມະຍົດທີ່ຢູ່ ຖ້າຫາກວ່າ
ນາມມະຍົດ ເປັນຈຳນວນທົດສະນິຍົມ ແລະ getgrnam() (ຫຼືທຽບເທົ່າ) ຫນ້າທີ່ບໍ່ໄດ້
ສົ່ງຄືນຊື່ກຸ່ມທີ່ຖືກຕ້ອງ, ນາມມະຍົດ ຈະຖືກຕີຄວາມໝາຍເປັນ ID ກຸ່ມ.
- ຂະຫນາດ n[ຄ]
ຂັ້ນຕົ້ນຈະຕ້ອງປະເມີນເປັນຈິງ ຖ້າຂະໜາດໄຟລ໌ເປັນໄບຕ໌, ແບ່ງດ້ວຍ 512 ແລະ
ມົນຂຶ້ນເປັນຈຳນວນຖັດໄປ, ແມ່ນ nທີ່ຢູ່ ຖ້າຫາກວ່າ n ແມ່ນປະຕິບັດຕາມໂດຍລັກສະນະ 'ຄ',
ຂະຫນາດຈະຕ້ອງຢູ່ໃນ bytes.
- ເວລາ n ຫຼັກຈະປະເມີນວ່າເປັນຄວາມຈິງຖ້າເວລາເຂົ້າເຖິງໄຟລ໌ຖືກຫັກອອກຈາກ
ເວລາເລີ່ມຕົ້ນ, ແບ່ງອອກດ້ວຍ 86400 (ກັບສິ່ງທີ່ຍັງເຫຼືອຖືກຍົກເລີກ), ແມ່ນ n.
−ctime n ຫຼັກຈະຕ້ອງປະເມີນວ່າເປັນຄວາມຈິງຖ້າເວລາຂອງການປ່ຽນແປງຫຼ້າສຸດຂອງສະຖານະໄຟລ໌
ຂໍ້ມູນທີ່ຖືກລົບອອກຈາກເວລາເບື້ອງຕົ້ນ, ແບ່ງອອກດ້ວຍ 86400 (ມີໃດໆ
ສ່ວນທີ່ເຫຼືອຖືກຍົກເລີກ), ແມ່ນ n.
-ເວລາ n ຫຼັກຈະປະເມີນເປັນຄວາມຈິງຖ້າເວລາດັດແກ້ໄຟລ໌ຫັກອອກ
ເວລາເລີ່ມຕົ້ນ, ແບ່ງອອກດ້ວຍ 86400 (ກັບສິ່ງທີ່ເຫຼືອຖືກຍົກເລີກ), ແມ່ນ n.
-exec utility_name [ການໂຕ້ຖຽງ ...] ;
-exec utility_name [ການໂຕ້ຖຽງ ...] {} +
ສ່ວນທ້າຍຂອງສຳນວນຕົ້ນຕໍຈະຕ້ອງຖືກໝາຍວັກຕອນດ້ວຍ ກ ຫຼືໂດຍ ກ
. ພຽງແຕ່ ກ ທີ່ທັນທີປະຕິບັດຕາມການໂຕ້ຖຽງທີ່ມີ
ພຽງແຕ່ສອງຕົວອັກສອນ "{}" ຈະຕ້ອງໝາຍວັກຕອນທ້າຍຂອງສຳນວນຕົ້ນຕໍ.
ການນໍາໃຊ້ອື່ນໆຂອງ ຈະບໍ່ຖືກປະຕິບັດເປັນພິເສດ.
ຖ້າການສະແດງອອກຕົ້ນຕໍແມ່ນ punctuated ໂດຍ a , ປະໂຫຍດ
utility_name ຈະຖືກເອີ້ນຄັ້ງດຽວສໍາລັບແຕ່ລະຊື່ເສັ້ນທາງ ແລະຕົ້ນຕໍຈະ
ປະເມີນວ່າເປັນຄວາມຈິງຖ້າຜົນປະໂຫຍດສົ່ງຄືນຄ່າສູນເປັນສະຖານະການອອກ. ກ
utility_name or ການໂຕ້ຖຽງ ປະກອບມີພຽງແຕ່ສອງຕົວອັກສອນ "{}" ຈະເປັນ
ແທນທີ່ດ້ວຍຊື່ເສັ້ນທາງປະຈຸບັນ. ຖ້າ ກ utility_name or ການໂຕ້ຖຽງ string ປະກອບມີ
ສອງລັກສະນະ "{}", ແຕ່ບໍ່ພຽງແຕ່ສອງລັກສະນະ "{}", ມັນແມ່ນ
ການປະຕິບັດກໍານົດບໍ່ວ່າຈະເປັນ ຊອກຫາ ແທນທີ່ສອງຕົວອັກສອນຫຼືໃຊ້
string ໂດຍບໍ່ມີການປ່ຽນແປງ.
ຖ້າການສະແດງອອກຕົ້ນຕໍແມ່ນ punctuated ໂດຍ a , ປະຖົມຈະຕ້ອງ
ປະເມີນວ່າເປັນຄວາມຈິງສະເໝີ, ແລະຊື່ເສັ້ນທາງທີ່ຂັ້ນຕົ້ນຖືກປະເມີນ
ຈະຖືກລວມເຂົ້າເປັນຊຸດ. ປະໂຫຍດ utility_name ຈະຖືກຮຽກຮ້ອງຄັ້ງດຽວ
ສໍາລັບແຕ່ລະຊຸດຂອງຊື່ເສັ້ນທາງລວມ. ການເອີ້ນແຕ່ລະຄັ້ງຈະຕ້ອງເລີ່ມຕົ້ນຫຼັງຈາກຄັ້ງສຸດທ້າຍ
ຊື່ເສັ້ນທາງໃນຊຸດໄດ້ຖືກລວບລວມ, ແລະຈະສໍາເລັດກ່ອນ ຊອກຫາ
utility exit ແລະກ່ອນຊື່ເສັ້ນທາງທໍາອິດໃນຊຸດຕໍ່ໄປ (ຖ້າມີ) ແມ່ນ
ລວບລວມສໍາລັບການປະຖົມນີ້, ແຕ່ວ່າມັນແມ່ນຖ້າບໍ່ດັ່ງນັ້ນບໍ່ໄດ້ກໍານົດບໍ່ວ່າຈະເປັນ
ການຮຽກຮ້ອງເກີດຂຶ້ນກ່ອນ, ໃນລະຫວ່າງ, ຫຼືຫຼັງຈາກການປະເມີນຜົນຂອງຂັ້ນຕົ້ນອື່ນໆ.
ຖ້າ invocation ໃດສົ່ງຄືນຄ່າທີ່ບໍ່ແມ່ນສູນເປັນສະຖານະການອອກ, the ຊອກຫາ ຜົນປະໂຫຍດ
ຈະສົ່ງຄືນສະຖານະທາງອອກທີ່ບໍ່ແມ່ນສູນ. ການໂຕ້ຖຽງທີ່ມີພຽງແຕ່ສອງ
ລັກສະນະ "{}" ຈະຖືກແທນທີ່ດ້ວຍຊຸດຂອງຊື່ເສັ້ນທາງລວມ, ດ້ວຍແຕ່ລະ
pathname ຜ່ານເປັນ argument ແຍກຕ່າງຫາກໄປຫາ utility ທີ່ຖືກເອີ້ນໃນຄໍາສັ່ງດຽວກັນ
ວ່າມັນຖືກລວບລວມ. ຂະໜາດຂອງຊຸດຂອງສອງ ຫຼືຫຼາຍກວ່ານັ້ນຊື່ເສັ້ນທາງຈະຕ້ອງເປັນ
ຈໍາກັດດັ່ງກ່າວ, ການປະຕິບັດຂອງຜົນປະໂຫຍດບໍ່ໄດ້ເຮັດໃຫ້ລະບົບຂອງ {ARG_MAX}.
ເກີນຂອບເຂດຈໍາກັດ. ຖ້າມີຫຼາຍກວ່າໜຶ່ງອາກິວເມັນທີ່ມີສອງຕົວອັກສອນ
"{}" ປະຈຸບັນ, ພຶດຕິກໍາແມ່ນບໍ່ໄດ້ກໍານົດ.
ໄດເລກະທໍລີປະຈຸບັນສໍາລັບການເອີ້ນຂອງ utility_name ຈະຄືກັນກັບ
ໄດເລກະທໍລີປະຈຸບັນໃນເວລາທີ່ ຊອກຫາ ຜົນປະໂຫຍດໄດ້ຖືກເລີ່ມຕົ້ນ. ຖ້າ utility_name
ຕັ້ງຊື່ສິ່ງອໍານວຍຄວາມສະດວກທີ່ສ້າງຂຶ້ນໃນພິເສດ (ເບິ່ງ ສ່ວນ 2.14, ພິເສດ ກໍ່ສ້າງໃນ
ລະນູປະໂພກ), ຜົນໄດ້ຮັບແມ່ນບໍ່ໄດ້ກໍານົດ.
-ຕົກລົງ utility_name [ການໂຕ້ຖຽງ ...] ;
ໄດ້ -ຕົກລົງ ປະຖົມຈະທຽບເທົ່າກັບ -exec, ຍົກເວັ້ນການນໍາໃຊ້ຂອງ a
sign> ເພື່ອ punctuate ໃນຕອນທ້າຍຂອງການສະແດງອອກຕົ້ນຕໍບໍ່ຈໍາເປັນຕ້ອງສະຫນັບສະຫນູນ, ແລະ
ຊອກຫາ ຈະຮ້ອງຂໍການຢືນຢັນການຮຽກຮ້ອງຂອງ utility_name ການນໍາໃຊ້
ໄຟລ໌ປະຈຸບັນເປັນການໂຕ້ຖຽງໂດຍການຂຽນຂໍ້ຜິດພາດມາດຕະຖານຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ
ພາກສ່ວນ STDERR. ຖ້າຫາກວ່າການຕອບສະຫນອງກ່ຽວກັບການປ້ອນຂໍ້ມູນມາດຕະຖານແມ່ນການຢືນຢັນ, ຜົນປະໂຫຍດ
ຈະຖືກຮຽກຮ້ອງ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຄໍາສັ່ງຈະບໍ່ຖືກເອີ້ນແລະມູນຄ່າຂອງ
ໄດ້ -ຕົກລົງ operand ຈະບໍ່ຖືກຕ້ອງ.
- ພິມ ປະຖົມຈະຕ້ອງປະເມີນເປັນຄວາມຈິງສະເໝີ; ມັນຈະເຮັດໃຫ້ຊື່ເສັ້ນທາງປະຈຸບັນ
ຈະຖືກຂຽນເປັນຜົນຜະລິດມາດຕະຖານ.
- ໃໝ່ກວ່າ ເອກະສານ
ຫຼັກຈະປະເມີນເປັນຄວາມຈິງຖ້າຫາກວ່າເວລາການດັດແກ້ຂອງໄຟລ໌ປະຈຸບັນ
ແມ່ນບໍ່ດົນມານີ້ຫຼາຍກ່ວາເວລາດັດແກ້ຂອງໄຟລ໌ທີ່ມີຊື່ໂດຍຊື່ເສັ້ນທາງ
ເອກະສານ.
- ຄວາມເລິກ ປະຖົມຈະຕ້ອງປະເມີນເປັນຄວາມຈິງສະເໝີ; ມັນຈະເຮັດໃຫ້ເກີດການສືບເຊື້ອສາຍຂອງ
ການຈັດລໍາດັບຂອງໄດເລກະທໍລີທີ່ຕ້ອງເຮັດເພື່ອໃຫ້ລາຍການທັງຫມົດໃນໄດເລກະທໍລີຖືກປະຕິບັດ
ກ່ອນທີ່ຈະໄດເລກະທໍລີຕົວມັນເອງ. ຖ້າ ກ - ຄວາມເລິກ ຫຼັກບໍ່ໄດ້ລະບຸໄວ້, ລາຍການທັງໝົດ
ໃນໄດເລກະທໍລີຈະຖືກປະຕິບັດຫຼັງຈາກໄດເລກະທໍລີຂອງມັນເອງ. ຖ້າມີ - ຄວາມເລິກ
ຫຼັກແມ່ນໄດ້ລະບຸໄວ້, ມັນຈະຕ້ອງໃຊ້ກັບການສະແດງຜົນທັງໝົດເຖິງແມ່ນວ່າ - ຄວາມເລິກ
ໂດຍປົກກະຕິ, ປະຖົມຈະບໍ່ຖືກປະເມີນ.
ປະຖົມສາມາດຖືກລວມເຂົ້າກັນໂດຍໃຊ້ຕົວປະຕິບັດການຕໍ່ໄປນີ້ (ໃນລໍາດັບຫຼຸດລົງ
ອັນດັບຕົ້ນ):
( ການສະແດງອອກ )
ຄວາມຈິງຖ້າ ການສະແດງອອກ ແມ່ນຄວາມຈິງ.
! ການສະແດງອອກ
ການປະຕິເສດຂັ້ນຕົ້ນ; unary ບໍ່ປະຕິບັດການ.
ການສະແດງອອກ [−a] ການສະແດງອອກ
ສົມທົບການປະຖົມ; ໂຕປະຕິບັດການ AND ຫມາຍເຖິງການປຽບທຽບຂອງ
ສອງຂັ້ນຕົ້ນ ຫຼືເຮັດໃຫ້ຊັດເຈນໂດຍທາງເລືອກ −ກ ຜູ້ປະກອບການ. ທີ່ສອງ
ການສະແດງອອກຈະບໍ່ຖືກປະເມີນຖ້າຫາກວ່າການສະແດງອອກທໍາອິດແມ່ນບໍ່ຖືກຕ້ອງ.
ການສະແດງອອກ −o ການສະແດງອອກ
ສະຫຼັບຂອງຂັ້ນຕົ້ນ; ຕົວປະຕິບັດການ OR. ການສະແດງອອກທີສອງຈະບໍ່ເປັນ
ປະເມີນຖ້າຫາກວ່າການສະແດງອອກທໍາອິດແມ່ນຄວາມຈິງ.
ຖ້າບໍ່ ການສະແດງອອກ ປະຈຸບັນ, - ພິມ ຈະຖືກນໍາໃຊ້ເປັນສໍານວນ. ຖ້າບໍ່ດັ່ງນັ້ນ, ຖ້າຫາກວ່າ
ການສະແດງຜົນທີ່ລະບຸບໍ່ມີຕົວຫຼັກ -exec, -ຕົກລົງ, ຫຼື - ພິມ, ມອບໃຫ້
ການສະແດງອອກຈະຖືກທົດແທນຢ່າງມີປະສິດທິພາບໂດຍ:
( given_expression ) - ພິມ
ໄດ້ - ຜູ້ໃຊ້, - ກຸ່ມ, ແລະ - ໃໝ່ກວ່າ ຂັ້ນຕົ້ນແຕ່ລະຄົນຈະປະເມີນການໂຕ້ຖຽງຂອງເຂົາເຈົ້າ
ພຽງແຕ່ຄັ້ງດຽວ.
ເມື່ອປະເພດໄຟລ໌ທີ່ຖືກປະເມີນສໍາລັບໄຟລ໌ປະຈຸບັນແມ່ນການເຊື່ອມຕໍ່ສັນຍາລັກ, ຜົນໄດ້ຮັບຂອງ
ການປະເມີນຜົນ - perm ຕົ້ນຕໍແມ່ນກໍານົດການປະຕິບັດ.
STDIN
ຖ້າ -ຕົກລົງ ຕົ້ນຕໍແມ່ນຖືກນໍາໃຊ້, ການຕອບສະຫນອງຈະຖືກອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ. ທັງໝົດ
ເສັ້ນຈະຖືກອ່ານເປັນຄໍາຕອບ. ຖ້າບໍ່ດັ່ງນັ້ນ, ວັດສະດຸປ້ອນມາດຕະຖານຈະບໍ່ຖືກໃຊ້.
ປັດໄຈນໍາເຂົ້າ ເອກະສານ
ບໍ່ມີ.
ENVIRONMENT ຄວາມຮັບຜິດຊອບ
ຕົວແປສະພາບແວດລ້ອມຕໍ່ໄປນີ້ຈະສົ່ງຜົນກະທົບຕໍ່ການປະຕິບັດ ຊອກຫາ:
ພາສາ ໃຫ້ຄ່າເລີ່ມຕົ້ນສໍາລັບຕົວແປສາກົນທີ່ບໍ່ໄດ້ຕັ້ງ ຫຼື
null. (ເບິ່ງປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ 8.2,
Internationalization Variables ເພື່ອຄວາມກ້າວໜ້າຂອງການຫັນເປັນສາກົນ
ຕົວແປທີ່ໃຊ້ເພື່ອກໍານົດຄ່າຂອງປະເພດທ້ອງຖິ່ນ.)
LC_ALL ຖ້າຕັ້ງເປັນຄ່າສະຕຣິງທີ່ບໍ່ຫວ່າງເປົ່າ, ລົບລ້າງຄ່າຂອງອັນອື່ນທັງໝົດ
ຕົວແປສາກົນ.
LC_COLLATE
ກໍານົດສະຖານທີ່ສໍາລັບພຶດຕິກໍາຂອງໄລຍະ, ຫ້ອງຮຽນທຽບເທົ່າ, ແລະ multi-
ອົງປະກອບການລວບລວມຕົວລະຄອນທີ່ໃຊ້ໃນຕົວກໍານົດການຈັບຄູ່ຮູບແບບສໍາລັບການ ນ
ທາງເລືອກແລະໃນການຂະຫຍາຍການສະແດງອອກປົກກະຕິກໍານົດສໍາລັບການ yesexpr ທ້ອງຖິ່ນ
ຄໍາສໍາຄັນໃນ LC_MESSAGES ຫມວດຫມູ່
LC_CTYPE ຕົວແປນີ້ກໍານົດທ້ອງຖິ່ນສໍາລັບການຕີຄວາມລໍາດັບຂອງ bytes
ຂໍ້ມູນຂໍ້ຄວາມເປັນຕົວອັກສອນ (ຕົວຢ່າງ, single-byte ກົງກັນຂ້າມກັບ multi-byte
ລັກສະນະໃນການໂຕ້ຖຽງ), ພຶດຕິກໍາຂອງການຮຽນອັກສອນໃນຮູບແບບ
ຫມາຍເຫດທີ່ກົງກັນທີ່ໃຊ້ສໍາລັບ ນ ທາງເລືອກ, ແລະພຶດຕິກໍາຂອງຫ້ອງຮຽນລັກສະນະ
ພາຍໃນການສະແດງອອກປົກກະຕິນໍາໃຊ້ໃນການຂະຫຍາຍການສະແດງອອກປົກກະຕິກໍານົດສໍາລັບການ
ໄດ້ yesexpr locale ຄໍາສໍາຄັນໃນ LC_MESSAGES ຫມວດຫມູ່
LC_MESSAGES
ກຳນົດສະຖານທີ່ທີ່ໃຊ້ເພື່ອປະມວນຜົນການຕອບໂຕ້ທີ່ຢືນຢັນ, ແລະສະຖານທີ່ທີ່ໃຊ້
ຜົນກະທົບຕໍ່ຮູບແບບແລະເນື້ອໃນຂອງຂໍ້ຄວາມວິນິດໄສແລະການເຕືອນທີ່ຂຽນເຖິງ
ຄວາມຜິດພາດມາດຕະຖານ.
NLSPATH ກໍານົດສະຖານທີ່ຂອງລາຍການຂໍ້ຄວາມສໍາລັບການປະມວນຜົນຂອງ LC_MESSAGES.
PATH ກໍານົດສະຖານທີ່ຂອງ utility_name ສໍາລັບ -exec ແລະ -ຕົກລົງ ປະຖົມ, ເປັນ
ອະທິບາຍໄວ້ໃນປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ບົດ 8, ສະພາບແວດລ້ອມ
Variables.
ASYNCHRONOUS ເຫດການ
ເລີ່ມຕົ້ນ.
STDOUT
ໄດ້ - ພິມ ຕົ້ນຕໍຈະເຮັດໃຫ້ຊື່ເສັ້ນທາງປະຈຸບັນຖືກຂຽນເປັນຜົນຜະລິດມາດຕະຖານ. ໄດ້
ຮູບແບບຈະເປັນ:
"%s\n", <ເສັ້ນທາງ>
ສະດຸດ
ໄດ້ -ຕົກລົງ ປະຖົມຈະຕ້ອງຂຽນ prompt ກັບຄວາມຜິດພາດມາດຕະຖານທີ່ມີຢ່າງຫນ້ອຍ
utility_name ຈະຖືກເອີ້ນແລະຊື່ເສັ້ນທາງປະຈຸບັນ. ຢູ່ໃນທ້ອງຖິ່ນ POSIX, ສຸດທ້າຍ
ບໍ່ແມ່ນ ໃນການກະຕຸ້ນເຕືອນຈະເປັນ '?'. ຮູບແບບທີ່ແນ່ນອນທີ່ໃຊ້ບໍ່ໄດ້ລະບຸ.
ຖ້າບໍ່ດັ່ງນັ້ນ, ຄວາມຜິດພາດມາດຕະຖານຈະຖືກນໍາໃຊ້ສໍາລັບຂໍ້ຄວາມວິນິດໄສເທົ່ານັ້ນ.
OUTPUT ເອກະສານ
ບໍ່ມີ.
ອະທິບາຍ ລາຍລະອຽດ
ບໍ່ມີ.
ອອກ STATUS
ຄ່າທາງອອກຕໍ່ໄປນີ້ຈະຖືກສົ່ງຄືນ:
0 ທັງ ໝົດ ເສັ້ນທາງ operands ໄດ້ traverse ສົບຜົນສໍາເລັດ.
>0 ເກີດຄວາມຜິດພາດຂຶ້ນ.
ຂໍ້ສັງເກດ OF ຄວາມຜິດພາດ
ເລີ່ມຕົ້ນ.
ໄດ້ ດັ່ງຕໍ່ໄປນີ້ ພາກສ່ວນ ມີ ຂໍ້ມູນ.
ຄໍາຮ້ອງສະຫມັກ ການນໍາໃຊ້
ເມື່ອໃຊ້ໃນຕົວປະຕິບັດການ, ຫມາຍເຫດຈັບຄູ່ຮູບແບບ, , , ແລະ
ຕົວອັກສອນແມ່ນພິເສດສໍາລັບແກະແລະຕ້ອງໄດ້ຮັບການອ້າງອີງ (ເບິ່ງ ສ່ວນ
2.2, Quoting).
ບິດທີ່ຖືກນໍາໃຊ້ແບບດັ້ງເດີມສໍາລັບຫນຽວ (ປະຫວັດສາດ 01000) ແມ່ນລະບຸໄວ້ໃນ
- perm ຫຼັກໂດຍໃຊ້ຮູບແບບການໂຕ້ແຍ້ງເລກແປດ. ເນື່ອງຈາກວ່າ bit ນີ້ບໍ່ໄດ້ກໍານົດໂດຍນີ້
ປະລິມານຂອງ POSIX.1-2008, ຄໍາຮ້ອງສະຫມັກຈະຕ້ອງບໍ່ສົມມຸດວ່າມັນຫມາຍເຖິງຕົວຈິງ
ໜຽວ ແບບດັ້ງເດີມ.
ຕົວຢ່າງ
1. ຄໍາສັ່ງຕໍ່ໄປນີ້ແມ່ນທຽບເທົ່າ:
ຊອກຫາ .
ຊອກຫາ . - ພິມ
ພວກເຂົາເຈົ້າທັງສອງຂຽນອອກຈາກລໍາດັບຊັ້ນຂອງໄດເລກະທໍລີທັງຫມົດຈາກໄດເລກະທໍລີປະຈຸບັນ.
2. ຄໍາສັ່ງຕໍ່ໄປນີ້:
ຊອກຫາ / \( -ຊື່ tmp −o -ຊື່ '*.xx' \) - ເວລາ +7 -exec rm {} \;
ເອົາໄຟລ໌ທັງຫມົດທີ່ມີຊື່ tmp ຫຼືສິ້ນສຸດໃນ .xx ທີ່ຍັງບໍ່ທັນໄດ້ເຂົ້າເຖິງສໍາລັບເຈັດຫຼື
ຫຼາຍກວ່າ 24 ຊົ່ວໂມງ.
3. ຄໍາສັ່ງຕໍ່ໄປນີ້:
ຊອກຫາ . - perm −o+w,+s
ພິມ (- ພິມ ແມ່ນສົມມຸດວ່າ) ຊື່ຂອງໄຟລ໌ທັງຫມົດຢູ່ໃນຫຼືຂ້າງລຸ່ມນີ້ໄດເລກະທໍລີປະຈຸບັນ,
ດ້ວຍການອະນຸຍາດໄຟລ໌ທັງໝົດຂອງ bits S_ISUID, S_ISGID, ແລະ S_IWOTH ທີ່ຕັ້ງໄວ້.
4. ຄໍາສັ່ງຕໍ່ໄປນີ້:
ຊອກຫາ . -ຊື່ SCCS - ໝາກຫຸ່ງ −o - ພິມ
recursively ພິມຊື່ເສັ້ນທາງຂອງໄຟລ໌ທັງຫມົດໃນໄດເລກະທໍລີປະຈຸບັນແລະຂ້າງລຸ່ມນີ້, ແຕ່
ຂ້າມໄດເລກະທໍລີທີ່ມີຊື່ SCCS ແລະໄຟລ໌ທີ່ຢູ່ໃນພວກມັນ.
5. ຄໍາສັ່ງຕໍ່ໄປນີ້:
ຊອກຫາ . - ພິມ -ຊື່ SCCS - ໝາກຫຸ່ງ
ປະຕິບັດຕົວຄືກັບຕົວຢ່າງທີ່ຜ່ານມາ, ແຕ່ພິມຊື່ຂອງໄດເລກະທໍລີ SCCS.
6. ຄໍາສັ່ງຕໍ່ໄປນີ້ແມ່ນປະມານເທົ່າກັບ − ນ ການຂະຫຍາຍໄປ ການທົດສອບ:
if [ ນ "$(ຊອກຫາ ແຟ້ມ 1 - ໝາກຫຸ່ງ - ໃໝ່ກວ່າ ໄຟລ໌ 2)" ]; ຫຼັງຈາກນັ້ນ
printf %s\\n "ໄຟລ໌ 1 is ໃຫມ່ກວ່າ ກ່ວາ ໄຟລ໌ 2"
fi
7. ລາຍລະອຽດຂອງ - ເວລາ, −ctime, ແລະ -ເວລາ ໃຊ້ຄໍາສັບ n ``86400 ວິນາທີ
ໄລຍະເວລາ (ມື້)''. ຕົວຢ່າງ, ໄຟລ໌ທີ່ເຂົ້າເຖິງເວລາ 23:59 ແມ່ນເລືອກໂດຍ:
ຊອກຫາ . - ເວລາ -1 - ພິມ
ໃນເວລາ 00:01 ໃນມື້ຕໍ່ມາ (ຫນ້ອຍກວ່າ 24 ຊົ່ວໂມງຕໍ່ມາ, ບໍ່ເກີນຫນຶ່ງມື້ກ່ອນຫນ້ານີ້); ໄດ້
ຂອບເຂດເວລາທ່ຽງຄືນລະຫວ່າງມື້ບໍ່ມີຜົນຕໍ່ການຄິດໄລ່ 24 ຊົ່ວໂມງ.
8. ຄໍາສັ່ງຕໍ່ໄປນີ້:
ຊອກຫາ . ! -ຊື່ . - ໝາກຫຸ່ງ -ຊື່ '*.ເກົ່າ' -exec
sh −ຄ 'mv "$@" ../ເກົ່າ/' sh {} +
ປະຕິບັດວຽກງານດຽວກັນກັບ:
mv ./*.ເກົ່າ ./.ເກົ່າ ./.*.ເກົ່າ ../ເກົ່າ/
ໃນຂະນະທີ່ຫຼີກເວັ້ນຄວາມຜິດພາດ ``ລາຍການໂຕ້ແຍ້ງຍາວເກີນໄປ'' ຖ້າມີຈໍານວນຫຼວງຫຼາຍ
ໄຟລ໌ທີ່ລົງທ້າຍດ້ວຍ . ເກົ່າ ແລະໂດຍບໍ່ມີການແລ່ນ mv ຖ້າບໍ່ມີໄຟລ໌ດັ່ງກ່າວ (ແລະຫຼີກເວັ້ນ
``ບໍ່ມີໄຟລ໌ ຫຼືໄດເລກະທໍລີດັ່ງກ່າວ'' ຜິດພາດຖ້າ ./.ເກົ່າ ບໍ່ມີ ຫຼືບໍ່ມີໄຟລ໌ທີ່ກົງກັນ
./*.ເກົ່າ or ./.*.ເກົ່າ).
ທາງເລືອກ:
ຊອກຫາ . ! -ຊື່ . - ໝາກຫຸ່ງ -ຊື່ '*.ເກົ່າ' -exec mv {} ../ເກົ່າ/ \;
ມີປະສິດທິພາບຫນ້ອຍຖ້າມີໄຟລ໌ຈໍານວນຫຼາຍທີ່ຈະຍ້າຍອອກເພາະວ່າມັນດໍາເນີນການຫນຶ່ງ mv ຄໍາສັ່ງ
ຕໍ່ໄຟລ໌.
9. ໃນລະບົບການຕັ້ງຄ່າເພື່ອຕິດຕັ້ງສື່ມວນຊົນເອົາອອກໄດ້ໃນລະບົບພາຍໃຕ້ການ / ເຄິ່ງ ໜຶ່ງ, ການ
ຄໍາສັ່ງດັ່ງຕໍ່ໄປນີ້ຊອກຫາລໍາດັບຂອງໄຟລ໌ສໍາລັບໄຟລ໌ຂະຫນາດໃຫຍ່ກ່ວາ 100000 KB ໂດຍບໍ່ມີການ
ຄົ້ນຫາສື່ທີ່ຖອດອອກໄດ້ທີ່ຕິດຢູ່:
ຊອກຫາ / - ເສັ້ນທາງ / ເຄິ່ງ ໜຶ່ງ - ໝາກຫຸ່ງ −o - ຂະຫນາດ + 200000 - ພິມ
10. ຍົກເວັ້ນສໍາລັບໄດເລກະທໍລີຮາກ, ແລະ "//" ກ່ຽວກັບການຈັດຕັ້ງປະຕິບັດຢູ່ໃສ "//" ບໍ່ໄດ້ອ້າງອີງ
ໄປຫາໄດເລກະທໍລີຮາກ, ບໍ່ມີຮູບແບບໃຫ້ -ຊື່ ຈະກົງກັບ a , ເນື່ອງຈາກວ່າ
ຕິດຕາມ ຕົວອັກສອນຖືກລະເລີຍເມື່ອຄິດໄລ່ຊື່ພື້ນຖານຂອງໄຟລ໌ພາຍໃຕ້
ການປະເມີນຜົນ. ໃຫ້ສອງໄດເລກະທໍລີເປົ່າທີ່ມີຊື່ ຟູ ແລະ ພາທະນາຍຄວາມ, ຄໍາສັ່ງຕໍ່ໄປນີ້:
ຊອກຫາ ຟູ/// ບາ /// -ຊື່ ຟູ −o -ຊື່ 'ບາ?*'
ພິມພຽງແຕ່ເສັ້ນ "ຟູ///".
ສະຖານທີ່
ໄດ້ −ກ ຜູ້ປະກອບການໄດ້ຖືກຮັກສາໄວ້ເປັນຕົວປະຕິບັດການທາງເລືອກສໍາລັບຄວາມເຂົ້າກັນໄດ້ກັບປະຫວັດສາດ
shell scripts, ເຖິງແມ່ນວ່າມັນຊ້ໍາຊ້ອນກັບການສະແດງອອກ.
ລາຍລະອຽດຂອງ '−' ຕົວປ່ຽນແປງໃນ ຮູບແບບການ ແລະ ດ້ານ ໜ້າ ຂອງຂ້ອຍ ການໂຕ້ຖຽງກັບ - perm ຕົ້ນຕໍ
ເຫັນດີກັບການປະຕິບັດປະຫວັດສາດກ່ຽວກັບການປະຕິບັດ BSD ແລະລະບົບ V. ລະບົບ V ແລະ BSD
ເອກະສານທັງສອງອະທິບາຍມັນໃນແງ່ຂອງການກວດສອບ bits ເພີ່ມເຕີມ; ໃນຄວາມເປັນຈິງ, ມັນໃຊ້
bits ດຽວກັນ, ແຕ່ກວດເບິ່ງວ່າມີຢ່າງຫນ້ອຍທັງຫມົດຂອງ bits ທີ່ກົງກັນທີ່ກໍານົດໄວ້ແທນທີ່ຈະມີ
ແນ່ນອນວ່າບິດທີ່ກົງກັນທີ່ກໍານົດໄວ້.
ຮູບແບບທີ່ແນ່ນອນຂອງການເຕືອນແບບໂຕ້ຕອບແມ່ນບໍ່ຖືກລະບຸ. ພຽງແຕ່ລັກສະນະທົ່ວໄປຂອງ
ເນື້ອໃນຂອງການເຕືອນແມ່ນລະບຸໄວ້ເພາະວ່າ:
* ການປະຕິບັດອາດຈະຕ້ອງການກະຕຸ້ນການອະທິບາຍຫຼາຍກ່ວາການນໍາໃຊ້ໃນປະຫວັດສາດ
ການຈັດຕັ້ງປະຕິບັດ.
* ນັບຕັ້ງແຕ່ສາຍດ່ວນປະຫວັດສາດບໍ່ໄດ້ຢຸດເຊົາການ ລັກສະນະ, ມີ
ບໍ່ແມ່ນວິທີການເຄື່ອນທີ່ສໍາລັບໂຄງການອື່ນເພື່ອພົວພັນກັບການກະຕຸ້ນເຕືອນຂອງຜົນປະໂຫຍດນີ້
ຜ່ານທໍ່.
ດັ່ງນັ້ນ, ແອັບພລິເຄຊັນທີ່ໃຊ້ຕົວເລືອກການກະຕຸ້ນເຕືອນນີ້ແມ່ນຂຶ້ນກັບລະບົບເພື່ອສະຫນອງ
ໂຕ້ຕອບທີ່ເຫມາະສົມທີ່ສຸດໂດຍກົງກັບຜູ້ໃຊ້, ອີງຕາມຄໍາແນະນໍາທົ່ວໄປທີ່ລະບຸໄວ້.
ໄດ້ -ຊື່ ເອກະສານ operand ໄດ້ຖືກປ່ຽນໄປໃຊ້ຮູບແບບ shell matching notation ດັ່ງນັ້ນ ຊອກຫາ
ແມ່ນສອດຄ່ອງກັບຜົນປະໂຫຍດອື່ນໆໂດຍໃຊ້ການຈັບຄູ່ຮູບແບບ.
ໄດ້ - ຂະຫນາດ operand ຫມາຍເຖິງຂະຫນາດຂອງໄຟລ໌, ແທນທີ່ຈະເປັນຈໍານວນຂອງຕັນທີ່ມັນອາດຈະ
ຄອບຄອງຢູ່ໃນລະບົບໄຟລ໌. ຈຸດປະສົງແມ່ນວ່າ st_size ພາກສະຫນາມທີ່ກໍານົດໄວ້ໃນລະບົບ
ປະລິມານການໂຕ້ຕອບຂອງ POSIX.1-2008 ຄວນຖືກນໍາໃຊ້, ບໍ່ແມ່ນ st_blocks ພົບເຫັນຢູ່ໃນປະຫວັດສາດ
ການຈັດຕັ້ງປະຕິບັດ. ມີຢ່າງຫນ້ອຍສອງເຫດຜົນສໍາລັບການນີ້:
1. ໃນລະບົບ V ແລະ BSD, ຊອກຫາ ໃຊ້ເທົ່ານັ້ນ st_size ໃນການຄິດໄລ່ຂະຫນາດສໍາລັບ operands
ລະບຸໄວ້ໃນປະລິມານຂອງ POSIX.1-2008 ນີ້. (BSD ໃຊ້ st_blocks ພຽງແຕ່ໃນເວລາທີ່ການປຸງແຕ່ງ
−ls ປະຖົມ.)
2. ຜູ້ໃຊ້ປົກກະຕິແລ້ວຄິດວ່າຂະຫນາດໄຟລ໌ໃນຂໍ້ກໍານົດຂອງ bytes, ຊຶ່ງເປັນຫນ່ວຍບໍລິການທີ່ໃຊ້ໂດຍ
ls ຜົນປະໂຫຍດສໍາລັບຜົນຜະລິດຈາກ −l ທາງເລືອກ. (ທັງລະບົບ V ແລະ BSD, ls ການນໍາໃຊ້
st_size ສໍາລັບ −l ພາກສະຫນາມຂະຫນາດທາງເລືອກແລະການນໍາໃຊ້ st_blocks ສໍາລັບ ls −ສ ການຄິດໄລ່.
ປະລິມານຂອງ POSIX.1-2008 ນີ້ບໍ່ໄດ້ລະບຸ ls −ສ.)
ລາຍລະອຽດຂອງ - ເວລາ, −ctime, ແລະ -ເວລາ ຖືກປ່ຽນຈາກຄໍາອະທິບາຍ SVID ຂອງ n
``ມື້'' ກັບ n ເປັນຜົນມາຈາກການແບ່ງຈຳນວນເຕັມຂອງຄວາມແຕກຕ່າງເວລາເປັນວິນາທີ
ໂດຍ 86400. ຄໍາອະທິບາຍຍັງແຕກຕ່າງກັນໃນເງື່ອນໄຂຂອງໄລຍະເວລາທີ່ແນ່ນອນສໍາລັບການ n ກໍລະນີ
(ເມື່ອທຽບກັບ ໄດ້ +n or ນ), ແຕ່ມັນກົງກັບການປະຕິບັດປະຫວັດສາດທີ່ຮູ້ຈັກທັງຫມົດ. ມັນຫມາຍເຖິງ
ຫນຶ່ງ 86400 ວິນາທີໃນອະດີດ, ບໍ່ແມ່ນເວລາໃດກໍ່ຕາມຕັ້ງແຕ່ຕົ້ນຂອງໄລຍະເວລານັ້ນໄປຫາ
ເວລາປະຈຸບັນ. ຍົກຕົວຢ່າງ, - ເວລາ 2 ແມ່ນເປັນຄວາມຈິງຖ້າຫາກວ່າໄຟລ໌ໄດ້ຖືກເຂົ້າເຖິງທຸກເວລາໃນ
ໄລຍະເວລາຈາກ 72 ຊົ່ວໂມງຫາ 48 ຊົ່ວໂມງກ່ອນ.
ການປະຕິບັດປະຫວັດສາດບໍ່ໄດ້ດັດແປງ "{}" ໃນເວລາທີ່ມັນປາກົດເປັນ substring ຂອງ an -exec
or -ຕົກລົງ utility_name ຫຼື string argument. ມີການຮ້ອງຂໍຂອງຜູ້ໃຊ້ຈໍານວນຫລາຍສໍາລັບການນີ້
ການຂະຫຍາຍ, ດັ່ງນັ້ນປະລິມານຂອງ POSIX.1-2008 ນີ້ອະນຸຍາດໃຫ້ພຶດຕິກໍາທີ່ຕ້ອງການ. ຢ່າງໜ້ອຍໜຶ່ງອັນຫຼ້າສຸດ
ການປະຕິບັດສະຫນັບສະຫນູນຄຸນສົມບັດນີ້, ແຕ່ພົບບັນຫາຈໍານວນຫນຶ່ງໃນການຄຸ້ມຄອງ
ການຈັດສັນຄວາມຊົງຈໍາແລະການຈັດການກັບການປະກົດຕົວຫຼາຍຂອງ "{}" ໃນ string ໃນ ຂະ ນະ ທີ່ ມັນ ແມ່ນ
ໄດ້ຖືກພັດທະນາ, ສະນັ້ນມັນຍັງບໍ່ທັນຕ້ອງການພຶດຕິກໍາ.
ສົມມຸດວ່າມີຂອງ - ພິມ ໄດ້ຖືກເພີ່ມເຂົ້າໃນການແກ້ໄຂຂຸມປະຫວັດສາດທີ່ເກີດໄພພິບັດ
ຜູ້ໃຊ້ຈົວ, ມັນເປັນທັງຫມົດທີ່ເຫມາະສົມຈາກລະບົບປະຫວັດສາດ V ຊອກຫາ utility
ໃນຮູບແບບທີ່ງ່າຍທີ່ສຸດຂອງຕົນ (ຊອກຫາ ລະບົບ), ມັນສາມາດສັບສົນກັບ BSD ປະຫວັດສາດໄວ
ຊອກຫາ. ນັກພັດທະນາ BSD ໄດ້ຕົກລົງທີ່ຈະເພີ່ມ - ພິມ ເປັນການສະແດງອອກໃນຕອນຕົ້ນແມ່ນໄດ້
ການຕັດສິນໃຈທີ່ຖືກຕ້ອງແລະໄດ້ເພີ່ມໄວ ຊອກຫາ ການທໍາງານພາຍໃນຜົນປະໂຫຍດໃຫມ່ທີ່ເອີ້ນວ່າ
ຊອກຫາສະຖານທີ່.
ທາງປະຫວັດສາດ, −ລ ທາງເລືອກໄດ້ຖືກປະຕິບັດໂດຍນໍາໃຊ້ຂັ້ນຕົ້ນ - ປະຕິບັດຕາມ. ໄດ້ − ຮ ແລະ −ລ
ທາງເລືອກໄດ້ຖືກເພີ່ມສໍາລັບສອງເຫດຜົນ. ຫນ້າທໍາອິດ, ພວກເຂົາເຈົ້າສະເຫນີ granularity finer ຂອງການຄວບຄຸມແລະ
ຄວາມສອດຄ່ອງຂອງບັນດາໂຄງການອື່ນໆທີ່ເດີນຕາມລໍາດັບຂອງໄຟລ໌. ອັນທີສອງ, ໄດ້ - ປະຕິບັດຕາມ ຕົ້ນຕໍ
ສະເຫມີປະເມີນວ່າເປັນຄວາມຈິງ. ຍ້ອນວ່າເຂົາເຈົ້າເປັນຕົວແປທົ່ວໂລກໃນປະຫວັດສາດທີ່ໄດ້ຮັບ
ຜົນກະທົບກ່ອນການເດີນທາງໄດ້ເລີ່ມຕົ້ນ, ບາງສໍານວນທີ່ຖືກຕ້ອງມີຜົນໄດ້ຮັບທີ່ບໍ່ຄາດຄິດ. ອັນ
ຕົວຢ່າງແມ່ນການສະແດງອອກ - ພິມ −o - ປະຕິບັດຕາມທີ່ຢູ່ ເນື່ອງຈາກວ່າ - ພິມ ສະເຫມີປະເມີນເປັນຄວາມຈິງ, ໄດ້
ຄໍາສັ່ງມາດຕະຖານຂອງການປະເມີນຜົນຫມາຍຄວາມວ່າ - ປະຕິບັດຕາມ ຈະບໍ່ຖືກປະເມີນ. ອັນນີ້ບໍ່ເຄີຍ
ກໍລະນີ. ການປະຕິບັດປະຫວັດສາດສໍາລັບ - ປະຕິບັດຕາມ ຢ່າງໃດກໍຕາມ, ປະຖົມແມ່ນບໍ່ສອດຄ່ອງ. ບາງ
ການປະຕິບັດສະເຫມີປະຕິບັດຕາມການເຊື່ອມຕໍ່ສັນຍາລັກຢູ່ໃນເສັ້ນຄໍາສັ່ງບໍ່ວ່າຈະເປັນ - ປະຕິບັດຕາມ is
ລະບຸຫຼືບໍ່. ຄົນອື່ນປະຕິບັດຕາມການເຊື່ອມຕໍ່ສັນຍາລັກຢູ່ໃນເສັ້ນຄໍາສັ່ງພຽງແຕ່ຖ້າ - ປະຕິບັດຕາມ is
ລະບຸ. ພຶດຕິກໍາທັງສອງແມ່ນສະຫນອງໃຫ້ໂດຍ − ຮ ແລະ −ລ ທາງເລືອກ, ແຕ່ສະຄິບໂດຍໃຊ້
ໃນປະຈຸບັນ - ປະຕິບັດຕາມ ປະຖົມຈະຖືກທໍາລາຍຖ້າຫາກວ່າ - ປະຕິບັດຕາມ ທາງເລືອກແມ່ນກໍານົດໃຫ້ເຮັດວຽກທັງຫມົດ
ວິທີການ.
ນັບຕັ້ງແຕ່ −ລ ທາງເລືອກແກ້ໄຂການເຊື່ອມຕໍ່ສັນຍາລັກທັງຫມົດແລະ - ປະເພດ l ປະຖົມແມ່ນຄວາມຈິງສໍາລັບ
ການເຊື່ອມໂຍງສັນຍາລັກທີ່ຍັງຄົງຢູ່ຫຼັງຈາກການເຊື່ອມໂຍງສັນຍາລັກໄດ້ຖືກແກ້ໄຂ, ຄໍາສັ່ງ:
ຊອກຫາ −ລ . - ປະເພດ l
ພິມລາຍຊື່ຂອງການເຊື່ອມຕໍ່ສັນຍາລັກທີ່ສາມາດບັນລຸໄດ້ຈາກໄດເລກະທໍລີປະຈຸບັນທີ່ບໍ່ໄດ້ແກ້ໄຂ
ໄຟລ໌ທີ່ສາມາດເຂົ້າເຖິງໄດ້.
ຄຸນນະສົມບັດຂອງ SVR4 ຂອງ ຊອກຫາ ຜົນປະໂຫຍດແມ່ນ -exec ປະຖົມ + terminator. ນີ້ອະນຸຍາດໃຫ້
ຊື່ໄຟລ໌ທີ່ມີຕົວອັກສອນພິເສດ (ໂດຍສະເພາະ ລັກສະນະ) ທີ່ຈະຈັດກຸ່ມ
ຮ່ວມກັນໂດຍບໍ່ມີບັນຫາທີ່ເກີດຂຶ້ນຖ້າຫາກວ່າຊື່ໄຟລ໌ດັ່ງກ່າວຖືກທໍ່ກັບ xargsທີ່ຢູ່ ອື່ນໆ
ການປະຕິບັດໄດ້ເພີ່ມວິທີການອື່ນໆເພື່ອແກ້ໄຂບັນຫານີ້, ໂດຍສະເພາະແມ່ນ -ພິມ0
ຫຼັກທີ່ຂຽນຊື່ໄຟລ໌ດ້ວຍຕົວສິ້ນສຸດ byte null. ນີ້ໄດ້ຖືກພິຈາລະນາຢູ່ທີ່ນີ້, ແຕ່
ບໍ່ໄດ້ຮັບຮອງເອົາ. ການນໍາໃຊ້ຕົວສິ້ນສຸດ null ຫມາຍຄວາມວ່າຜົນປະໂຫຍດໃດໆທີ່ຈະດໍາເນີນການ
ຊອກຫາ's -ພິມ0 ຜົນຜະລິດຕ້ອງເພີ່ມທາງເລືອກໃຫມ່ເພື່ອວິເຄາະຕົວສິ້ນສຸດ null ທີ່ມັນຈະຕອນນີ້
ກຳລັງອ່ານ.
ໄດ້ "-exec...{}+" syntax ທີ່ຖືກຮັບຮອງເອົາແມ່ນຜົນມາຈາກ IEEE PASC Interpretation 1003.2 #210. ມັນ
ຄວນສັງເກດວ່ານີ້ແມ່ນການປ່ຽນແປງທີ່ບໍ່ເຂົ້າກັນກັບ IEEE Std 1003.2-1992. ຍົກຕົວຢ່າງ,
ຄໍາສັ່ງຕໍ່ໄປນີ້ພິມໄຟລ໌ທັງຫມົດດ້ວຍ a '−' ຫຼັງຈາກຊື່ຂອງເຂົາເຈົ້າຖ້າຫາກວ່າພວກເຂົາເຈົ້າເປັນປົກກະຕິ
ໄຟລ໌, ແລະ ກ '+' ບໍ່ດັ່ງນັ້ນ:
ຊອກຫາ / - ປະເພດ f -exec echo {} - ';' −o -exec echo {} + ';'
ການປ່ຽນແປງບໍ່ຖືກຕ້ອງການນໍາໃຊ້ເຊັ່ນນີ້. ເຖິງແມ່ນວ່າມາດຕະຖານທີ່ຜ່ານມາໄດ້ລະບຸໄວ້ວ່ານີ້
ການນໍາໃຊ້ຈະເຮັດວຽກ, ໃນທາງປະຕິບັດ, ຫຼາຍຄົນບໍ່ສະຫນັບສະຫນູນມັນແລະຜູ້ພັດທະນາມາດຕະຖານຮູ້ສຶກວ່າມັນ
ດີກວ່າໃນປັດຈຸບັນທີ່ບອກວ່າອັນນີ້ບໍ່ອະນຸຍາດໃຫ້.
ອະນາຄົດ DIRECTIONS
ບໍ່ມີ.
ໃຊ້ findposix ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net