Cách thêm thư mục vào PATH trong Linux

How Add Directory Path Linux



PATH là một biến được xác định trước trong Linux shell. Nó bao gồm các thư mục với đường dẫn thư mục của chúng, bắt đầu từ thư mục gốc. PATH là một danh sách được phân tách bằng dấu hai chấm. Mỗi thư mục có đường dẫn của nó được ngăn cách với thư mục trước bằng đường dẫn của nó bằng dấu hai chấm. Trình bao tìm kiếm các lệnh trong các thư mục này.

Các lệnh không chỉ là lệnh của hệ điều hành đĩa. Đường dẫn là danh sách các thư mục trong đó trình bao tìm kiếm các lệnh của hệ điều hành và các lệnh khác. Các lệnh giống như các tệp chương trình ngắn. Vì vậy, các lệnh là thực thi. Mỗi ứng dụng được cài đặt trong máy tính đều đi kèm với một tệp thực thi. Để chạy ứng dụng, trước tiên tệp thực thi được cài đặt. Các tệp thực thi này còn được gọi là lệnh.







Nếu không có biến PATH, mỗi lệnh sẽ được lệnh với đường dẫn tuyệt đối, như trong,



/home/john/dir1/dir2/command.exe



nơi đầu tiên / là thư mục gốc; john là thư mục người dùng cho người dùng, John; dir1 và dir2 là các thư mục con; và command.exe là tên của tệp thực thi.





Có thể có nhiều tên khác cho tệp thực thi. Trên thực tế, command.exe là biểu tượng, ở đây. Vì vậy, nếu thư mục, / home / john / dir1 / dir2 (không có tệp), nằm trong biến PATH, thì người dùng john, sẽ thực thi lệnh.exe tại dấu nhắc, [email protected]: ~ $ bằng cách chỉ cần gõ, command.exe, không có đường dẫn trước. Đó là:

[email được bảo vệ]: ~ $command.exe

và sau đó nhấn Enter.

Để xem danh sách thư mục PATH hiện tại trong máy tính, hãy nhập:

$quăng đi $ PATH

và nhấn Enter, tại thiết bị đầu cuối. Kết quả sẽ giống như,

/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / snap / bin

Câu hỏi bây giờ là: một thư mục (và đường dẫn trước của nó), được thêm vào biến PATH như thế nào? Với một số cài đặt, thư mục được thêm tự động. Với những người khác, nó phải được thêm theo cách thủ công. Bài viết này giải thích hai cách chính, trong đó thư mục được thêm vào. Thư mục không được thêm (bao gồm) như nó sẽ được thực hiện với một mảng. Hai cách chính được gọi là Bổ sung tạm thời và Bổ sung vĩnh viễn. Bash là shell được sử dụng cho các ví dụ mã trong bài viết này.

Nội dung bài viết

Bổ sung tạm thời

Bổ sung tạm thời có nghĩa là việc bổ sung chỉ diễn ra trong bộ nhớ. Nó không được lưu để sử dụng khi máy tính được khởi động lại.

Lệnh xuất tích hợp của Bourne Shell

Nói một cách dễ hiểu, lệnh export là:

$xuất khẩu [Tên[= giá trị]]

Trong trường hợp này, nó chỉ định lại một giá trị cho một biến trong bộ nhớ.

Biến PATH trong bộ nhớ có thể đã có giá trị như,

PATH = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / snap / bin

Giả sử rằng thư mục được thêm vào là / home / john / dir1 / dir2. Nếu lệnh xuất được nhập là,

$xuất khẩu CON ĐƯỜNG=/Trang Chủ/John/dir1/dir2

thì / home / john / dir1 / dir2 sẽ thay thế tất cả những gì đã có trong bộ nhớ dưới dạng giá trị cho biến PATH.

Nếu lệnh xuất được nhập là,

$xuất khẩu CON ĐƯỜNG=$ PATH:/Trang Chủ/John/dir1/dir2

Sau đó, / home / john / dir1 / dir2 sẽ tự gắn vào cuối những gì đã có trong biến. Vì vậy, biến mới sẽ là:

PATH = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games: / snap / bin: / home / john / dir1 / dir2

Lưu ý rằng trong dòng mã trước đó ở trên, phần của giá trị đã có ở đó được ngăn cách với phần mới bằng dấu hai chấm, đó là ‘:’. $ PATH trong dòng mã, mở rộng (được thay thế) bởi giá trị của PATH đã có trong bộ nhớ.

Bây giờ, cùng một lệnh có thể nằm trong nhiều thư mục. Khi một lệnh thực thi được nhập mà không có đường dẫn trước tại dấu nhắc, trình bao bắt đầu tìm kiếm giá trị (chuỗi) của biến PATH trong bộ nhớ, từ trái sang phải. Vì vậy, với dòng mã trên, / home / john / dir1 / dir2 sẽ xuất hiện cuối cùng trong tìm kiếm. Ai muốn danh bạ của mình đến cuối cùng? - Không ai. Vì vậy, một cách tốt hơn để bao gồm (thêm) thư mục, như sau:

$xuất khẩu CON ĐƯỜNG=/Trang Chủ/John/dir1/dir2:$ PATH

/ home / john / dir1 / dir2 hiện ở đầu, được phân tách với thư mục tiếp theo, bằng dấu hai chấm. Vì vậy, với lời nhắc [email được bảo vệ]: ~ $,

[email được bảo vệ]: ~ $xuất khẩu CON ĐƯỜNG=/Trang Chủ/John/dir1/dir2:$ PATH

sau khi nhập và nhấn Enter, lệnh, command.exe trong thư mục, dir2, sẽ được thực thi với:

[email được bảo vệ]: ~ $command.exe

Miễn là máy tính chưa tắt, người dùng sẽ tiếp tục thực thi lệnh.exe mà không cần nhập đường dẫn trước đó.

Khi máy tính tắt, mọi thứ trong bộ nhớ truy cập ngẫu nhiên sẽ bị xóa. Tin xấu là người dùng máy tính sẽ phải lặp lại quá trình thêm thư mục của mình vào biến PATH mỗi khi máy tính được khởi động lại. Không ai muốn làm điều đó ngày hôm nay. Vì vậy, cách tiếp cận Bổ sung vĩnh viễn là cách tiếp cận được khuyến nghị. Đó là, việc bổ sung PATH, phải được lưu (vào đĩa cứng).

Bổ sung vĩnh viễn

Từ cuộc thảo luận ở trên, ý tưởng là lưu thay đổi đã thực hiện (vào đĩa cứng). Vì vậy, nếu thay đổi được lưu vào một tệp mà trình bao đọc mỗi khi máy tính khởi động, điều đó sẽ ổn. Tức là mỗi khi máy tính khởi động, biến PATH trong bộ nhớ sẽ được cập nhật một cách thích hợp. Khi một máy tính khởi động, lúc khởi động, nó sẽ đọc một số tệp nhất định. Một trong những tệp mà trình bao Bash dành cho Linux đọc là, ~ / .bashrc. Tên tệp là. bashrc , bắt đầu bằng dấu chấm. Nó nằm trong thư mục của người dùng.

Bash chỉ là một shell, có lẽ là shell phổ biến nhất cho Linux ngày nay. Một trình bao khác cho Linux là Zsh. Với Zsh, tệp tương ứng là ~ /. zshrc , vẫn còn trong thư mục của người dùng. Khi trình bao khởi động, lúc khởi động, nó sẽ đọc tệp này. Đối với Bash, tệp là, ~ / .bashrc. Vì vậy, nếu mã bổ sung ở trên được nhập vào tệp ~ / .bashrc, thư mục sẽ luôn ở trong bộ nhớ, vì ~ / .bashrc sẽ luôn bao gồm nó trong PATH, mỗi khi máy tính khởi động. Nó vẫn còn trong bộ nhớ, cho đến khi máy tính tắt.

Trong Bash, ~ / .bashrc là một tệp ẩn, vì vậy việc sử dụng thông thường của lệnh, ls sẽ không hiển thị nó. ~ / .bashrc chứa một số lệnh Bash (shell). Ubuntu là một biến thể của Linux. Ubuntu đi kèm với một trình soạn thảo văn bản. Trong máy tính của tác giả, nền của trình soạn thảo văn bản Ubuntu có màu đen.

Lệnh bổ sung ở trên (không có dấu nhắc) phải được đưa vào tệp ~ / .bashrc. Tốt hơn là bạn nên thêm nó vào cuối tệp để không nóng nảy với nội dung có sẵn của nó, nội dung đó có thể hoạt động ổn.

Để mở ~ / .bashrc trong Ubuntu, hãy nhập dòng lệnh sau vào dấu nhắc lệnh ở đầu cuối và nhấn Enter:

$nano~/.bashrc

Trong đó nano là trình soạn thảo văn bản. Ở đây, nano là một lệnh (có thể thực thi), có đối số là, ~ / .bashrc. Nội dung của tệp sẽ mở trong trình soạn thảo văn bản để phủ lên cửa sổ đầu cuối.

Tệp ~ / .bashrc sẽ mở trong trình soạn thảo văn bản, có thể có nền đen. Con trỏ sẽ nhấp nháy ở góc trên bên trái.

Nhấn liên tục phím mũi tên xuống trên bàn phím cho đến khi con trỏ đến cuối tệp. Thêm một dòng mới của,

$xuất khẩu CON ĐƯỜNG=/Trang Chủ/John/dir1/dir2:$ PATH

Đó không phải là tất cả. Thay đổi đối với tệp ~ / .bashrc chưa được lưu. Để lưu tệp với thay đổi được thực hiện, hãy nhấn Ctrl + o và làm theo bất kỳ hướng dẫn nào khác xuất hiện. Để thoát khỏi trình soạn thảo văn bản, hãy nhấn Ctrl + x và cửa sổ đầu cuối bình thường sẽ thay thế cửa sổ soạn thảo văn bản. Các lệnh shell khác sau đó có thể được đưa ra.

Nếu echo $ PATH được phát hành, thư mục mới sẽ không được hiển thị trên màn hình. Có hai cách để tiếp tục từ đây: khởi động lại máy tính hoặc tải nội dung mới của tệp ~ / .bashrc vào bộ nhớ bằng lệnh nguồn. Nó rất đơn giản để sử dụng lệnh nguồn, như sau:

$nguồn~/.bashrc

Nếu lệnh nguồn được đưa ra mà không cần khởi động lại, thì echo $ PATH sẽ hiển thị thư mục mới được thêm vào kết quả (hiển thị). Sau đó, lệnh quan tâm có thể được nhập mà không cần đường dẫn trước.

Ghi chú: Đừng nhầm lẫn giữa phần cuối của giá trị PATH (danh sách) và phần cuối của tệp ~ / .bashrc. Ngoài ra, đừng nhầm lẫn giữa một thư mục trong PATH trong bộ nhớ và một tệp thực thi trong thư mục trong đĩa cứng.

Phần kết luận

PATH là một biến tích hợp sẵn trong Linux shell. Giá trị của PATH là danh sách các thư mục được phân tách bằng dấu hai chấm. Có một lệnh (tệp thực thi) trong đĩa cứng cho mỗi thư mục này. Nếu một lệnh được đưa ra khi bán mà không đặt trước nó bằng một đường dẫn, trình bao sẽ xem xét các thư mục này cho lệnh. Nếu nó không thấy lệnh trong bất kỳ thư mục nào, thì lệnh đó sẽ không được thực hiện. Trong trường hợp này, để thực hiện lệnh, lệnh phải được đặt trước đường dẫn của nó. Lệnh có thể nằm trong nhiều thư mục trong giá trị PATH. Ngay sau khi shell thấy thư mục đầu tiên có lệnh, nó sẽ thực thi lệnh. Giá trị PATH thực sự là một chuỗi bao gồm các thư mục được phân tách bằng dấu hai chấm.

Vấn đề là làm thế nào để thêm thư mục cho tệp thực thi của một ứng dụng mới vào PATH. Trong một số trường hợp, điều này được thực hiện tự động bởi chương trình cài đặt của ứng dụng mới. Trong các trường hợp khác, nó phải được thực hiện thủ công. Có hai cách để thực hiện thủ công, được gọi là: Bổ sung tạm thời và Bổ sung vĩnh viễn. Bổ sung tạm thời sử dụng lệnh xuất và chỉ thêm thư mục khi máy tính đang bật. Permanent Addition phải lưu dòng lệnh xuất vào tệp khởi tạo ~ / .bashrc (Bash) cho các hoạt động sau này.