ເຂົ້າໃຈກ່ຽວກັບເອກະສານການເລີ່ມຕົ້ນຂອງ Shell ແລະໂປຼໄຟລ໌ຂອງຜູ້ໃຊ້ໃນ Linux


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

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

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍເອກະສານເລີ່ມຕົ້ນຂອງຫອຍທີ່ກ່ຽວຂ້ອງກັບໂປຣໄຟລ໌ຜູ້ໃຊ້ ສຳ ລັບການຄຸ້ມຄອງຜູ້ໃຊ້ທ້ອງຖິ່ນໃນ Linux. ພວກເຮົາຈະແຈ້ງໃຫ້ທ່ານຮູ້ບ່ອນທີ່ຈະຮັກສາການເຮັດວຽກຂອງຫອຍ, Custom, aliases, ຕົວແປແລະໂປແກຼມເລີ່ມຕົ້ນຕ່າງໆ.

ສິ່ງທີ່ ສຳ ຄັນ: ສຳ ລັບຈຸດປະສົງຂອງບົດຂຽນນີ້, ພວກເຮົາຈະເນັ້ນ ໜັກ ໃສ່ bash, ເຊິ່ງເປັນຫອຍ sh ທີ່ ເໝາະ ສົມເຊິ່ງເປັນຫອຍທີ່ນິຍົມທີ່ສຸດ/ໃຊ້ໃນລະບົບ Linux ຢູ່ນອກນັ້ນ.

ຖ້າທ່ານ ກຳ ລັງໃຊ້ໂປແກມທີ່ແຕກຕ່າງກັນ (zsh, ຂີ້ເທົ່າ, ປາແລະອື່ນໆ), ອ່ານຜ່ານເອກະສານຂອງມັນເພື່ອຊອກຮູ້ເພີ່ມເຕີມກ່ຽວກັບບາງເອກະສານທີ່ກ່ຽວຂ້ອງທີ່ພວກເຮົາຈະກ່າວເຖິງໃນນີ້.

ການລິເລີ່ມ Shell ໃນ Linux

ໃນເວລາທີ່ຫອຍຖືກເອີ້ນ, ມັນມີບາງເອກະສານເລີ່ມຕົ້ນ/ເລີ່ມຕົ້ນທີ່ມັນອ່ານເຊິ່ງຊ່ວຍໃນການຈັດການສະພາບແວດລ້ອມ ສຳ ລັບຫອຍຕົວເອງແລະຜູ້ໃຊ້ລະບົບ; ທີ່ຖືກ ກຳ ນົດໄວ້ລ່ວງ ໜ້າ (ແລະປັບແຕ່ງ) ໜ້າ ທີ່, ຕົວແປ, ນາມແຝງແລະອື່ນໆ.

ມີສອງປະເພດຂອງໄຟລ໌ເລີ່ມຕົ້ນທີ່ອ່ານໂດຍແກະ:

  • ເອກະສານເລີ່ມຕົ້ນລະບົບ - ລະບົບເຫຼົ່ານີ້ມີການຕັ້ງຄ່າທົ່ວໂລກທີ່ໃຊ້ກັບຜູ້ໃຊ້ທັງ ໝົດ ໃນລະບົບ, ແລະມັກຈະຕັ້ງຢູ່ໃນລະບົບ/etc ພວກມັນລວມມີ:/etc/profile ແລະ/etc/bashrc ຫຼື /etc/bash.bashrc.
  • ແຟ້ມເອກະສານເລີ່ມຕົ້ນສະເພາະຂອງຜູ້ໃຊ້ - ການຕັ້ງຄ່າຮ້ານເຫຼົ່ານີ້ທີ່ ນຳ ໃຊ້ກັບຜູ້ໃຊ້ດຽວໃນລະບົບແລະປົກກະຕິຈະຕັ້ງຢູ່ໃນລະບົບໂຮມຂອງຜູ້ໃຊ້ເປັນແຟ້ມ dot ພວກເຂົາສາມາດປະຕິເສດການຕັ້ງຄ່າທົ່ວລະບົບ. ພວກມັນປະກອບມີ:. ໂປແກຼມ, .bash_profile, .bashrc ແລະ .bash_login.

ອີກເທື່ອຫນຶ່ງ, ຫອຍສາມາດຖືກຮຽກຮ້ອງໃນສາມຮູບແບບທີ່ເປັນໄປໄດ້:

ຫອຍໄດ້ຖືກເອີ້ນຫຼັງຈາກຜູ້ໃຊ້ເຂົ້າສູ່ລະບົບສົບຜົນສໍາເລັດ, ໂດຍໃຊ້/ເຂົ້າ/ເຂົ້າສູ່ລະບົບ, ຫຼັງຈາກອ່ານຂໍ້ມູນປະຈໍາຕົວທີ່ເກັບໄວ້ໃນແຟ້ມ/etc/passwd.

ໃນເວລາທີ່ຫອຍໄດ້ຖືກເລີ່ມຕົ້ນເປັນຫອຍເຂົ້າສູ່ລະບົບແບບໂຕ້ຕອບ, ມັນອ່ານ/etc/profile ແລະທຽບເທົ່າສະເພາະຂອງຜູ້ໃຊ້ ~/.bash_profile.

ຫອຍແມ່ນເລີ່ມຕົ້ນທີ່ເສັ້ນ ຄຳ ສັ່ງໂດຍໃຊ້ໂປແກຼມຫອຍຕົວຢ່າງເຊັ່ນ $/bin/bash ຫຼື $/bin/zsh. ມັນກໍ່ສາມາດເລີ່ມຕົ້ນໄດ້ໂດຍການແລ່ນຄໍາສັ່ງ/bin/su.

ນອກຈາກນັ້ນ, ຫອຍທີ່ບໍ່ເຂົ້າສູ່ລະບົບແບບໂຕ້ຕອບກໍ່ສາມາດຖືກຮຽກຮ້ອງກັບໂປແກຼມທີ່ຢູ່ປາຍທາງເຊັ່ນ: konsole, xterm ຈາກພາຍໃນສະພາບແວດລ້ອມກາຟິກ.

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

$ su
# ls -la

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

ມີຄວາມເຂົ້າໃຈກ່ຽວກັບລະບົບທີ່ກວ້າງຂວາງກ່ຽວກັບ Shell Startup Files

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

ແຟ້ມເອກະສານ/etc/profile - ມັນເກັບຂໍ້ມູນການຕັ້ງຄ່າສະພາບແວດລ້ອມແລະລະບົບໂປແກຼມເລີ່ມຕົ້ນ ສຳ ລັບການຕັ້ງຄ່າເຂົ້າສູ່ລະບົບ. ການຕັ້ງຄ່າທັງ ໝົດ ທີ່ທ່ານຕ້ອງການ ນຳ ໃຊ້ກັບສະພາບແວດລ້ອມຂອງຜູ້ ນຳ ໃຊ້ລະບົບທັງ ໝົດ ຄວນຖືກເພີ່ມເຂົ້າໃນເອກະສານນີ້.

ຍົກຕົວຢ່າງ, ທ່ານສາມາດ ກຳ ນົດຕົວປ່ຽນແປງສະພາບແວດລ້ອມ PATH ທົ່ວໂລກຂອງທ່ານໄດ້ທີ່ນີ້.

# cat /etc/profile

ໝາຍ ເຫດ: ໃນບາງລະບົບເຊັ່ນ RHEL/CentOS 7, ທ່ານຈະໄດ້ຮັບ ຄຳ ເຕືອນເຊັ່ນວ່າ“ ມັນບໍ່ໄດ້ຖືກແນະ ນຳ ໃຫ້ປ່ຽນເອກະສານນີ້ເວັ້ນເສຍແຕ່ວ່າທ່ານຮູ້ວ່າທ່ານ ກຳ ລັງເຮັດຫຍັງຢູ່. ມັນເປັນສິ່ງທີ່ດີກວ່າທີ່ຈະສ້າງສະຄິບ .sh shell ໃນ /etc/profile.d/ ເພື່ອເຮັດການປ່ຽນແປງສະພາບແວດລ້ອມຂອງທ່ານ, ເພາະວ່າສິ່ງນີ້ຈະປ້ອງກັນບໍ່ໃຫ້ຄວາມຕ້ອງການລວມເຂົ້າກັນໃນການປັບປຸງໃນອະນາຄົດ”.

ໄດເລກະທໍລີ /etc/profile.d/ - ເກັບຕົວ ໜັງ ສືແກະທີ່ໃຊ້ເພື່ອເຮັດການປ່ຽນແປງສະພາບແວດລ້ອມຂອງທ່ານ:

# cd /etc/profile.d/
# ls  -l 

ເອກະສານ/etc/bashrc ຫຼື /etc/bash.bashrc - ມີ ໜ້າ ທີ່ຂອງລະບົບແລະນາມແຝງລວມທັງການຕັ້ງຄ່າອື່ນໆທີ່ ນຳ ໃຊ້ກັບຜູ້ໃຊ້ລະບົບທັງ ໝົດ.

ຖ້າລະບົບຂອງທ່ານມີຫອຍຫຼາຍປະເພດ, ມັນກໍ່ເປັນການດີທີ່ຈະໃສ່ການຕັ້ງຄ່າແບບ bash-specific ໃນເອກະສານນີ້.

# cat /etc/bashrc

ເຂົ້າໃຈກ່ຽວກັບ Shell Startup Files ທີ່ສະເພາະເຈາະຈົງໂດຍຜູ້ໃຊ້

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

# ls -la

ໄຟລ໌ ~/.bash_profile - ນີ້ເກັບຮັກສາສະພາບແວດລ້ອມສະເພາະຂອງຜູ້ໃຊ້ແລະການຕັ້ງຄ່າໂປແກຼມເລີ່ມຕົ້ນ. ທ່ານສາມາດ ກຳ ນົດຕົວປ່ຽນແປງສະພາບແວດລ້ອມ PATH ຂອງທ່ານທີ່ນີ້, ດັ່ງທີ່ສະແດງຢູ່ໃນ ໜ້າ ຈໍຂ້າງລຸ່ມນີ້:

# cat ~/.bash_profile

ແຟ້ມ ~/.bashrc - ເອກະສານນີ້ເກັບຮັກສາຊື່ຜູ້ໃຊ້ແລະ ໜ້າ ທີ່ສະເພາະ.

# cat ~/.bashrc

ເອກະສານ ~/.bash_login - ມັນປະກອບມີການຕັ້ງຄ່າສະເພາະທີ່ຖືກປະຕິບັດໂດຍປົກກະຕິເມື່ອທ່ານເຂົ້າສູ່ລະບົບ. ເມື່ອ ~/.bash_profile ຂາດ, ເອກະສານນີ້ຈະຖືກອ່ານໂດຍ bash.

ເອກະສານ ~ /. ໂປຣໄຟລ໌ - ເອກະສານນີ້ອ່ານໃນກໍລະນີທີ່ບໍ່ມີ ~/.bash_profile ແລະ ~/.bash_login; ມັນສາມາດເກັບຮັກສາການຕັ້ງຄ່າດຽວກັນ, ເຊິ່ງມັນຍັງສາມາດເຂົ້າເຖິງໄດ້ໂດຍຫອຍອື່ນໆໃນລະບົບ. ເນື່ອງຈາກວ່າພວກເຮົາໄດ້ເວົ້າເຖິງສ່ວນໃຫຍ່ກ່ຽວກັບ bash ຢູ່ນີ້, ຈົ່ງສັງເກດວ່າຫອຍອື່ນ ໆ ອາດຈະບໍ່ເຂົ້າໃຈເຖິງ syntax bash.

ຕໍ່ໄປ, ພວກເຮົາຍັງຈະອະທິບາຍອີກສອງເອກະສານ ສຳ ຄັນຂອງຜູ້ໃຊ້ທີ່ບໍ່ ຈຳ ເປັນຕ້ອງມີເອກະສານເລີ່ມຕົ້ນ:

ໄຟລ໌ ~/.bash_history - bash ຮັກສາປະຫວັດຂອງ ຄຳ ສັ່ງທີ່ໄດ້ຖືກປ້ອນໂດຍຜູ້ໃຊ້ໃນລະບົບ. ບັນຊີລາຍຊື່ ຄຳ ສັ່ງນີ້ຖືກເກັບຢູ່ໃນບັນຊີລາຍຊື່ຂອງຜູ້ໃຊ້ຢູ່ໃນແຟ້ມ ~/.bash_history.

ເພື່ອເບິ່ງລາຍຊື່ນີ້, ພິມ:

$ history 
or 
$ history | less

ເອກະສານ ~/.bash_logout - ມັນບໍ່ໄດ້ຖືກໃຊ້ ສຳ ລັບການເລີ່ມຕົ້ນແກະ, ແຕ່ເກັບຂໍ້ແນະ ນຳ ສະເພາະຂອງຜູ້ໃຊ້ ສຳ ລັບຂັ້ນຕອນການອອກຈາກລະບົບ. ມັນຖືກອ່ານແລະປະຕິບັດເມື່ອຜູ້ໃຊ້ອອກຈາກຫອຍເຂົ້າສູ່ລະບົບແບບໂຕ້ຕອບ.

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

# cat bash_logout 

ສຳ ລັບຄວາມເຂົ້າໃຈເພີ່ມເຕີມ, ໃຫ້ກວດເບິ່ງເນື້ອໃນຂອງເອກະສານເລີ່ມຕົ້ນຂອງຫອຍເຫຼົ່ານີ້ໃນຄອມພິວເຕີ້ Linux ຕ່າງໆແລະຍັງໄດ້ອ່ານຜ່ານ ໜ້າ man bash:

ດຽວນີ້ ໝົດ ແລ້ວ! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍແຟ້ມການເລີ່ມຕົ້ນ/ເອກະສານເລີ່ມຕົ້ນໃນ Linux. ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ເພື່ອຂຽນກັບພວກເຮົາ.