Linux เป็นระบบการแบ่งปันเวลาแบบหลายผู้ใช้ ซึ่งหมายความว่าผู้ใช้มากกว่าหนึ่งรายสามารถเข้าสู่ระบบและใช้ระบบได้ และผู้ดูแลระบบมีหน้าที่จัดการด้านต่าง ๆ ว่าผู้ใช้ต่าง ๆ สามารถดำเนินการระบบได้อย่างไรในแง่ของ ติดตั้ง/อัปเดต/ลบซอฟต์แวร์, โปรแกรมที่รันได้, ไฟล์ที่สามารถดู/แก้ไข และอื่นๆ
Linux ยังอนุญาตให้สร้างหรือดูแลรักษาสภาพแวดล้อมของผู้ใช้ในสองวิธีหลัก: การใช้การกำหนดค่าทั้งระบบ (ทั่วโลก) และการกำหนดค่าเฉพาะผู้ใช้ (ส่วนบุคคล) โดยปกติวิธีการพื้นฐานในการทำงานกับระบบ Linux คือเชลล์ และเชลล์จะสร้าง สภาพแวดล้อมขึ้นอยู่กับไฟล์บางไฟล์ที่อ่านในระหว่างการเริ่มต้นหลังจากผู้ใช้สำเร็จ เข้าสู่ระบบ.
ในบทความนี้ เราจะอธิบายไฟล์การเริ่มต้นเชลล์ที่เกี่ยวข้องกับโปรไฟล์ผู้ใช้สำหรับการจัดการผู้ใช้ภายในเครื่องใน Linux เราจะแจ้งให้คุณทราบว่าจะเก็บฟังก์ชันเชลล์ที่กำหนดเอง ชื่อแทน ตัวแปร ตลอดจนโปรแกรมเริ่มต้นไว้ไว้ที่ใด
สำคัญ: สำหรับวัตถุประสงค์ของบทความนี้ เราจะเน้นที่ ทุบตี, NS NS เปลือกที่เข้ากันได้ซึ่งเป็น เชลล์ที่ได้รับความนิยม/ใช้งานมากที่สุดบนระบบ Linux ข้างนอกนั้น.
หากคุณกำลังใช้โปรแกรมเชลล์อื่น (zsh, ash, fish เป็นต้น) ให้อ่านเอกสารประกอบเพื่อหาข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ที่เกี่ยวข้องบางส่วนที่เราจะพูดถึงที่นี่
เมื่อเชลล์ถูกเรียกใช้ จะมีไฟล์การเริ่มต้น/เริ่มต้นบางอย่างที่มันอ่านซึ่งช่วย ตั้งค่าสภาพแวดล้อมสำหรับเชลล์ ตัวเองและผู้ใช้ระบบ นั่นคือฟังก์ชันที่กำหนดไว้ล่วงหน้า (และกำหนดเอง) ตัวแปร นามแฝง และอื่นๆ
ไฟล์การเริ่มต้นมีสองประเภทที่อ่านโดยเชลล์:
อีกครั้ง เชลล์สามารถเรียกใช้ในสามโหมดที่เป็นไปได้:
เชลล์ถูกเรียกใช้หลังจากที่ผู้ใช้ล็อกอินเข้าสู่ระบบสำเร็จโดยใช้ /bin/loginหลังจากอ่านข้อมูลประจำตัวที่เก็บไว้ใน /etc/passwd ไฟล์.
เมื่อเชลล์เริ่มต้นเป็นเชลล์ล็อกอินแบบโต้ตอบ เชลล์จะอ่าน /etc/profile และเทียบเท่าเฉพาะผู้ใช้ ~/.bash_profile.
เชลล์เริ่มต้นที่บรรทัดคำสั่งโดยใช้โปรแกรมเชลล์เช่น $/bin/bash หรือ $/bin/zsh. สามารถเริ่มต้นด้วยการเรียกใช้ /bin/su สั่งการ.
นอกจากนี้ เชลล์ที่ไม่ใช่การล็อกอินแบบโต้ตอบสามารถถูกเรียกใช้ด้วยโปรแกรมเทอร์มินัลเช่น konsole, เทอร์มิเนเตอร์ หรือ xterm จากภายในสภาพแวดล้อมแบบกราฟิก
เมื่อเชลล์เริ่มทำงานในสถานะนี้ เชลล์จะคัดลอกสภาพแวดล้อมของพาเรนต์เชลล์ และอ่านเฉพาะผู้ใช้ ~/.bashrc ไฟล์สำหรับคำแนะนำการกำหนดค่าเริ่มต้นเพิ่มเติม
$ ซู #ลส -ลา
เชลล์ถูกเรียกใช้เมื่อเชลล์สคริปต์ทำงาน ในโหมดนี้ จะเป็นการประมวลผลสคริปต์ (ชุดคำสั่ง/ฟังก์ชันของระบบเชลล์หรือทั่วไป) และไม่ต้องการการป้อนข้อมูลของผู้ใช้ระหว่างคำสั่ง เว้นแต่เป็นอย่างอื่น มันทำงานโดยใช้สภาพแวดล้อมที่สืบทอดมาจากพาเรนต์เชลล์
ในส่วนนี้ เราจะให้แสงสว่างมากขึ้นในไฟล์เริ่มต้นของเชลล์ที่เก็บการกำหนดค่าสำหรับผู้ใช้ทั้งหมดในระบบ ซึ่งได้แก่:
NS /etc/ไฟล์โปรไฟล์ – มันเก็บการกำหนดค่าสภาพแวดล้อมทั้งระบบและโปรแกรมเริ่มต้นสำหรับการตั้งค่าการเข้าสู่ระบบ ควรเพิ่มการกำหนดค่าทั้งหมดที่คุณต้องการใช้กับสภาพแวดล้อมของผู้ใช้ระบบทั้งหมดในไฟล์นี้
ตัวอย่างเช่น คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม PATH ส่วนกลางได้ที่นี่
#แมว /etc/profile.
บันทึก: ในบางระบบเช่น RHEL/CentOS 7คุณจะได้รับคำเตือนเช่น "ไม่แนะนำให้เปลี่ยนไฟล์นี้ เว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่ ดีกว่ามากที่จะสร้างกำหนดเอง .NS เชลล์สคริปต์ใน /etc/profile.d/ เพื่อทำการเปลี่ยนแปลงแบบกำหนดเองกับสภาพแวดล้อมของคุณ เนื่องจากจะช่วยป้องกันความจำเป็นในการรวมเข้ากับการอัปเดตในอนาคต”
NS /etc/profile.d/ ไดเร็กทอรี – เก็บเชลล์สคริปต์ที่ใช้ทำการเปลี่ยนแปลงแบบกำหนดเองกับสภาพแวดล้อมของคุณ:
# cd /etc/profile.d/ # ls -l
NS /etc/bashrc หรือ /etc/bash.bashrc file – มีฟังก์ชันและนามแฝงทั่วทั้งระบบ รวมถึงการกำหนดค่าอื่นๆ ที่ใช้กับผู้ใช้ระบบทั้งหมด
หากระบบของคุณมี เปลือกหอยหลายชนิดเป็นความคิดที่ดีที่จะใส่การกำหนดค่าเฉพาะของ bash ในไฟล์นี้
# cat / etc / bashrc.
ต่อไป เราจะอธิบายเพิ่มเติมเกี่ยวกับไฟล์ dot เริ่มต้นเชลล์เฉพาะผู้ใช้ (bash) ที่เก็บนั้น การกำหนดค่าสำหรับผู้ใช้รายใดรายหนึ่งบนระบบ โดยจะอยู่ในโฮมไดเร็กทอรีของผู้ใช้และ รวม:
#ลส -ลา
NS ~/.bash_profile ไฟล์ – เก็บสภาพแวดล้อมเฉพาะของผู้ใช้และการกำหนดค่าโปรแกรมเริ่มต้น คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม PATH ที่กำหนดเองได้ที่นี่ ดังที่แสดงในภาพหน้าจอด้านล่าง:
# cat ~/.bash_profile.
NS ~/.bashrc ไฟล์ – ไฟล์นี้เก็บนามแฝงและฟังก์ชันเฉพาะของผู้ใช้
# cat ~/.bashrc.
NS ~/.bash_login ไฟล์ – ประกอบด้วยการกำหนดค่าเฉพาะที่ปกติจะดำเนินการเมื่อคุณลงชื่อเข้าใช้ระบบเท่านั้น เมื่อ ~/.bash_profile ไม่อยู่ไฟล์นี้จะถูกอ่านโดย bash
NS ~/.profile file – ไฟล์นี้จะถูกอ่านในกรณีที่ไม่มี ~/.bash_profile และ ~/.bash_login; มันสามารถเก็บการกำหนดค่าเดียวกันซึ่งสามารถเข้าถึงได้โดยเชลล์อื่น ๆ ในระบบ เนื่องจากเราได้พูดถึง bash เป็นหลักแล้ว โปรดทราบว่าเชลล์อื่นอาจไม่เข้าใจไวยากรณ์ของ bash
ต่อไปเราจะอธิบายไฟล์เฉพาะผู้ใช้ที่สำคัญอีกสองไฟล์ซึ่งไม่จำเป็นต้องเป็นไฟล์เริ่มต้น bash:
NS ~/.bash_history ไฟล์ – bash รักษา a ประวัติคำสั่ง ที่ผู้ใช้เข้าสู่ระบบ รายการคำสั่งนี้ถูกเก็บไว้ในโฮมไดเร็กทอรีของผู้ใช้ใน ~/.bash_history ไฟล์.
หากต้องการดูรายการนี้ ให้พิมพ์:
$ history หรือ $ history | น้อย.
NS ~/.bash_logout ไฟล์ - ไม่ได้ใช้สำหรับการเริ่มต้นเชลล์ แต่เก็บคำแนะนำเฉพาะผู้ใช้สำหรับขั้นตอนการออกจากระบบ มันถูกอ่านและดำเนินการเมื่อผู้ใช้ออกจากเชลล์ล็อกอินแบบโต้ตอบ
ตัวอย่างหนึ่งในทางปฏิบัติคือการล้างหน้าต่างเทอร์มินัลเมื่อออกจากระบบ นี่เป็นสิ่งสำคัญสำหรับการเชื่อมต่อระยะไกล ซึ่งจะทำให้หน้าต่างสะอาดหลังจากปิด:
#แมว bash_logout
สำหรับข้อมูลเชิงลึกเพิ่มเติม ตรวจสอบเนื้อหาของไฟล์การกำหนดค่าเริ่มต้นเชลล์เหล่านี้บน Linux distros ต่างๆ และอ่านผ่านหน้า bash man:
นั่นคือทั้งหมดที่สำหรับตอนนี้! ในบทความนี้ เราได้อธิบายไฟล์การเริ่มต้น/การเริ่มต้นเชลล์ใน Linux ใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อเขียนกลับมาหาเรา