ຊຸດ RHCSA: ວິທີການຈັດການແຟ້ມເອກະສານແລະການຄຸ້ມຄອງລະບົບ - ພາກທີ 2


ໃນບົດຂຽນນີ້, RHCSA ພາກທີ 2: ການຄຸ້ມຄອງເອກະສານແລະລະບົບ, ພວກເຮົາຈະທົບທວນທັກສະທີ່ ຈຳ ເປັນບາງຢ່າງທີ່ ຈຳ ເປັນໃນ ໜ້າ ວຽກປະ ຈຳ ວັນຂອງຜູ້ບໍລິຫານລະບົບ.

ສ້າງ, ລຶບ, ຄັດລອກແລະຍ້າຍເອກະສານແລະໄດເລກະທໍລີ

ການຄຸ້ມຄອງເອກະສານແລະໄດເລກະທໍລີແມ່ນຄວາມສາມາດທີ່ ສຳ ຄັນທີ່ຜູ້ບໍລິຫານລະບົບທຸກຄົນຄວນມີໄວ້. ນີ້ປະກອບມີຄວາມສາມາດໃນການສ້າງ/ລຶບເອກະສານຂໍ້ຄວາມຈາກ scratch (ຫຼັກຂອງການຕັ້ງຄ່າຂອງໂປແກຼມແຕ່ລະໂປແກຼມ) ແລະລາຍຊື່ໄດເລກະທໍລີ (ບ່ອນທີ່ທ່ານຈະຈັດແຟ້ມເອກະສານແລະໄດເລກະທໍລີອື່ນໆ), ແລະຊອກຫາປະເພດເອກະສານທີ່ມີຢູ່.

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

ທ່ານສາມາດໃຊ້ file [filename] ເພື່ອ ກຳ ນົດປະເພດເອກະສານ (ສິ່ງນີ້ຈະມີປະໂຫຍດກ່ອນທີ່ຈະເປີດຕົວຕົວແກ້ໄຂຂໍ້ຄວາມທີ່ທ່ານຕ້ອງການເພື່ອດັດແກ້).

ແລະ rm [filename] ເພື່ອລຶບມັນ.

ສຳ ລັບລາຍຊື່ໄດເລກະທໍລີ, ທ່ານສາມາດສ້າງໄດເລກະທໍລີພາຍໃນເສັ້ນທາງທີ່ມີຢູ່ກັບ mkdir [ໄດເລກະທໍລີ] ຫຼືສ້າງເສັ້ນທາງເຕັມທີ່ມີ mkdir -p [/ full/path/to/directory] .

ເມື່ອເວົ້າເຖິງການ ກຳ ຈັດບັນດາໄດເລກະທໍລີ, ທ່ານ ຈຳ ເປັນຕ້ອງຮັບປະກັນວ່າມັນຫວ່າງເປົ່າກ່ອນທີ່ຈະອອກ ຄຳ ສັ່ງ rmdir [directory] , ຫຼື ນຳ ໃຊ້ທີ່ມີປະສິດທິພາບສູງກວ່າ (ຈັດການດ້ວຍຄວາມລະມັດລະວັງ!) rm -rf [ໄດເລກະທໍລີ] . ຕົວເລືອກສຸດທ້າຍນີ້ຈະບັງຄັບໃຫ້ຍ້າຍ [ໄດເລກະທໍລີ] ແລະເນື້ອຫາທັງ ໝົດ ຂອງມັນອອກ - ສະນັ້ນໃຊ້ມັນຢູ່ໃນຄວາມສ່ຽງຂອງທ່ານເອງ.

ການປ່ຽນເສັ້ນທາງເຂົ້າແລະຂາອອກ

ສະພາບແວດລ້ອມຂອງເສັ້ນ ຄຳ ສັ່ງໃຫ້ມີສອງລັກສະນະທີ່ເປັນປະໂຫຍດຫຼາຍທີ່ຊ່ວຍໃຫ້ການປ່ຽນເສັ້ນທາງເຂົ້າແລະອອກຂອງ ຄຳ ສັ່ງຈາກແລະເຂົ້າໄປໃນແຟ້ມແລະສົ່ງຜົນຜະລິດຂອງ ຄຳ ສັ່ງໄປຫາອີກອັນ ໜຶ່ງ ເຊິ່ງເອີ້ນວ່າການປ່ຽນເສັ້ນທາງແລະການສາຍທໍ່ຕາມ ລຳ ດັບ.

ເພື່ອເຂົ້າໃຈແນວຄວາມຄິດສອງຢ່າງທີ່ ສຳ ຄັນດັ່ງກ່າວ, ກ່ອນອື່ນ ໝົດ, ພວກເຮົາຕ້ອງເຂົ້າໃຈ 3 ປະເພດທີ່ ສຳ ຄັນທີ່ສຸດຂອງສາຍນ້ ຳ I/O (Input and Output) ຂອງຕົວອັກສອນ (ຫຼື ລຳ ດັບ) ຂອງຕົວອັກສອນ, ເຊິ່ງໃນຄວາມເປັນຈິງແລ້ວມີເອກະສານພິເສດ, ໃນຄວາມ ໝາຍ ຂອງ ຄຳ ວ່າ nix.

<

  • ການປ້ອນຂໍ້ມູນແບບມາດຕະຖານ (aka stdin) ແມ່ນຖືກຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນກັບແປ້ນພິມ. ເວົ້າອີກຢ່າງ ໜຶ່ງ, ແປ້ນພິມແມ່ນອຸປະກອນປ້ອນຂໍ້ມູນແບບມາດຕະຖານເພື່ອປ້ອນ ຄຳ ສັ່ງເຂົ້າເສັ້ນ ຄຳ ສັ່ງ.
  • ຜົນຜະລິດທີ່ໄດ້ມາດຕະຖານ (aka stdout) ແມ່ນຕິດຕັ້ງໃນ ໜ້າ ຈໍໂດຍປົກກະຕິ, ອຸປະກອນທີ່“ ຮັບ” ຜົນຜະລິດຂອງ ຄຳ ສັ່ງແລະສະແດງຢູ່ ໜ້າ ຈໍ.
  • ຂໍ້ຜິດພາດມາດຕະຖານ (aka stderr), ແມ່ນຂໍ້ຄວາມສະຖານະພາບຂອງ ຄຳ ສັ່ງທີ່ຖືກສົ່ງໄປໂດຍຄ່າເລີ່ມຕົ້ນ, ເຊິ່ງມັນກໍ່ແມ່ນ ໜ້າ ຈໍ.
  • ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ຜົນຜະລິດຂອງ ls/var ຖືກສົ່ງໄປ stdout (ໜ້າ ຈໍ), ພ້ອມທັງຜົນຂອງ ls/tecmint. ແຕ່ໃນກໍລະນີສຸດທ້າຍ, ມັນແມ່ນ stderr ທີ່ສະແດງໃຫ້ເຫັນ.

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

    ເພື່ອປ່ຽນເສັ້ນທາງ stdin (fd 0), stdout (fd 1), ຫຼື stderr (fd 2), ມີຜູ້ປະຕິບັດງານຕໍ່ໄປນີ້.

    ກົງກັນຂ້າມກັບການປ່ຽນເສັ້ນທາງ, ການເຮັດທໍ່ສົ່ງແມ່ນປະຕິບັດໂດຍການເພີ່ມແຖບແນວຕັ້ງ (|) ຫຼັງຈາກສັ່ງແລ້ວກ່ອນອື່ນ.

    ຈືຂໍ້ມູນການ:

    <

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

    # ls -1 /var/mail > mail.txt
    

    ໃນກໍລະນີທີ່ພວກເຮົາຕ້ອງການປ້ອງກັນບໍ່ໃຫ້ສະແດງທັງ stdout ແລະ stderr ໃນ ໜ້າ ຈໍ, ພວກເຮົາສາມາດປ່ຽນຕົວອະທິບາຍເອກະສານທັງສອງໄປທີ່ /dev/null . ໃຫ້ສັງເກດວ່າຜົນຜະລິດປ່ຽນແປງແນວໃດເມື່ອການປ່ຽນເສັ້ນທາງຖືກຈັດຕັ້ງປະຕິບັດ ສຳ ລັບ ຄຳ ສັ່ງດຽວກັນ.

    # ls /var /tecmint
    # ls /var/ /tecmint &> /dev/null
    

    ໃນຂະນະທີ່ syntax ຄລາສສິກຂອງ ຄຳ ສັ່ງແມວແມ່ນດັ່ງຕໍ່ໄປນີ້.

    # cat [file(s)]
    

    ທ່ານຍັງສາມາດສົ່ງເອກະສານເປັນວັດສະດຸປ້ອນ, ໂດຍໃຊ້ຕົວປະຕິບັດການປ່ຽນເສັ້ນທາງທີ່ຖືກຕ້ອງ.

    # cat < mail.txt
    

    ຖ້າທ່ານມີໄດເລກະທໍລີໃຫຍ່ຫລືລາຍຊື່ຂັ້ນຕອນແລະຕ້ອງການທີ່ຈະຊອກຫາເອກະສານຫຼືຂັ້ນຕອນທີ່ແນ່ນອນ, ທ່ານຕ້ອງການສົ່ງລາຍຊື່ໄປ grep.

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

    # ps -ef | grep apache | grep -v grep