Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

Dotfiles – Dotfile คืออะไรและจะสร้างได้อย่างไรใน Mac และ Linux

Dotfiles เป็นไฟล์สำคัญที่จะมีบทบาทสำคัญในอาชีพของคุณในฐานะนักพัฒนาซอฟต์แวร์

ประการแรก สิ่งเหล่านี้สามารถช่วยให้คุณมีประสิทธิผลมากขึ้น ไม่เพียงเท่านั้น คุณยังสามารถตั้งค่าที่มีประสิทธิภาพซึ่งคุณสร้างขึ้นสำหรับตัวคุณเองในเครื่องใดก็ได้

บทความนี้เป็นการแนะนำวิธีเริ่มต้นใช้งาน dotfiles

คุณจะได้เรียนรู้ว่ามันคืออะไร วิธีค้นหาตำแหน่งบนระบบของคุณ และวิธีสร้าง dotfiles ง่ายๆ นอกจากนี้ ฉันจะให้คำแนะนำและแหล่งข้อมูลเกี่ยวกับวิธีการปรับแต่งการตั้งค่าและเพิ่มพูนความรู้ของคุณ

เริ่มกันเลย!

ดอทไฟล์คืออะไร

โปรแกรมซอฟต์แวร์คอมพิวเตอร์จำนวนมากเก็บการตั้งค่าการกำหนดค่าไว้ในไฟล์หรือไดเร็กทอรีแบบข้อความธรรมดา

Dotfiles เป็นไฟล์กำหนดค่าสำหรับโปรแกรมต่างๆ และช่วยให้โปรแกรมเหล่านั้นจัดการฟังก์ชันการทำงานได้

สิ่งที่ทำให้แตกต่างจากไฟล์และไดเร็กทอรีปกติคือคำนำหน้า

Dotfiles ถูกตั้งชื่อแบบนั้นเพราะแต่ละไฟล์และไดเร็กทอรีเริ่มต้นด้วยจุด (. )

บนระบบที่ใช้ Unix dotfiles จะถูกซ่อนโดยระบบปฏิบัติการโดยค่าเริ่มต้น

ตัวอย่างของ dotfiles ทั่วไป

โปรแกรมส่วนใหญ่เก็บการกำหนดค่าไว้ในโฮมไดเร็กตอรี่ของคุณโดยค่าเริ่มต้น

ไฟล์ดอทไฟล์ทั่วไปที่คุณอาจเคยได้ยินหรือเคยใช้มาก่อนคือ:

  • หากคุณใช้ Bash shell คุณอาจมี .bash_profile และ .bashrc ไฟล์ ซึ่งทั้งคู่มีสคริปต์ที่โหลดทุกครั้งที่คุณเริ่มเซสชันเทอร์มินัลใหม่และกำหนดค่าเชลล์
  • หากคุณใช้ Zsh shell ซึ่งเป็นค่าเริ่มต้นใหม่สำหรับ MacOS คุณจะต้องมี (หรือจะสร้าง) .zshrc ไฟล์ที่กำหนดค่าและปรับแต่งเชลล์
  • หากคุณใช้โปรแกรมแก้ไขโค้ดบรรทัดคำสั่ง Vim คุณจะต้องจัดเก็บการกำหนดค่าใน .vimrc ไฟล์.
  • หลังจากตั้งค่าและกำหนดค่า Git บนเครื่องของคุณแล้ว คุณจะมี .gitconfig ซึ่งจะมีข้อมูลและการตั้งค่าทั้งหมดของคุณ
  • หลายๆ โปรแกรม แทนที่จะเก็บการกำหนดค่าไว้ในโฮมไดเร็กตอรี่ของคุณ ให้เก็บไว้ใน .config ที่ซ่อนอยู่ ไดเร็กทอรี (โฟลเดอร์) ในระบบของคุณ

วิธีค้นหา Dotfiles

ใน Finder รูทของโฮมไดเร็กทอรีของคุณอาจมีลักษณะดังนี้:

Dotfiles – Dotfile คืออะไรและจะสร้างได้อย่างไรใน Mac และ Linux

แต่คุณได้เห็นแล้วว่าระบบคอมพิวเตอร์มีไฟล์ที่จัดเก็บไว้อีกมากมายซึ่งถูกซ่อนไว้โดยค่าเริ่มต้น

หากต้องการดู dotfiles ใน Finder ให้ไปที่รูทของโฮมไดเร็กทอรีและกดปุ่ม Command Shift . และในเวลาเดียวกัน

ในไม่ช้า คุณจะเห็นไฟล์ dotfile ต่างๆ ที่คุณสร้างขึ้นเองหรือสร้างขึ้นเมื่อคุณติดตั้งซอฟต์แวร์

Dotfiles – Dotfile คืออะไรและจะสร้างได้อย่างไรใน Mac และ Linux

หากต้องการดู dotfiles จากบรรทัดคำสั่ง (ซึ่งคุณจะใช้และโต้ตอบกับไฟล์เหล่านี้มากที่สุด) คุณต้องเพิ่มขั้นตอนเพิ่มเติมในการค้นหาอีกครั้ง

คำสั่งรายการ ls ซึ่งแสดงรายการไฟล์และไดเร็กทอรีทั้งหมดในไดเร็กทอรีปัจจุบัน จะไม่แสดง dotfiles ตามค่าเริ่มต้น - แม้ว่าจะอยู่ที่นั่นก็ตาม

ขั้นแรก ไปที่โฮมไดเร็กตอรี่ของคุณ คุณสามารถใช้ cd คำสั่งที่จะช่วยให้คุณไปถึงที่นั่น ถ้าคุณยังไม่ได้อยู่ที่นั่น

จากนั้นใช้ ls คำสั่งด้วย -a flag ซึ่งย่อมาจาก all อย่างเช่น:

ls -a

หากคุณต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ของคุณ คุณสามารถใช้ -l แฟล็ก ซึ่งแสดงรายการไฟล์และไดเร็กทอรีในรูปแบบยาว รวมถึงรายละเอียดเกี่ยวกับวันที่และเวลาที่สร้างขึ้น ขนาด และอื่นๆ

ls -la

ในผลลัพธ์ คุณจะเห็นไฟล์และไดเร็กทอรีทั้งหมด – รวมถึงไฟล์ที่ซ่อนอยู่ทั้งหมด – ในโฮมไดเร็กทอรีปัจจุบันของคุณ

Dotfiles – Dotfile คืออะไรและจะสร้างได้อย่างไรใน Mac และ Linux

แต่ละไฟล์และไดเร็กทอรีที่ขึ้นต้นด้วยจุด/จุดคือไฟล์ดอท

เหตุใดจึงต้องใช้ Dotfiles

dotfiles ของคุณเป็นข้อมูลส่วนตัวของคุณ

คุณใช้เวลาพอสมควรในการปรับแต่งการตั้งค่าของคุณ คุณดูแลจัดการการกำหนดค่าและการตั้งค่าที่เหมาะสมกับเวิร์กโฟลว์ สุนทรียศาสตร์ และความชอบของคุณมากที่สุด และคุณจะได้สภาพแวดล้อมการพัฒนาที่ช่วยให้คุณมีประสิทธิผลมากขึ้นเป็นการส่วนตัว

เกิดอะไรขึ้นถ้าหลังจากเวลาทั้งหมดที่คุณใช้ไป ตอนนี้คุณต้องเปลี่ยนไปใช้เครื่องใหม่? นั่นหมายความว่าคุณต้องเริ่มต้นใหม่ทั้งหมดตั้งแต่ต้นหรือไม่

คุณจะจำการตั้งค่าและคำสั่งที่คุณใช้ได้อย่างไร

หรือถ้าคุณมีเครื่องที่สองและต้องการตั้งค่าให้เหมือนกันทุกประการในทั้งสองระบบ

เป้าหมายหลักของนักพัฒนาประการหนึ่งคือการทำให้งานที่ซ้ำๆ เกิดขึ้นโดยอัตโนมัติ

การสร้างที่เก็บ dotfile ที่ควบคุมโดยซอร์สและโฮสต์บน GitHub จะช่วยคุณประหยัดเวลาเมื่อต้องการตั้งค่าคอมพิวเตอร์เครื่องใหม่และติดตั้งการตั้งค่าเดียวกันกับที่คุณสร้างไว้สำหรับเครื่องก่อนหน้า

วิธีนี้จะทำให้การตั้งค่าและค่ากำหนดทั้งหมดของคุณใช้ซ้ำได้และสม่ำเสมอในเครื่องอื่นๆ

วิธีการสร้าง Dotfiles

วิธีตั้งค่าโฟลเดอร์เพื่อเก็บไฟล์ dotfiles ของคุณ

เป็นการดีที่จะมีไฟล์ dotfile ทั้งหมดของคุณในโฟลเดอร์ของตัวเอง

เพื่อความง่าย ผมจะแสดงตัวอย่างวิธีสร้างโฟลเดอร์ที่รูทของโฮมไดเร็กตอรี่ของคุณ แต่คุณสามารถเพิ่มโฟลเดอร์ได้ทุกที่ที่คุณสะดวก

นอกจากนี้ ฉันจะแสดงตัวอย่างวิธีสร้าง .zshrc และ .vimrc ไฟล์ แต่แนวคิดที่คล้ายกันจะนำไปใช้กับ dotfiles อื่นๆ ที่คุณสร้าง

ไปที่โฮมไดเร็กตอรี่ของคุณ (cd ) และสร้างไดเร็กทอรีชื่อ dotfiles ที่จะเก็บไฟล์การกำหนดค่าทั้งหมดของคุณ:

mkdir dotfiles

ในการสร้าง dotfiles คุณใช้ touch คำสั่งและส่งชื่อของไฟล์เป็นอาร์กิวเมนต์ไปยังคำสั่ง ชื่อไฟล์จะมีจุดนำหน้า

ในการสร้าง .zshrc และ .vimrc ไฟล์ใน dotfiles ไดเรกทอรี ทำสิ่งนี้:

touch ~/dotfiles/.zshrc  ~/dotfiles/.vimrc

หากไฟล์เหล่านั้นมีอยู่แล้วในระบบของคุณและคุณต้องการย้ายไปยัง dotfiles ไดเร็กทอรี คุณสามารถย้ายไปที่นั่นโดยใช้ mv คำสั่ง:

mv ~/.zshrc ~/dotfiles/

อาร์กิวเมนต์แรกคือเส้นทางปัจจุบันของไฟล์ – ตัวหนอน (~ ) ย่อมาจากไดเร็กทอรีโฮม โดยค่าเริ่มต้น ไฟล์ Confuguuration ที่ซ่อนอยู่ส่วนใหญ่จะอยู่ที่นั่น

อาร์กิวเมนต์ที่สองคือเส้นทางที่คุณต้องการย้ายไฟล์ไป ในกรณีนี้คุณต้องการย้ายไปยังไดเร็กทอรี dotfiles ที่อยู่ในโฮมไดเร็กทอรี

คุณสามารถทำเช่นเดียวกันกับ .vimrc ไฟล์:

mv ~/.vimrc ~/dotfiles/

วิธีดูไฟล์:

ls -a dotfiles 
.         ..     .vimrc    .zshrc

ด้วยไฟล์เหล่านั้น คุณสามารถเพิ่มการกำหนดค่าที่ต้องการทั้งหมดได้ที่นั่น

วิธีการตั้งค่าการกำหนดค่า

ด้านล่างนี้คือแนวคิดบางส่วนที่สามารถช่วยคุณเริ่มต้นการกำหนดค่าของ dotfiles ที่คุณสร้างขึ้น

วิธีปรับแต่ง Zsh prompt ของคุณ

หลังจากตั้งค่า .zshrc file อะไรก็ตามที่เพิ่มลงในไฟล์นั้นจะส่งผลต่อการปรับแต่งโปรแกรม Zsh shell ของคุณ

ตอนนี้อาจถึงเวลาปรับแต่งเชลล์พรอมต์ของคุณแล้ว สิ่งนี้จะเหมาะกับรสนิยมของคุณ แต่นี่คือแหล่งข้อมูลบางส่วนที่จะช่วยให้คุณเริ่มต้น:

  • วิธีปรับแต่ง zsh prompt ของคุณอย่างมืออาชีพ
  • เพิ่มพลังให้เทอร์มินัล zsh ของคุณในเจ็ดขั้นตอน
  • แนวคิดเพิ่มเติมในการปรับแต่งพรอมต์ zsh
  • วิธีปรับแต่ง zsh Prompt ใน macOS Terminal

วิธีปรับแต่ง Vim

หลังจากสร้าง .vimrc ไฟล์ คุณสามารถปรับแต่งโปรแกรมแก้ไขข้อความบรรทัดคำสั่ง Vim แหล่งข้อมูลสองสามอย่างต่อไปนี้จะช่วยคุณเริ่มกระบวนการ:

  • คู่มือการกำหนดค่า Vimrc
  • วิธีทำให้ Vim ดูดี:5 เคล็ดลับการปรับแต่ง Vim

นามแฝงและฟังก์ชันคืออะไร

วิธีหนึ่งในการปรับปรุงเวิร์กโฟลว์และเพิ่มประสิทธิภาพการทำงานของคุณ คือ ลดเวลาที่ใช้ในการพิมพ์คำสั่งที่คุณใช้บ่อยๆ คุณสามารถทำได้โดยการสร้างทางลัด

นามแฝงเป็นทางลัดไปยังคำสั่งเทอร์มินัล เป็นเวอร์ชันที่สั้นกว่าของคำสั่งยาว

ในฐานะนักพัฒนา คุณจะใช้ Git บ่อยๆ ดังนั้นจึงควรสร้างชื่อแทน Git เพื่อช่วยประหยัดเวลาในการใช้คำสั่ง Git ที่ทำซ้ำๆ กันเป็นเวลานาน อ่านบทความที่เป็นประโยชน์มากที่สุดในบทความ freeCodeCamp นี้

อีกวิธีในการประหยัดเวลาคือทำให้กระบวนการง่ายขึ้น

คุณสามารถรวมสองคำสั่งเป็นหนึ่งเดียวโดยสร้างลักษณะการทำงานที่แยกออกมาซึ่งทำงานเฉพาะอย่างใดอย่างหนึ่ง คุณสามารถทำได้โดยการสร้างฟังก์ชัน

ฟังก์ชันที่มีประโยชน์อย่างหนึ่งในการสร้างคือการรวมคำสั่งสำหรับสร้างไดเร็กทอรีใหม่ (mkdir ) ด้วยคำสั่งเปลี่ยนไดเร็กทอรี (cd )

ด้วยวิธีนี้ คุณจะสร้างโฟลเดอร์ใหม่และเปลี่ยนเป็นโฟลเดอร์ทันที – ทั้งหมดในขั้นตอนเดียว

ฟังก์ชันที่จะทำเช่นนั้นมีลักษณะดังนี้:

function mkcd() {
  mkdir -p "$@" && cd "$_";
}

หากต้องการอ่าน Zsh ฟังก์ชันต่างๆ จะต้องดูที่บทความนี้เกี่ยวกับ Scripting OS X ที่ครอบคลุมทั้งนามแฝงและฟังก์ชันใน Zsh

คุณสามารถเพิ่มทั้งนามแฝงและฟังก์ชันใน .zshrc . ของคุณ ไฟล์หรือคุณสามารถสร้าง .aliases . แยกต่างหาก และ .functions dotfiles.

วิธีเชื่อมโยง Dotfiles ของคุณ

คุณอาจสังเกตเห็นว่าไม่มีการตั้งค่าใดที่คุณเพิ่มลงในไฟล์ใน dotfiles โฟลเดอร์มีผลใดๆ ต่อระบบของคุณ

ไฟล์การกำหนดค่าของโปรแกรมดังที่กล่าวไว้ก่อนหน้านี้จะถูกซ่อนและจัดเก็บไว้ในโฮมไดเร็กทอรีตามค่าเริ่มต้น นี่คือตำแหน่งที่โปรแกรมจะค้นหาและอ่านการตั้งค่าจาก

เป็นความคิดที่ดีที่จะเชื่อมโยง (หรือสร้างลิงก์สัญลักษณ์ - ตัวชี้) ไฟล์ใน dotfiles ไดเร็กทอรีที่คุณจัดเก็บการตั้งค่าที่คุณต้องการพร้อมกับไฟล์อื่นๆ ที่คุณสร้างขึ้น โดยมีไฟล์นั้นอยู่ในโฮมไดเร็กทอรีเริ่มต้น

เหมือนไฟล์จะอยู่ 2 ที่พร้อมกัน!

ไฟล์จะอยู่ทั้งใน dotfiles ไดเร็กทอรีและจะมี 'สำเนา' ของมันอยู่ในโฮมไดเร็กตอรี่ด้วย

ในการสร้างลิงค์ ให้ใช้ ln (ย่อมาจาก link) คำสั่ง -s อาร์กิวเมนต์ (ซึ่งย่อมาจากสัญลักษณ์)

ต่อไปนี้เป็นวิธีเชื่อมโยง .zshrc และ .vimrc ไฟล์:

ln -s ~/dotfiles/.vimrc  ~/.vimrc
ln -s ~/dotfiles/.zshrc  ~/.zshrc

วิธีนี้จะทำให้โปรแกรมที่คุณใช้ทราบว่าไฟล์การกำหนดค่าอยู่ที่ไหนตามปกติ – กลับไปที่โฮมไดเร็กทอรี

ls -l ~/.zshrc 

lrwxr-xr-x  1 dionysialemonaki  staff  39 Oct 21 18:30 /Users/dionysialemonaki/.zshrc -> /Users/dionysialemonaki/dotfiles/.zshrc

ดูรายละเอียดของ .zshrc แสดงว่าไฟล์ที่อยู่ในโฮมไดเร็กทอรีชี้ไปที่ไฟล์ในไดเร็กทอรี dotfiles -> บ่งบอกถึงการเชื่อมโยง

การเชื่อมโยงไฟล์ dotfile ทั้งหมดของคุณด้วยตนเองนั้นเป็นกระบวนการที่ยุ่งยาก และอาจจะทำให้เหนื่อยและเกิดซ้ำได้อย่างรวดเร็วเมื่อคุณเพิ่มไฟล์ dotfiles ลงในโฟลเดอร์

เพื่อให้กระบวนการนี้ง่ายขึ้น คุณสามารถสร้างเชลล์สคริปต์ที่จะทำการเรียก ln -s . โดยอัตโนมัติ บน dotfiles ที่คุณสร้างหรือใช้ยูทิลิตี้สำหรับงานนั้น

วิธีการควบคุมเวอร์ชัน Dotfiles ของคุณ

การมีไฟล์ของคุณอยู่ภายใต้การควบคุมเวอร์ชันจะช่วยให้คุณติดตามการเปลี่ยนแปลงทั้งหมดที่คุณทำกับไฟล์เหล่านั้นเมื่อเวลาผ่านไป และยังช่วยให้คุณสามารถแชร์บน GitHub

อย่าลืมเปลี่ยนไดเร็กทอรีเป็น dotfiles ไดเร็กทอรี (cd dotfiles )

ทำตามขั้นตอนเหล่านี้เพื่อจัดระเบียบไฟล์ของคุณในที่เก็บ git:

  1. เริ่มต้นที่เก็บ:
git init
  1. เพิ่มไฟล์ทั้งหมดที่คุณสร้าง:
git add .
  1. ยอมรับการเปลี่ยนแปลงและเพิ่มข้อความยืนยัน:
git commit -m "Added dotfiles"

วิธีการโฮสต์ dotfiles ของคุณบน GitHub

ตรวจสอบให้แน่ใจว่าคุณได้ลงชื่อเข้าใช้บัญชี GitHub แล้ว

จากนั้น สร้างที่เก็บใหม่:

Dotfiles – Dotfile คืออะไรและจะสร้างได้อย่างไรใน Mac และ Linux

ตั้งชื่อเพิ่มคลิก "สร้างที่เก็บ"

ถัดไป ในบรรทัดคำสั่ง เพิ่ม:

git remote add origin url 

#where 'url',the GitHub url of the repository you previously created
#ending in .git

สุดท้ายนี้

git push -u origin main

และตอนนี้คุณก็สามารถแชร์ไฟล์ dotfiles ออนไลน์ได้แล้ว!

บทสรุป

และคุณก็มีแล้ว – ตอนนี้คุณรู้พื้นฐานของ dotfiles แล้ว! ฉันหวังว่าคุณจะพบว่าบทช่วยสอนนี้มีประโยชน์

โครงการ dotfiles ของคุณจะติดตามคุณไปตลอดชีวิตการทำงานของคุณ และยิ่งคุณเรียนรู้เกี่ยวกับ dotfiles เองมากขึ้นเท่านั้น และจะเปลี่ยนไปเมื่อคุณเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่คุณชอบและไม่ชอบเกี่ยวกับการตั้งค่าเวิร์กโฟลว์และสภาพแวดล้อมการพัฒนาโดยการลองผิดลองถูกมากมาย

ขอบคุณสำหรับการอ่าน!