Android

Làm thế nào để thêm một thư mục vào đường dẫn trong linux

[UNIX] Thao tác với path (Phần 1)

[UNIX] Thao tác với path (Phần 1)

Mục lục:

Anonim

Khi bạn nhập một lệnh trên dòng lệnh, về cơ bản, bạn đang báo cho shell chạy một tệp thực thi với tên đã cho. Trong Linux, các chương trình thực thi này như ls , find , file và các chương trình khác, thường sống trong một số thư mục khác nhau trên hệ thống của bạn. Bất kỳ tệp nào có quyền thực thi được lưu trữ trong các thư mục này có thể được chạy từ bất kỳ vị trí nào. Các thư mục phổ biến nhất chứa các chương trình thực thi là /bin , /sbin , /usr/sbin , /usr/local/bin /usr/local/sbin .

Nhưng làm thế nào để shell biết, thư mục nào để tìm kiếm các chương trình thực thi hoặc shell tìm kiếm trong toàn bộ hệ thống tập tin?

Đáp án đơn giản. Khi bạn gõ một lệnh, shell sẽ tìm kiếm trong tất cả các thư mục được chỉ định trong biến $PATH của người dùng để tìm tệp thực thi của tên đó.

Bài viết này cho thấy cách thêm thư mục vào $PATH của bạn trong các hệ thống Linux.

$PATH trong Linux là gì

Biến môi trường $PATH là một danh sách các thư mục được phân cách bằng dấu hai chấm cho lớp vỏ biết các thư mục cần tìm kiếm các tệp thực thi.

Để kiểm tra thư mục nào trong $PATH bạn, bạn có thể sử dụng lệnh printenv hoặc echo :

echo $PATH

Đầu ra sẽ trông giống như thế này:

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

Thêm một thư mục vào $PATH của bạn

Có những tình huống mà bạn có thể muốn thêm các thư $PATH khác biến $PATH . Ví dụ: một số chương trình có thể được cài đặt ở các vị trí khác nhau hoặc bạn có thể muốn có một thư mục dành riêng cho tập lệnh cá nhân của mình, nhưng có thể chạy chúng mà không chỉ định đường dẫn tuyệt đối đến các tệp thực thi. Để làm điều này, bạn chỉ cần thêm thư mục vào $PATH của bạn.

Giả sử bạn có một thư mục có tên bin nằm trong thư mục Home của bạn, trong đó bạn giữ các tập lệnh shell của mình. Để thêm thư mục vào loại $PATH của bạn trong:

export PATH="$HOME/bin:$PATH"

Lệnh export sẽ xuất biến đã sửa đổi sang môi trường xử lý shell shell.

Bây giờ bạn có thể chạy các tập lệnh của mình một cách đơn giản bằng cách nhập tên tập lệnh thực thi mà không cần chỉ định đường dẫn đầy đủ thực thi.

Tuy nhiên, thay đổi này chỉ là tạm thời và chỉ có hiệu lực trong phiên shell hiện tại.

Để thay đổi vĩnh viễn, bạn cần xác định biến $PATH trong các tệp cấu hình shell. Trong hầu hết các bản phân phối Linux khi bạn bắt đầu một phiên mới, các biến môi trường được đọc từ các tệp sau:

  • Các tệp cấu hình cụ thể của shell toàn cầu như /etc/environment /etc/profile . Sử dụng tệp này nếu bạn muốn thêm thư mục mới cho tất cả người dùng hệ thống $PATH .

    Mỗi tệp người dùng cấu hình cụ thể vỏ. Ví dụ: nếu bạn đang sử dụng Bash, bạn có thể đặt biến $PATH trong tệp ~/.bashrc và nếu bạn đang sử dụng Zsh thì tên tệp là ~/.zshrc .

Trong ví dụ này, chúng tôi sẽ đặt biến trong tệp ~/.bashrc . Mở tệp bằng trình soạn thảo văn bản của bạn và thêm dòng sau vào cuối tệp:

nano ~/.bashrc ~ /.bashrc

export PATH="$HOME/bin:$PATH"

Lưu tệp và tải $PATH vào phiên shell hiện tại bằng lệnh source :

source ~/.bashrc

Để xác nhận rằng thư mục đã được thêm thành công, hãy in giá trị $PATH của bạn bằng cách nhập:

echo $PATH

Phần kết luận

Thêm thư mục mới cho người dùng của bạn hoặc biến $PATH toàn cầu khá đơn giản. Điều này cho phép bạn thực thi các lệnh và tập lệnh được lưu trữ trên các vị trí không chuẩn mà không cần phải nhập đường dẫn đầy đủ đến tệp thực thi.

Các hướng dẫn tương tự áp dụng cho mọi phân phối Linux, bao gồm Ubuntu, CentOS, RHEL, Debian và Linux Mint.

Hãy để lại nhận xét nếu bạn có bất kỳ câu hỏi nào.

thiết bị đầu cuối