4 ຄຳ ແນະ ນຳ ທີ່ເປັນປະໂຫຍດກ່ຽວກັບ mkdir, tar ແລະຂ້າ Commands ໃນ Linux


ພວກເຮົາສືບຕໍ່ເຮັດ ສຳ ເລັດວຽກງານ ໜຶ່ງ ຢ່າງເປັນປະ ຈຳ ຈົນກວ່າພວກເຮົາຈະຮູ້ວ່າມັນສາມາດປະຕິບັດໄດ້ໃນທາງທີ່ດີກວ່າວິທີອື່ນ. ໃນການສືບຕໍ່ຂອງ Linux Tips ແລະ Trick Series ຂອງພວກເຮົາ, ຂ້າພະເຈົ້າຢູ່ທີ່ນີ້ດ້ວຍ ຄຳ ແນະ ນຳ 4 ຢ່າງຂ້າງລຸ່ມນີ້ທີ່ຈະຊ່ວຍທ່ານໃນຫລາຍໆດ້ານ. ນີ້ພວກເຮົາໄປ!

ໂຄງສ້າງລະບົບຕົ້ນໄມ້ເພື່ອໃຫ້ບັນລຸຕາມທີ່ແນະ ນຳ ຂ້າງລຸ່ມນີ້.

$ cd /home/$USER/Desktop
$ mkdir tecmint
$ mkdir tecmint/etc
$ mkdir tecmint/lib
$ mkdir tecmint/usr
$ mkdir tecmint/bin
$ mkdir tecmint/tmp
$ mkdir tecmint/opt
$ mkdir tecmint/var
$ mkdir tecmint/etc/x1
$ mkdir tecmint/usr/x2
$ mkdir tecmint/usr/x3
$ mkdir tecmint/tmp/Y1
$ mkdir tecmint/tmp/Y2
$ mkdir tecmint/tmp/Y3
$ mkdir tecmint/tmp/Y3/z

ສະຖານະການຂ້າງເທິງນີ້ສາມາດບັນລຸໄດ້ງ່າຍໆໂດຍການແລ່ນ ຄຳ ສັ່ງ 1 ເສັ້ນຂ້າງລຸ່ມ.

$ mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}

ເພື່ອພິສູດວ່າທ່ານອາດຈະໃຊ້ ຄຳ ສັ່ງຕົ້ນໄມ້. ຖ້າຫາກວ່າບໍ່ໄດ້ຕິດຕັ້ງທ່ານອາດຈະ apt ຫຼື yum ຊຸດ 'ຕົ້ນໄມ້'.

$ tree tecmint

ພວກເຮົາສາມາດສ້າງໂຄງສ້າງຕົ້ນໄມ້ຂອງໄດເລກະທໍລີຂອງຄວາມສັບສົນໃດໆໂດຍໃຊ້ວິທີຂ້າງເທິງ. ໃຫ້ສັງເກດວ່າມັນບໍ່ມີຫຍັງນອກ ເໜືອ ຈາກ ຄຳ ສັ່ງປົກກະຕິແຕ່ມັນໃຊ້ {} ເພື່ອສ້າງ ລຳ ດັບຂອງລາຍການ. ສິ່ງນີ້ອາດຈະເປັນປະໂຫຍດຫຼາຍຖ້າຖືກ ນຳ ໃຊ້ຈາກພາຍໃນຂອງ ໜັງ ສືແກະເປືອກເມື່ອ ຈຳ ເປັນແລະໂດຍທົ່ວໄປ.

ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

ຜູ້ໃຊ້ປົກກະຕິຈະເຮັດຫຍັງໃນສະຖານະການນີ້?

ກ. ລາວຈະສ້າງແຟ້ມເອກະສານກ່ອນ, ມັກໃຊ້ ຄຳ ສັ່ງ touch, ຄື:

$ touch /home/$USER/Desktop/test

ຂ. ລາວຈະໃຊ້ບັນນາທິການຕົວ ໜັງ ສືເພື່ອເປີດເອກະສານ, ເຊິ່ງອາດຈະແມ່ນ nano, vim, ຫຼືບັນນາທິການອື່ນໆ.

$ nano /home/$USER/Desktop/test

ຄ. ຈາກນັ້ນລາວຈະເອົາຂໍ້ຄວາມຂ້າງເທິງນີ້ລົງໃນເອກະສານນີ້, ບັນທຶກແລະອອກໄປ.

ສະນັ້ນບໍ່ວ່າລາວ/ລາວຈະໄດ້ໃຊ້ເວລາ ໜ້ອຍ ເທົ່າໃດກໍ່ຕາມ, ລາວຕ້ອງການຢ່າງ ໜ້ອຍ 3 ບາດກ້າວເພື່ອປະຕິບັດສະຖານະການຂ້າງເທິງ.

Linux-er ທີ່ມີປະສົບການທີ່ສະຫຼາດຈະເຮັດແນວໃດ? ລາວພຽງແຕ່ຈະພິມຂໍ້ຄວາມຂ້າງລຸ່ມນີ້ເຂົ້າໄປໃນສະຖານີ ໜຶ່ງ ດຽວແລະ ສຳ ເລັດແລ້ວ. ລາວບໍ່ ຈຳ ເປັນຕ້ອງເຮັດການກະ ທຳ ແຕ່ລະຢ່າງຕ່າງຫາກ.

cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF

ທ່ານອາດຈະໃຊ້ ຄຳ ສັ່ງ 'cat' ເພື່ອກວດເບິ່ງວ່າເອກະສານແລະເນື້ອຫາຂອງມັນຖືກສ້າງຂື້ນຢ່າງປະສົບຜົນ ສຳ ເລັດຫຼືບໍ່.

$ cat /home/avi/Desktop/test

ໂດຍປົກກະຕິພວກເຮົາເຮັດສອງຢ່າງໃນສະຖານະການນີ້.

ກ. ສຳ ເນົາ/ຍ້າຍບານ tar ແລະສະກັດມັນຢູ່ປາຍທາງ, ດັ່ງທີ່:

$ cp firefox-37.0.2.tar.bz2 /opt/
or
$ mv firefox-37.0.2.tar.bz2 /opt/

ຂ. cd ໃສ່/opt/directory.

$ cd /opt/

ຄ. ສານສະກັດຈາກ Tarball.

# tar -jxvf firefox-37.0.2.tar.bz2 

ພວກເຮົາສາມາດເຮັດສິ່ງນີ້ໄດ້ໃນທາງອື່ນ.

ພວກເຮົາຈະເອົາ Tarball ບ່ອນທີ່ມັນຢູ່ແລະ Copy/ຍ້າຍເອກະສານເກັບຂໍ້ມູນໄປຍັງຈຸດ ໝາຍ ປາຍທາງທີ່ຕ້ອງການຄື:

$ tar -jxvf firefox-37.0.2.tar.bz2 
$ cp -R firefox/  /opt/
or
$ mv firefox/ /opt/

ໃນກໍລະນີບໍ່ວ່າວຽກຈະ ກຳ ລັງ ດຳ ເນີນສອງຂັ້ນຕອນເພື່ອເຮັດ ສຳ ເລັດ. ນັກວິຊາຊີບສາມາດເຮັດ ສຳ ເລັດວຽກງານນີ້ໄດ້ໃນບາດກ້າວ ໜຶ່ງ ຄື:

$ tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/

ຕົວເລືອກ C ເຮັດໃຫ້ tar ສະກັດເອກະສານເກັບໄວ້ໃນໂຟນເດີທີ່ລະບຸໄວ້ (ນີ້/ເລືອກ /).

ບໍ່ມັນບໍ່ແມ່ນກ່ຽວກັບທາງເລືອກ ໜຶ່ງ (-C) ແຕ່ມັນແມ່ນກ່ຽວກັບນິໄສ. ສ້າງນິໄສການໃຊ້ຕົວເລືອກ -C ກັບ tar. ມັນຈະເຮັດໃຫ້ຊີວິດທ່ານງ່າຍຂື້ນ. ຈາກນີ້ຢ່າຍ້າຍຮວບຮວມຫຼືຄັດລອກ/ຍ້າຍເອກະສານທີ່ສະກັດ, ພຽງແຕ່ອອກຈາກບານ TAR ຢູ່ໃນໂຟນເດີດາວໂຫລດແລະສະກັດຢູ່ທຸກບ່ອນທີ່ທ່ານຕ້ອງການ.

ໂດຍທົ່ວໄປ, ທຳ ອິດພວກເຮົາລົງລາຍຊື່ທຸກຂັ້ນຕອນໂດຍໃຊ້ ຄຳ ສັ່ງ ps -A ແລະສົ່ງມັນດ້ວຍ grep ເພື່ອຊອກຫາຂັ້ນຕອນ/ການບໍລິການ (ເວົ້າ apache2), ງ່າຍໆຄື:

$ ps -A | grep -i apache2
1006 ?        00:00:00 apache2
 2702 ?        00:00:00 apache2
 2703 ?        00:00:00 apache2
 2704 ?        00:00:00 apache2
 2705 ?        00:00:00 apache2
 2706 ?        00:00:00 apache2
 2707 ?        00:00:00 apache2

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

# kill 1006 2702 2703 2704 2705 2706 2707

ແລະຫຼັງຈາກນັ້ນຂ້າມການກວດສອບຖ້າວ່າຂັ້ນຕອນ/ການບໍລິການໃດ ໜຶ່ງ ທີ່ມີຊື່ວ່າ 'apache2' ກຳ ລັງເຮັດວຽກຫຼືບໍ່ເຊັ່ນ:

$ ps -A | grep -i apache2

ເຖິງຢ່າງໃດກໍ່ຕາມພວກເຮົາສາມາດເຮັດມັນໄດ້ໃນຮູບແບບທີ່ສາມາດເຂົ້າໃຈໄດ້ຫຼາຍຂຶ້ນໂດຍໃຊ້ສິ່ງ ອຳ ນວຍຄວາມສະດວກເຊັ່ນ: pgrep ແລະ pkill. ທ່ານອາດຈະຊອກຫາຂໍ້ມູນທີ່ກ່ຽວຂ້ອງກ່ຽວກັບຂະບວນການພຽງແຕ່ໃຊ້ pgrep. ເວົ້າວ່າທ່ານຕ້ອງຊອກຫາຂໍ້ມູນກ່ຽວກັບຂັ້ນຕອນ ສຳ ລັບ apache2, ທ່ານອາດຈະເຮັດ:

$ pgrep apache2
15396
15400
15401
15402
15403
15404
15405

ນອກນັ້ນທ່ານຍັງອາດຈະຂຽນຊື່ຂະບວນການຕໍ່ pid ໂດຍການແລ່ນ.

$ pgrep -l apache2
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

ການຂ້າຂະບວນການໂດຍໃຊ້ pkill ແມ່ນງ່າຍດາຍຫຼາຍ. ທ່ານພຽງແຕ່ພິມຊື່ຂອງຊັບພະຍາກອນເພື່ອຂ້າແລະທ່ານກໍ່ເຮັດແລ້ວ. ຂ້າພະເຈົ້າໄດ້ຂຽນຂໍ້ຄວາມລົງໃນ pkill ເຊິ່ງທ່ານອາດຈະຕ້ອງການອ້າງອີງທີ່ນີ້: https://linux-console.net/how-to-kill-a-process-in-linux/.

ເພື່ອຂ້າຂະບວນການ (ເວົ້າ apache2) ໂດຍໃຊ້ pkill, ສິ່ງທີ່ທ່ານຕ້ອງເຮັດແມ່ນ:

# pkill apache2

ທ່ານອາດຈະກວດພິສູດວ່າ apache2 ໄດ້ຖືກຂ້າຫລືບໍ່ໂດຍການໃຊ້ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້.

$ pgrep -l apache2

ມັນສົ່ງຄືນການກະຕຸ້ນເຕືອນແລະພິມບໍ່ມີຫຍັງຫມາຍຄວາມວ່າບໍ່ມີຂັ້ນຕອນທີ່ເຮັດວຽກໂດຍຊື່ຂອງ apache2.

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