Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

Linux là một hệ thống chia sẻ thời gian, nhiều người dùng, ngụ ý rằng nhiều người dùng có thể đăng nhập và sử dụng một hệ thống. Và quản trị viên hệ thống có nhiệm vụ quản lý các khía cạnh khác nhau về cách những người dùng khác nhau có thể vận hành hệ thống về cài đặt / cập nhật / gỡ bỏ phần mềm, chương trình họ có thể chạy, tệp họ có thể xem / chỉnh sửa, v.v.

Linux cũng cho phép tạo hoặc duy trì môi trường của người dùng theo hai cách chính:sử dụng cấu hình toàn hệ thống (toàn cầu) và cấu hình dành riêng cho người dùng (cá nhân). Thông thường, phương pháp cơ bản để làm việc với hệ thống Linux là shell và shell tạo ra một môi trường tùy thuộc vào các tệp nhất định mà nó đọc trong quá trình khởi tạo sau khi người dùng đăng nhập thành công.

Đề xuất Đọc: Cách đặt các biến môi trường trong Linux

Trong bài viết này, chúng tôi sẽ giải thích các tệp khởi tạo shell liên quan đến hồ sơ người dùng để quản lý người dùng cục bộ trong Linux. Chúng tôi sẽ cho bạn biết nơi lưu giữ các hàm shell tùy chỉnh, bí danh, biến cũng như các chương trình khởi động.

Quan trọng :Với mục đích của bài viết này, chúng tôi sẽ tập trung vào bash , a sh shell tương thích là shell được sử dụng / phổ biến nhất trên các hệ thống Linux hiện có.

Nếu bạn đang sử dụng một chương trình shell khác (zsh, ash, fish, v.v.), hãy đọc qua tài liệu của nó để tìm hiểu thêm về một số tệp liên quan mà chúng tôi sẽ nói ở đây.

Khởi tạo Shell trong Linux

Khi trình bao được gọi, có một số tệp khởi tạo / khởi động mà nó đọc, giúp thiết lập môi trường cho chính trình bao và người dùng hệ thống; đó là các hàm, biến, bí danh, v.v. được xác định trước (và tùy chỉnh).

Có hai loại tệp khởi tạo được đọc bởi shell:

  • tệp khởi động trên toàn hệ thống - luận văn chứa các cấu hình chung áp dụng cho tất cả người dùng trên hệ thống và thường nằm trong / etc danh mục. Chúng bao gồm: / etc / profiles / etc / bashrc hoặc /etc/bash.bashrc .
  • tệp khởi động dành riêng cho người dùng - các cấu hình lưu trữ này áp dụng cho một người dùng duy nhất trên hệ thống và thường được đặt trong thư mục chính của người dùng dưới dạng tệp dấu chấm. Chúng có thể ghi đè các cấu hình trên toàn hệ thống. Chúng bao gồm: .profiles , .bash_profile , .bashrc .bash_login .

Một lần nữa, shell có thể được gọi trong ba chế độ khả thi:

1. Vỏ đăng nhập tương tác

Trình bao được gọi sau khi người dùng đăng nhập thành công vào hệ thống, sử dụng / bin / login , sau khi đọc thông tin đăng nhập được lưu trữ trong / etc / passwd tệp.

Khi trình bao được khởi động dưới dạng một trình bao đăng nhập tương tác, nó sẽ đọc / etc / profile và tương đương dành cho người dùng cụ thể của nó ~ / .bash_profile .

Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

2. Shell tương tác không đăng nhập

Trình bao được khởi động ở dòng lệnh bằng cách sử dụng chương trình trình bao, ví dụ $ / bin / bash hoặc $ / bin / zsh . Nó cũng có thể được khởi động bằng cách chạy / bin / su lệnh.

Ngoài ra, một trình bao tương tác không đăng nhập cũng có thể được gọi bằng một chương trình đầu cuối như konsole , terminator hoặc xterm từ bên trong môi trường đồ họa.

Khi trình bao được khởi động ở trạng thái này, nó sẽ sao chép môi trường của trình bao mẹ và đọc ~ / .bashrc dành riêng cho người dùng tệp để biết hướng dẫn cấu hình khởi động bổ sung.

$ su
# ls -la
Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

3. Shell không tương tác

Trình bao được gọi khi một tập lệnh trình bao đang chạy. Trong chế độ này, nó đang xử lý một tập lệnh (tập hợp các lệnh / chức năng của shell hoặc hệ thống chung) và không yêu cầu người dùng nhập giữa các lệnh trừ khi có cách khác. Nó hoạt động bằng cách sử dụng môi trường kế thừa từ vỏ mẹ.

Hiểu các tệp khởi động Shell trên toàn hệ thống

Trong phần này, chúng tôi sẽ giới thiệu nhiều ánh sáng hơn về các tệp khởi động shell lưu trữ cấu hình cho tất cả người dùng trên hệ thống và chúng bao gồm:

Tệp hồ sơ / etc / - nó lưu trữ các cấu hình môi trường toàn hệ thống và các chương trình khởi động để thiết lập đăng nhập. Tất cả các cấu hình mà bạn muốn áp dụng cho tất cả các môi trường của người dùng hệ thống phải được thêm vào tệp này.

Ví dụ:bạn có thể đặt biến môi trường PATH toàn cục của mình tại đây.

# cat /etc/profile
Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

Lưu ý :Trong một số hệ thống nhất định như RHEL / CentOS 7 , bạn sẽ nhận được những cảnh báo như “Bạn không nên thay đổi tệp này trừ khi bạn biết mình đang làm gì. Tốt hơn nhiều là tạo .sh tùy chỉnh tập lệnh shell trong /etc/profile.d/ để thực hiện các thay đổi tùy chỉnh đối với môi trường của bạn, vì điều này sẽ ngăn chặn nhu cầu hợp nhất trong các bản cập nhật trong tương lai ”.

/etc/profile.d/ thư mục - lưu trữ các tập lệnh shell được sử dụng để thực hiện các thay đổi tùy chỉnh đối với môi trường của bạn:

# cd /etc/profile.d/
# ls  -l 
Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

/ etc / bashrc hoặc /etc/bash.bashrc tệp - chứa các chức năng và bí danh trên toàn hệ thống bao gồm các cấu hình khác áp dụng cho tất cả người dùng hệ thống.

Nếu hệ thống của bạn có nhiều loại shell, bạn nên đặt các cấu hình dành riêng cho bash trong tệp này.

# cat /etc/bashrc
Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

Hiểu các tệp khởi động Shell dành riêng cho người dùng

Tiếp theo, chúng tôi sẽ giải thích thêm về các tệp chấm khởi động shell (bash) dành cho người dùng cụ thể, lưu trữ cấu hình cho một người dùng cụ thể trên hệ thống, chúng nằm trong thư mục chính của người dùng và chúng bao gồm:

# ls -la
Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

~ / .bash_profile tệp - tệp này lưu trữ cấu hình môi trường và chương trình khởi động cụ thể của người dùng. Bạn có thể đặt biến môi trường PATH tùy chỉnh của mình tại đây, như được hiển thị trong ảnh chụp màn hình bên dưới:

# cat ~/.bash_profile
Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

~ / .bashrc tệp - tệp này lưu trữ các bí danh và chức năng cụ thể của người dùng.

# cat ~/.bashrc
Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

~ / .bash_login tệp - nó chứa các cấu hình cụ thể thường chỉ được thực thi khi bạn đăng nhập vào hệ thống. Khi ~ / .bash_profile không có, tệp này sẽ được đọc bởi bash.

~ / .profile tệp - tệp này được đọc khi không có ~ / .bash_profile ~ / .bash_login ; nó có thể lưu trữ các cấu hình giống nhau, các cấu hình này cũng có thể được truy cập bởi các shell khác trên hệ thống. Vì chúng ta chủ yếu nói về bash ở đây, hãy lưu ý rằng các shell khác có thể không hiểu cú pháp bash.

Tiếp theo, chúng tôi cũng sẽ giải thích hai tệp quan trọng khác của người dùng cụ thể không nhất thiết phải là tệp khởi tạo bash:

~ / .bash_history file - bash duy trì lịch sử các lệnh đã được nhập bởi người dùng trên hệ thống. Danh sách các lệnh này được lưu trong thư mục chính của người dùng trong ~ / .bash_history tệp.

Để xem danh sách này, hãy nhập:

$ history 
or 
$ history | less
Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

~ / .bash_logout tệp - nó không được sử dụng để khởi động trình bao, nhưng lưu trữ hướng dẫn cụ thể của người dùng về quy trình đăng xuất. Nó được đọc và thực thi khi người dùng thoát khỏi trình bao đăng nhập tương tác.

Một ví dụ thực tế sẽ bằng cách xóa cửa sổ đầu cuối khi đăng xuất. Điều này quan trọng đối với các kết nối từ xa, điều này sẽ để lại một cửa sổ sạch sau khi đóng chúng:

# cat bash_logout 
Tìm hiểu về tệp khởi tạo Shell và hồ sơ người dùng trong Linux

Để có thêm thông tin chi tiết, hãy kiểm tra nội dung của các tệp khởi tạo shell này trên các bản phân phối Linux khác nhau và cũng có thể đọc qua trang bash man:

Đó là tất cả cho bây giờ! Trong bài viết này, chúng tôi đã giải thích các tệp khởi động / khởi tạo shell trong Linux. Sử dụng mẫu bình luận bên dưới để viết thư phản hồi cho chúng tôi.