คุณเป็นผู้ใช้ Linux และต้องการทำงานกับ Linux bashrc ผ่าน command-line หรือเปล่า? bashrc เป็นหนึ่งในไฟล์ซ่อนในโฮมไดเรกทอรีของระบบปฏิบัติการ Linux แล้ว bash_profile ล่ะ? คุณรู้ความแตกต่างระหว่าง Linux bashrc กับ bash_profile ไหม? โดยค่าเริ่มต้น Linux จะซ่อนไฟล์ที่ละเอียดอ่อน โดย bashrc เป็นหนึ่งในนั้น ซึ่งอยู่ในโฮมไดเรกทอรีของระบบปฏิบัติการ Linux
Bashrc เป็นวิธีที่ไม่ซับซ้อนและมีความเสี่ยงต่ำเมื่อเทียบกับการปรับแต่ง terminal แบบอื่น เพราะหากเกิดปัญหาคุณสามารถลบและเริ่มต้นใหม่ได้ทันที บทความนี้จะอธิบายพื้นฐานของ bash ใน Linux รวมถึงอธิบายว่าไฟล์ .bashrc คืออะไรและใช้งานอย่างไร ก่อนอื่น เราจะทำความเข้าใจกับคำศัพท์พื้นฐานที่เกี่ยวข้องกับ bashrc กันก่อน
A Shell คืออะไร?

A เปลือก คือคำที่ใช้เรียกอินเทอร์เฟซสำหรับการโต้ตอบระหว่างผู้ใช้กับระบบปฏิบัติการ shell คือตัวแปลคำสั่ง (ในบางระบบ) ที่รับคำสั่งจากผู้ใช้แล้วประมวลผลเพื่อดำเนินการต่างๆ โดยพื้นฐานแล้ว Linux/Unix shell คือสภาพแวดล้อมสำหรับรันสคริปต์ คำสั่ง หรือโปรแกรม shell มีสองประเภทหลัก ได้แก่:
- C Shell – หากคุณใช้ shell ประเภทนี้ อักขระ % จะเป็น prompt เริ่มต้น
- Bourne Shell แปลว่า เชลล์เบิร์น – prompt หลักของ shell ประเภทนี้คืออักขระ $
ในบทความนี้ เราจะใช้ Bourne Shell ซึ่ง shell ประเภทนี้มีหมวดหมู่ย่อยดังนี้:
- Bourne Shell แปลว่า เชลล์เบิร์น (sh)
- Bourne Again Shell (bash)
- เชลล์ Korn (KSH)
- Shell POSIX (sh)
Bourne Shell เป็น shell ตัวแรกที่ปรากฏขึ้นใน UNIXซึ่งเป็นที่มาของชื่อ shell นี้ ดังที่กล่าวไว้ก่อนหน้า bash เป็น shell ที่นิยมใช้มากที่สุดใน Linux และเหมาะสำหรับการเขียนสคริปต์บน Linux ทุกเวอร์ชัน เมื่อเข้าใจพื้นฐานของ shell แล้ว มาดูกันว่าไฟล์ bashrc คืออะไรและใช้งานอย่างไร
Linux Hosting ที่ใช้งานได้ทันที
ต้องการวิธีที่ดีกว่าในการโฮสต์เว็บไซต์และเว็บแอปของคุณ? กำลังพัฒนาโปรเจกต์ใหม่? หรือแค่ไม่อยากใช้ Windows? นั่นคือเหตุผลที่เรามี Linux VPS
เริ่มต้นใช้งาน Linux VPS ของคุณBashrc คืออะไร และใช้งานอย่างไร?
ไฟล์ .bashrc จะทำงานทุกครั้งที่ผู้ใช้เปิด shell ใหม่ในโหมด interactive กล่าวคือ ไฟล์ .bashrc คือ shell script สำหรับเริ่มต้น session ของ shell การใช้ไฟล์ .bashrc ช่วยให้คุณรวบรวมคำสั่งทั้งหมดที่ต้องการไว้ในที่เดียว ดังนั้น เมื่อต้องการเรียกใช้ไฟล์ .bashrc ใหม่ตั้งแต่ต้น คุณสามารถกด Ctrl+Alt+T หรือเปิด tab terminal ใหม่ได้ทันที
ทุกครั้งที่เปิดใช้งาน Bash จะอ่านและโหลดเนื้อหาในไฟล์ .bashrc เพื่อนำการตั้งค่าของคุณมาใช้ ไฟล์ shell script นี้อยู่ใน home directory ของผู้ใช้แต่ละคน หน้าที่หลักของไฟล์นี้คือโหลดค่ากำหนดของ terminal และ environment variable แล้วบันทึกไว้ ขั้นตอนแรกของการใช้คำสั่ง bashrc (Ctrl+Alt+T) คือการเปิด terminal window ใหม่ ซึ่งจะแสดงไฟล์ดังต่อไปนี้:
- /etc/skel/.bashrc เมื่อมีการสร้างผู้ใช้ใหม่ในระบบ /etc/skel/.bashrc จะเป็นไฟล์ bashrc เริ่มต้นของผู้ใช้แต่ละคน
- /home/Ali/.bashrc ไฟล์นี้จะถูกใช้งานเมื่อผู้ใช้ชื่อ Ali เปิด shell
- /root/.bashrc ทุกครั้งที่ root เปิด shell ไฟล์ root (/root/.bashrc) will utilize. (This phrase cannot be meaningfully translated in isolation as it appears to be a fragment. Please provide the complete sentence or context for an accurate translation.)
ไฟล์ Bashrc อยู่ที่ไหนใน Linux?
ดังที่กล่าวไว้ ไฟล์ bashrc อยู่ใน home directory ของคุณ เมื่อมีการเริ่มต้น bash shell หรือ bash script ระบบจะอ่านและรันไฟล์นี้ การรันไฟล์ bashrc จะเกิดขึ้นในกรณีต่อไปนี้:
- เมื่อคุณเข้าสู่ระบบ
- เมื่อคุณรันคำสั่งบางอย่าง (bash scripts)
- เมื่อคัดลอกไฟล์ error หรือ output
- เมื่อคุณรันงาน Compute
- เมื่องานเสร็จสิ้น
อ่านเพิ่มเติม: วิธีติดตั้ง Linux bash บน Windows 10
จากที่ได้แนะนำ shell และไฟล์ bashrc ไปแล้วนั้น คำถามที่ตามมาคือ แล้วเราจะทำอะไรกับ Linux bashrc ได้บ้าง?
คุณทำอะไรได้บ้างกับ Linux Bashrc?
สิ่งที่ bashrc Linux ทำหน้าที่หลักคือการเป็นพื้นที่กำหนดค่าตัวแปร, aliases และฟังก์ชัน รวมถึงการตั้งค่าอื่น ๆ นอกจากจุดประสงค์หลักนี้แล้ว ไฟล์ bashrc ยังมีประโยชน์อีกหลายด้านที่คุณนำไปใช้ให้ terminal ทำงานได้สะดวกและมีประสิทธิภาพมากขึ้น เราจะพาคุณสำรวจบางส่วนในที่นี้ และคุณยังสามารถศึกษาเพิ่มเติมเกี่ยวกับกรณีการใช้งานและรูปแบบต่าง ๆ ของ Bash if ประโยค ในบทความอื่นของเรา!
กรณีใช้งาน: Bash Prompts
bash prompt ที่ปรับแต่งได้จะอ่านไฟล์ config เพื่อกำหนดพฤติกรรมการทำงาน ช่วยให้คุณใช้งาน terminal ได้เร็วขึ้นและมีประสิทธิภาพมากขึ้น คุณสามารถตั้งค่า bash prompt ให้แสดงข้อมูลที่ต้องการ หรือแสดง prompt เฉพาะเมื่อรันคำสั่งบางอย่างได้ ตัวอย่างงานที่ทำได้มีดังนี้:
-
Linux Bashrc: เปลี่ยนสีใน bash Command
หากต้องการเปลี่ยนสีของ shell prompt ให้สำรองไฟล์ .bashrc ปัจจุบันไว้ก่อน จากนั้นคัดลอกไฟล์ .bashrc ไปยัง temp ด้วยคำสั่งด้านล่าง:
cp ~/.bashrc /tmp
จากนั้นให้เปิดไฟล์ .bashrc แล้วเพิ่มค่าสีใหม่ลงไป:
nano ~/.bashrc
LS_COLORS=$LS_COLORS:'di=0;35:' ; export LS_COLORS
ในคำสั่งนี้ "di"" หมายความว่าเรากำลังเปลี่ยนสีของไดเรกทอรี่ และ ""0;35สีม่วง เราได้รวบรวมตารางสีที่ครบถ้วนและรองรับการแปลงไฟล์หลากหลายประเภทไว้ให้คุณ:
- สีน้ำเงิน = 34
- สีเขียว = 32
- สีเขียวอ่อน = 1;32
- สีฟ้าอมเขียว = 36
- แดง = 31
- สีม่วง = 35
- สีน้ำตาล = 33
- สีเหลือง = 1;33
- สีขาว = 1;37
- สีเทาอ่อน = 0;37
- สีดำ = 30
- Dark Grey= 1;30
- di = ไดเรกทอรี่
- fi = ไฟล์
- ln = ลิงก์สัญลักษณ์
- pi = ไฟล์ fifo
- so = ไฟล์ซ็อกเก็ต
- bd = ไฟล์พิเศษแบบบล็อก (บัฟเฟอร์)
- cd = ไฟล์พิเศษแบบอักขระ (ไม่มีบัฟเฟอร์)
- or = ลิงก์สัญลักษณ์ที่ชี้ไปยังไฟล์ที่ไม่มีอยู่จริง (orphan)
- mi = ไฟล์ที่ไม่มีอยู่จริงซึ่งถูกชี้โดย symbolic link (จะเห็นได้เมื่อพิมพ์ ls -l)
-
Linux Bashrc: พรอมต์หลายบรรทัด

คุณควรทราบว่า bash ไม่รองรับความคิดเห็นแบบหลายบรรทัด แต่บางครั้งคุณอาจต้องการเขียนคำสั่งที่ยาวโดยแบ่งออกเป็นหลายบรรทัด ในกรณีนี้ ให้ใส่เครื่องหมาย open quote (' หรือ ") แบ็กสแลช (\\) หรือ pipe ( | ) ไว้ท้ายแต่ละบรรทัด เพื่อให้ bash รู้ว่าคำสั่งยังไม่จบและยังไม่ต้องประมวลผล
-
Linux Bashrc: แสดงข้อมูลที่ด้านบนของเทอร์มินัล

ถ้าต้องการแสดง user/host จำนวน task ที่รันอยู่ และวันที่บนบรรทัดแรก ให้ใช้ prompt นี้ใน .bashrc นอกจากนี้ยังแสดงจำนวนไฟล์ในไดเรกทอรีปัจจุบันพร้อมขนาดที่ใช้ไปด้วย โค้ดจะมีลักษณะดังนี้:
export PS1="\u@\h [\$(pwd):$(ls -F |grep -v / | wc -l)]> "
หากต้องการให้การตั้งค่านี้มีผลถาวร ให้เปิดไฟล์ .bashrc และเพิ่มบรรทัดต่อไปนี้:
nano ~/.bashrc
PS1="\u@\h [\$(pwd):$(ls -F |grep -v / | wc -l)]> "
-
Linux Bashrc: พรอมต์เรียบง่ายประสิทธิภาพสูง

รหัส:
PS1='[$(date +"%a %b %d | %T")] -> \w$'
-
Linux Bashrc: ป้ายกำหนด Rob

แม้ว่าโค้ดของ rob จะสั้นและเรียบง่าย แต่ก็รองรับฟีเจอร์ที่ปรากฏในตัวอย่างที่ซับซ้อนกว่าได้เป็นอย่างดี
รหัส:
PS1='[$(wc -l < .bash_history)][\u: \w]$'
หมายเหตุ: หากต้องการใช้ prompt เหล่านี้ คุณสามารถคัดลอกและวางบรรทัด "PS1=" ลงในเทอร์มินัลได้โดยตรง หากต้องการให้การเปลี่ยนแปลงมีผลถาวร ให้วางบรรทัดนั้นต่อท้ายไฟล์ ~/.bashrc
กรณีใช้งาน: การสร้าง Aliases
การสร้าง alias สำหรับคำสั่งที่ใช้บ่อยจะช่วยประหยัดเวลาได้มาก alias คือชื่อย่อที่กำหนดเองสำหรับแทนคำสั่ง (หรือชุดคำสั่ง) พร้อมหรือไม่พร้อม option ก็ได้ ตัวอย่างเช่นคำสั่ง "ls" ซึ่งเป็นคำสั่งที่มีประโยชน์สำหรับแสดงเนื้อหาในไดเรกทอรี การทราบเนื้อหาที่ซ่อนอยู่หรือข้อมูลเพิ่มเติมของไดเรกทอรีนั้นเป็นประโยชน์มาก จึงเป็นเหตุผลที่เราใช้ alias ในกรณีนี้
อ่านเพิ่มเติม: เครื่องมือและซอฟต์แวร์ที่ดีที่สุดสำหรับการตรวจสอบเซิร์ฟเวอร์ Linux
หนึ่งใน alias ที่ใช้บ่อยที่สุดคือ ll ซึ่งตั้งค่าให้รัน "ls –lha" หรือคำสั่งที่คล้ายกัน เพื่อแสดงรายละเอียดทั้งหมดของไฟล์ รวมถึงไฟล์ที่ซ่อนอยู่ และขนาดไฟล์ในหน่วยที่อ่านได้ง่าย นอกจากนี้คุณยังใช้ alias เพื่อสร้างคำสั่งย่อ บังคับให้รันคำสั่งพร้อม flag ที่ต้องการเสมอ หรือหลีกเลี่ยง syntax ที่จำยากและพิมพ์ผิดบ่อย รายการ alias ทั้งหมดที่กำหนดไว้ในโปรไฟล์ของคุณจะแสดงขึ้นเมื่อรัน alias คำสั่ง
alias
ผลลัพธ์ของคำสั่งนี้จะแสดง alias เริ่มต้นที่กำหนดไว้สำหรับผู้ใช้ของคุณใน Ubuntu 18.04 ดังที่เห็นในภาพต่อไปนี้

ดังที่เห็น $ ll เทียบเท่ากับการรัน $ ls –alFคุณยังสามารถสร้าง alias ชั่วคราวได้ด้วย โดยพิมพ์คำว่า alias ตามด้วยชื่อที่ต้องการใช้ จากนั้นใส่เครื่องหมาย = และใส่คำสั่งที่ต้องการในเครื่องหมายคำพูด syntax มีรูปแบบดังนี้
alias shortName="your custom command here"
ตัวอย่างเช่น:
alias wr="cd /var/www/html"
จากนั้นคุณสามารถใช้ alias นี้เพื่อไปยังไดเรกทอรี webroot ได้ อย่างไรก็ตาม มีข้อจำกัดหนึ่งคือ alias นี้จะใช้ได้เฉพาะใน terminal session ปัจจุบันเท่านั้น หากเปิด session ใหม่ alias จะหายไป ดังนั้นหากต้องการเก็บ alias ไว้ถาวร คุณจะต้องสร้าง permanent alias
จนถึงตอนนี้เราได้พูดถึงวิธีต่าง ๆ ที่คุณสามารถใช้ประโยชน์จากไฟล์ .bashrc ใน Linux แล้ว ต่อไปเราจะมาดูขั้นตอนการเปิดและบันทึกไฟล์ bashrc เพื่อให้คุณใช้งาน Linux bashrc ได้อย่างเต็มประสิทธิภาพ
อ่านเพิ่มเติม : Netcat Listener คืออะไร และใช้งานอย่างไร?
วิธีเปิดไฟล์ Bashrc และบันทึกไฟล์?
syntax ที่ใช้นั้นเหมือนกับการสร้าง alias ชั่วคราวแทบทุกประการ ต่างกันตรงที่คุณต้องบันทึกลงในไฟล์ด้วย ดังนี้
ขั้นตอนที่ 1: เปิดไฟล์ .bashrc ใน bash ตัวอย่าง ดังนี้
vim ~/.bashrc
ขั้นตอนที่ 2: หาตำแหน่งสำหรับไฟล์ Aliases
เลือกตำแหน่งในไฟล์ที่ต้องการเก็บ alias ไว้ เช่น อาจเพิ่มต่อท้ายไฟล์
ขั้นตอนที่ 3: บันทึกไฟล์
หลังจากนั้น ไฟล์นี้จะถูกโหลดโดยอัตโนมัติในครั้งถัดไปที่คุณเริ่ม session ใหม่
หมายเหตุ: ทั้ง ลบนามแฝง ใช้สำหรับลบ alias
unalias alias_name
unalias -a [remove all alias]
นอกจากการใช้ bashrc สำหรับ prompt ต่าง ๆ แล้ว คุณอาจต้องการทราบวิธีแก้ไขไฟล์ .bashrc ซึ่งเราจะอธิบายในหัวข้อต่อไปนี้
วิธีแก้ไขไฟล์ .bashrc
หากต้องการเพิ่มคำสั่งของคุณเองใน text editor บนเทอร์มินัล คุณสามารถแก้ไข bashrc ได้ เราจะใช้ เอดิเตอร์ nano ในตัวอย่างต่อไปนี้
ขั้นตอนที่ 1: หากต้องการแก้ไข bashrc ผ่าน nano ให้พิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล
nano ~/.bashrc
หมายเหตุ: หากเป็นครั้งแรกที่คุณแก้ไขไฟล์ .bashrc อาจพบว่าไฟล์ว่างเปล่า ซึ่งไม่ใช่ปัญหาแต่อย่างใด หากไฟล์มีเนื้อหาอยู่แล้ว คุณสามารถเพิ่มข้อความในบรรทัดใดก็ได้ตามต้องการ
การเปลี่ยนแปลงใดๆ ที่คุณทำกับ .bashrc จะมีผลในครั้งถัดไปที่เปิด terminal หากต้องการใช้งานทันที ให้รันคำสั่งด้านล่างนี้:
source ~/.bashrc
ขั้นตอนที่ 2: คุณสามารถเพิ่มเนื้อหาลงใน .bashrc ได้ในตำแหน่งใดก็ได้ แต่แนะนำให้ใช้คอมเมนต์ (นำหน้าด้วย #) เพื่อจัดระเบียบโค้ดให้อ่านง่ายขึ้น
หมายเหตุ: โปรดทราบว่าการแก้ไข .bashrc ต้องเป็นไปตามรูปแบบการเขียน script ของ bash หากยังไม่คุ้นเคยกับการเขียน bash script ให้ศึกษาเพิ่มเติมจากแหล่งข้อมูลออนไลน์
วิธีโหลดไฟล์ bashrc ใหม่
หากต้องการโหลด bashrc ใหม่โดยไม่ต้องเปิด terminal ใหม่ ให้รันคำสั่งต่อไปนี้:
~/ .bashrc
อย่างที่ทราบกัน dot operator จะรันคำสั่งจากไฟล์ในสภาพแวดล้อมปัจจุบัน นอกจากนี้ คุณยังสามารถใช้ source ดังที่แสดงด้านล่าง:
Source ~/ .bashrc
bash_profile คืออะไร
ทุกครั้งที่เริ่ม bash session ใหม่ bash จะสร้างไฟล์ bash profile ขึ้นมา ไฟล์นี้มีชื่อว่า .bash_profile และอยู่ใน home directory ของเครื่องคุณ หากต้องการสร้างไฟล์ bash ให้รันคำสั่งต่อไปนี้:
sub1 ~/ .bash_profile
เครื่องหมายทิลเดอ (~) มีความหมายเทียบเท่ากับ /User/Rich และบอกให้ bash เริ่มต้นค้นหาจาก home directory ซึ่งหมายความว่าคุณสามารถเขียนคำสั่งก่อนหน้าในรูปแบบนี้แทนได้:
Sub1 /Users/Rich/.bash_profile
อย่างไรก็ตาม (~) เป็นแค่ shortcut ที่ผู้ใช้ทุกคนสามารถเข้าใจและใช้งานได้สะดวก
bash_profile อยู่ที่ไหน?
หากสงสัยว่า bash_profile อยู่ที่ไหน คำตอบคือเป็นไฟล์ซ่อนที่อยู่ใน home folder และต้องเปิดการมองเห็นก่อนจึงจะเข้าถึงได้ หากไม่มีไฟล์ ~/ .bash_profile จะใช้ ~/ .profile แทน
Bashrc กับ bash_profile
.bashrc จะถูก source เฉพาะในโหมด interactive เมื่อ bash ไม่ได้ทำงานเป็น login shell ในทางตรงกันข้าม .bash_profile จะถูก source เฉพาะเมื่อเป็น non-interactive shell ที่ใช้ option --login หรือเมื่อ bash เริ่มต้นในโหมด interactive login shell ซึ่งหมายความว่า .bash_profile เหมาะสำหรับคำสั่งที่ต้องรันเพียงครั้งเดียว ส่วน .bashrc เหมาะสำหรับคำสั่งที่ต้องการรันทุกครั้งที่เปิด shell ใหม่
Linux Hosting ที่ใช้งานได้ทันที
ต้องการวิธีที่ดีกว่าในการโฮสต์เว็บไซต์และเว็บแอปของคุณ? กำลังพัฒนาโปรเจกต์ใหม่? หรือแค่ไม่อยากใช้ Windows? นั่นคือเหตุผลที่เรามี Linux VPS
เริ่มต้นใช้งาน Linux VPS ของคุณบทสรุป: Linux bashrc
บทความนี้อธิบายภาพรวมของ Linux bashrc และวิธีใช้งาน แน่นอนว่ายังมีรายละเอียดอีกมากที่สามารถศึกษาเพิ่มเติมได้ ขีดจำกัดของ .bashrc ขึ้นอยู่กับจินตนาการและทักษะการเขียนโค้ดของคุณ แต่ด้วยคู่มือที่กระชับและใช้งานง่ายนี้ คุณควรสามารถทำทุกอย่างพื้นฐานที่กล่าวถึงเกี่ยวกับ .bashrc ได้แล้ว นอกจากนี้ คุณยังสามารถใช้ โซลูชัน Linux VPS เพื่อให้ได้ประสบการณ์ใช้งาน Linux ที่ดีที่สุด แผน Linux VPS ที่ขับเคลื่อนด้วย KVM ของเราออกแบบมาเพื่อมอบสิทธิประโยชน์หลายด้าน ได้แก่ bandwidth ขนาดใหญ่, uptime รับประกัน 99.95%, ที่เก็บข้อมูล SSD ความเร็วสูง, การเชื่อมต่อที่เชื่อถือได้ และการสนับสนุนทางเทคนิคตลอด 24/7 อย่ารอช้า มาเริ่มต้นใช้งาน Linux VPS ราคาประหยัดที่ $7.95 ได้เลย หากมีคำถามเพิ่มเติมที่เราไม่ได้กล่าวถึง ฝากคอมเมนต์ไว้ได้เลย เราจะรีบตอบกลับโดยเร็วที่สุด!
คำถามที่พบบ่อย
ไฟล์ .bashrc คืออะไร?
ไฟล์ bashrc คือ shell script ที่ Bash รันทุกครั้งที่เริ่มต้นทำงาน โดยใช้กำหนดรูปลักษณ์และพฤติกรรมของ command-line interface (CLI) หรือแอป Terminal รวมถึงการตั้งค่าต่างๆ ของระบบปฏิบัติการด้วย
bash_profile ใน Linux คืออะไร
bash_profile ใช้สำหรับกำหนดการตั้งค่าเฉพาะของผู้ใช้ เป็นไฟล์ที่มักถูกซ่อนไว้และอยู่ใน home directory นอกจากนี้ ไฟล์ bash_profile ยังเป็น configuration script ที่ประกอบด้วยการกำหนดตัวแปร, การ export ตัวแปร และคำสั่ง login เช่น การตรวจสอบอีเมลหรือข่าวสาร
ทำไมถึงเรียกว่า bashrc?
ใน bashrc ตัวย่อ rc มาจากวลี "run commands"
bash_profile อยู่ที่ไหนใน Linux?
bash_profile อยู่ใน home directory ของผู้ใช้แต่ละคน โดยผู้ใช้แต่ละคนอาจมีการตั้งค่า bash ที่แตกต่างกันไป