Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Làm chủ Dotfiles: Tạo và Quản lý Cấu hình Tùy chỉnh trên Mac & Linux

Dotfiles là những file quan trọng đóng vai trò then chốt trong sự nghiệp của bạn với tư cách là nhà phát triển phần mềm.

Thứ nhất, chúng giúp bạn làm việc hiệu quả hơn. Nhưng không chỉ thế - bạn có thể mang theo môi trường làm việc hiệu quả mà mình đã xây dựng lên bất kỳ máy tính nào.

Bài viết này là giới thiệu về cách bắt đầu với dotfiles.

Bạn sẽ học được chúng là gì, cách tìm chúng trên hệ thống, và cách tạo một vài dotfiles đơn giản. Ngoài ra, tôi sẽ đưa ra một số gợi ý và tài nguyên về cách tùy chỉnh cài đặt và mở rộng kiến thức.

Hãy bắt đầu thôi!

Dotfiles là gì?

Nhiều chương trình máy tính lưu cài đặt cấu hình trong các file hoặc thư mục dựa trên văn bản thuần túy.

Dotfiles là file cấu hình cho các chương trình khác nhau, giúp chúng quản lý chức năng của mình.

Điều khiến chúng khác biệt so với file và thư mục thông thường là tiền tố của chúng.

Chúng được gọi là dotfiles vì tên mỗi file và thư mục đều bắt đầu bằng một dấu chấm (.)

Trên các hệ thống Unix, dotfiles được ẩn bởi Hệ điều hành mặc định.

Ví dụ các dotfiles phổ biến

Hầu hết các chương trình lưu cấu hình trong thư mục home của bạn theo mặc định.

Một số dotfiles phổ biến mà bạn có thể đã nghe nói hoặc dùng trước đây:

  • Nếu bạn dùng shell Bash, bạn có thể có file .bash_profile và .bashrc, cả hai đều chứa script tải mỗi khi bạn mở phiên terminal mới và cấu hình shell.
  • Nếu bạn dùng shell Zsh (mặc định mới cho MacOS), bạn sẽ có (hoặc đã tạo) file .zshrc để cấu hình và tùy chỉnh shell.
  • Nếu bạn dùng trình soạn thảo dòng lệnh Vim, bạn sẽ lưu cấu hình trong file .vimrc.
  • Sau khi cài đặt và cấu hình Git trên máy local, bạn sẽ có file .gitconfig chứa tất cả thông tin và cài đặt của bạn.
  • Nhiều chương trình, thay vì lưu cấu hình trong thư mục home, lại lưu chúng trong thư mục ẩn .config trên hệ thống.

Cách tìm Dotfiles

Trong Finder, thư mục gốc Home của bạn có thể trông như sau:

Nhưng bạn biết hệ thống máy tính có nhiều file hơn được ẩn mặc định.

Để xem dotfiles trong Finder, vào thư mục gốc Home và giữ phím Command Shift . cùng lúc.

Bạn sẽ thấy nhiều dotfiles mà bạn tự tạo hoặc được tạo khi cài đặt phần mềm.

Để xem dotfiles từ dòng lệnh (nơi bạn sẽ tương tác với chúng nhiều nhất), bạn cũng cần thêm bước tìm kiếm.

Lệnh list ls, liệt kê tất cả file và thư mục trong thư mục hiện tại, không hiển thị dotfiles mặc định - dù chúng thực sự tồn tại.

Trước hết, điều hướng đến thư mục home. Bạn có thể dùng lệnh cd nếu chưa ở đó.

Sau đó dùng lệnh ls với cờ -a (viết tắt của all):

ls -a

Nếu muốn xem thêm thông tin chi tiết về file, dùng thêm cờ -l (long format), hiển thị ngày giờ tạo, kích thước, v.v.:

ls -la

Trong output, bạn sẽ thấy tất cả file và thư mục – bao gồm cả file ẩn – trong thư mục home hiện tại.

Mỗi file và thư mục bắt đầu bằng dấu chấm là một dotfile.

Tại sao nên dùng Dotfiles?

Dotfiles của bạn mang tính cá nhân cao.

Bạn dành đủ thời gian tinh chỉnh thiết lập. Bạn tuyển chọn cấu hình và cài đặt phù hợp với quy trình làm việc, thẩm mỹ và sở thích cá nhân. Và cuối cùng có môi trường phát triển giúp chính bạn làm việc hiệu quả hơn.

Nhưng nếu sau cả quá trình đó, bạn phải chuyển sang máy mới hoàn toàn? Có nghĩa là phải bắt đầu từ đầu lại?

Làm sao nhớ được chính xác các cài đặt và lệnh đã dùng?

Hoặc nếu bạn có máy thứ hai và muốn setup y hệt trên cả hai hệ thống?

Một trong những mục tiêu chính của lập trình viên là tự động hóa các tác vụ lặp lại.

Tạo repository dotfiles được kiểm soát nguồn và lưu trên GitHub sẽ giúp tiết kiệm thời gian khi setup máy mới và cài đặt chính xác các cài đặt bạn đã tạo cho máy cũ.

Như vậy mọi cài đặt và sở thích đều có thể tái sử dụng và nhất quán trên các máy khác.

Cách tạo Dotfiles

Cách thiết lập thư mục chứa dotfiles

Thực hành tốt là gom tất cả dotfiles vào một thư mục riêng.

Để đơn giản, tôi sẽ ví dụ tạo thư mục tại gốc thư mục home. Nhưng bạn có thể đặt ở đâu tiện lợi cho bạn.

Cũng sẽ ví dụ tạo file .zshrc và .vimrc, nhưng ý tưởng tương tự áp dụng cho mọi dotfiles khác.

Điều hướng đến thư mục home (cd) và tạo thư mục tên dotfiles chứa các file cấu hình:

mkdir dotfiles

Để tạo dotfiles, dùng lệnh touch truyền tên file làm tham số. Tên file sẽ có dấu chấm ở đầu.

Tạo .zshrc và .vimrc trong thư mục dotfiles:

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

Nếu file đã tồn tại trên hệ thống và bạn muốn di chuyển vào thư mục dotfiles, dùng lệnh mv:

mv ~/.zshrc ~/dotfiles/

Tham số đầu là đường dẫn hiện tại của file – dấu tilde (~) đại diện cho thư mục home. Mặc định hầu hết file cấu hình ẩn đều ở đó.

Tham số thứ hai là đường dẫn đích. Ở đây bạn muốn chuyển vào thư mục dotfiles trong home.

Làm tương tự cho file .vimrc:

mv ~/.vimrc ~/dotfiles/

Để xem các file:

ls -a dotfiles
. .. .vimrc .zshrc

Với các file đã sẵn sàng, bạn có thể thêm cấu hình ưa thích vào đó.

Cách thiết lập cấu hình

Dưới đây là một số ý tưởng giúp bạn bắt đầu cấu hình dotfiles vừa tạo.

Cách tùy chỉnh Zsh prompt

Sau khi thiết lập file .zshrc, bất cứ thứ gì thêm vào file đó sẽ ảnh hưởng đến tùy chỉnh chương trình shell Zsh.

Bây giờ là lúc tùy chỉnh shell prompt. Điều này tùy thích cá nhân, nhưng đây là một số tài nguyên để bắt đầu:

  • How to customize your zsh prompt like a pro
  • Jazz up your zsh terminal in seven steps
  • More ideas to customize the zsh prompt
  • How to Customize the zsh Prompt in the macOS Terminal

Cách tùy chỉnh Vim

Sau khi tạo file .vimrc, bạn có thể tùy chỉnh trình soạn thảo dòng lệnh Vim. Dưới đây là vài tài nguyên giúp bạn bắt đầu:

  • Vimrc Configuration Guide
  • How to Make Vim Look Good: 5 Vim Customization Tips

Aliases và Functions là gì?

Một cách cải thiện quy trình làm việc và tăng năng suất là giảm thời gian gõ các lệnh thường dùng. Bạn làm được bằng cách tạo shortcut.

Aliases là shortcut cho lệnh terminal. Chúng là phiên bản ngắn gọn của lệnh dài.

Là developer, bạn thường dùng Git, nên nên tạo Git aliases để tiết kiệm thời gian trên các lệnh Git dài, lặp lại. Hãy đọc về những alias hữu ích nhất trong bài viết freeCodeCamp này.

Cách khác tiết kiệm thời gian là đơn giản hóa quy trình.

Bạn có thể gộp hai lệnh thành một bằng cách tạo hành vi riêng biệt làm một việc cụ thể. Làm được bằng cách tạo functions.

Một function hữu ích là gộp lệnh tạo thư mục mới (mkdir) với lệnh đổi thư mục (cd).

Như vậy, bạn tạo folder mới và ngay lập tức cd vào đó – chỉ trong một bước.

Function làm việc đó trông như sau:

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

Để đọc thêm về Zsh, functions, hãy xem bài viết trên Scripting OS X bao gồm cả aliases và functions trong Zsh.

Bạn có thể thêm cả aliases và functions vào file .zshrc hoặc tạo file dotfiles riêng .aliases và .functions.

Bạn có thể nhận ra rằng các cài đặt thêm vào file trong thư mục dotfiles không có tác dụng lên hệ thống.

File cấu hình của chương trình, như đã nói, được ẩn và lưu trong thư mục home mặc định. Đó là nơi chương trình tìm và đọc cài đặt.

Ý tưởng tốt là symlink (tạo symbolic link - con trỏ) file trong thư mục dotfiles nơi bạn lưu cài đặt ưu tiên cùng các file khác, với file ở thư mục home mặc định.

Giống như file sẽ ở hai nơi cùng lúc!

File sẽ vừa ở thư mục dotfiles và cũng có "bản sao" ở thư mục home.

Để tạo link, dùng lệnh ln (viết tắt của link) với tham số -s (viết tắt của symbolic).

Cách symlink file .zshrc và .vimrc:

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

Điều này làm cho các chương trình bạn dùng biết vị trí file cấu hình bình thường của chúng – quay lại thư mục home.

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

Xem chi tiết file .zshrc, thấy file ở home trỏ đến file trong thư mục dotfiles. Mũi tên -> chỉ symlink.

Symlink thủ công tất cả dotfiles là quá trình phiền toái, nhanh chán và lặp lại khi bạn thêm nhiều dotfiles hơn vào thư mục.

Để dễ dàng hơn, bạn có thể tạo shell script tự động gọi ln -s trên dotfiles bạn tạo hoặc dùng tiện ích cho việc đó.

Cách Version Control Dotfiles của bạn

Đặt file dưới version control giúp theo dõi mọi thay đổi theo thời gian, và cũng cho phép chia sẻ trên GitHub.

Đảm bảo chuyển thư mục vào dotfiles (cd dotfiles).

Làm theo các bước sau để tổ chức file trong repository git:

  1. Khởi tạo repository:
git init
  1. Thêm tất cả file đã tạo:
git add .
  1. Commit thay đổi và thêm message:
git commit -m "Added dotfiles"

Cách lưu dotfiles lên GitHub

Đảm bảo bạn đã đăng nhập tài khoản GitHub.

Sau đó, tạo repository mới:

Đặt tên và nhấn "Create repository".

Tiếp theo, trong dòng lệnh, thêm:

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

Cuối cùng,

git push -u origin main

Và bây giờ bạn có thể chia sẻ dotfiles trực tuyến!

Kết luận

Vậy là xong – bạn đã nắm được cơ bản về dotfiles! Hy vọng hướng dẫn này hữu ích.

Dự án dotfiles của bạn sẽ theo chân bạn suốt sự nghiệp và sẽ phát triển hơn khi bạn học thêm về dotfiles. Nó cũng sẽ thay đổi khi bạn học thêm về những gì mình thích và không thích về quy trình làm việc và cài đặt môi trường phát triển qua nhiều lần thử sai.

Cảm ơn bạn đã đọc!