1. Đường dẫn lệnh trong Shell

Trong Linux, khái niệm đường dẫn lệnh (command path) là một phần quan trọng trong các khái niệm cơ bản của shell. Đơn giản mà nói, đường dẫn lệnh là một biến được sử dụng bởi shell để xác định vị trí các tệp thực thi cần chạy. Các lệnh trong Linux thực chất là các chương trình nằm trong các thư mục nhất định. Tuy nhiên, người dùng không cần phải điều hướng đến các thư mục này mỗi khi muốn chạy các chương trình. Đường dẫn lệnh giúp giải quyết vấn đề này!

Thông thường, khi bạn nhập một lệnh trong terminal, shell cần biết đường dẫn tuyệt đối của tệp thực thi của lệnh đó để chạy. Thay vì phải nhập đầy đủ đường dẫn mỗi lần, đường dẫn lệnh cho phép shell tự động tìm kiếm các thư mục đã được chỉ định theo thứ tự đúng. Các đường dẫn này được lưu trong biến môi trường $PATH.

echo $PATH

Chạy lệnh này trong terminal Linux sẽ trả về tất cả các thư mục mà shell sẽ tìm kiếm, theo thứ tự, để tìm lệnh cần chạy. Các thư mục được phân tách bằng dấu hai chấm. Tính năng này làm cho việc sử dụng giao diện dòng lệnh của Linux trở nên thuận tiện và hiệu quả.

2. Biến Môi Trường

Trong Linux, biến môi trường là các giá trị động được đặt tên có thể ảnh hưởng đến hành vi của các quá trình đang chạy trong shell. Chúng tồn tại trong mọi phiên làm việc của shell. Môi trường của một phiên shell bao gồm, nhưng không giới hạn, thư mục home của người dùng, đường dẫn tìm kiếm lệnh, loại terminal, và các tuỳ chọn chương trình.

Các biến môi trường đóng góp vào sự linh hoạt tuyệt vời và khả năng tuỳ chỉnh mà bạn thấy ở các hệ thống Unix. Chúng cung cấp một cách đơn giản để chia sẻ các thiết lập cấu hình giữa nhiều ứng dụng và quá trình trong Linux.

Bạn có thể sử dụng lệnh env để liệt kê tất cả các biến môi trường trong một phiên shell. Nếu bạn muốn in ra một biến cụ thể, chẳng hạn như biến PATH, bạn có thể sử dụng lệnh echo $PATH.

env

In ra một biến cụ thể như PATH

echo $PATH

Nhớ rằng, mỗi shell, như Bourne shell, C shell, hay Korn shell trong Unix hoặc Linux, có cú pháp và ngữ nghĩa khác nhau để định nghĩa và sử dụng các biến môi trường.

3. Trợ Giúp Lệnh

Trợ giúp lệnh trong Linux là một tính năng quan trọng giúp người dùng điều hướng qua các lệnh shell của Linux một cách dễ dàng. Tính năng này hiển thị thông tin ngắn gọn về cách sử dụng các lệnh này. Ví dụ, gõ man trước bất kỳ lệnh nào sẽ hiển thị mục hướng dẫn sử dụng cho lệnh đó, giải thích lệnh làm gì, cú pháp của nó và các tuỳ chọn có sẵn. Một lệnh phổ biến khác là help thích hợp hơn cho các hàm tích hợp của shell, cung cấp mô tả ngắn gọn về mỗi hàm.

Xem mục hướng dẫn sử dụng cho bất kỳ lệnh nào

man <lệnh>

Ví dụ hiển thị hướng dẫn sử dụng nmap

man nmap

Đối với các hàm tích hợp của shell

help <lệnh>

Nhớ rằng Linux phân biệt chữ hoa chữ thường, vì vậy hãy chắc chắn gõ lệnh chính xác.

4. Chuyển Hướng

Shell trong Linux cung cấp một cách mạnh mẽ để quản lý các luồng đầu vào và đầu ra của một lệnh hoặc chương trình, cơ chế này được gọi là chuyển hướng. Linux là hệ điều hành đa người dùng và đa nhiệm, mỗi quá trình thường có 3 luồng mở:

  • Đầu vào chuẩn (stdin): Nơi quá trình đọc đầu vào của nó. Mặc định là bàn phím.
  • Đầu ra chuẩn (stdout): Quá trình ghi đầu ra của nó vào stdout. Mặc định là terminal.
  • Lỗi chuẩn (stderr): Quá trình ghi thông báo lỗi vào stderr. Mặc định cũng là terminal.

Chuyển hướng trong Linux cho phép chúng ta thao tác các luồng này, nâng cao tính linh hoạt khi chạy các lệnh hoặc chương trình. Ngoài các thiết bị mặc định (bàn phím cho đầu vào và terminal cho đầu ra), các luồng I/O có thể được chuyển hướng đến các tệp hoặc thiết bị khác.

Ví dụ, nếu bạn muốn lưu đầu ra của một lệnh vào một tệp thay vì in ra console, chúng ta có thể sử dụng toán tử >.

ls -al > ls_test.txt

Lệnh này sẽ ghi đầu ra của ls -al vào ls_test.txt, cho dù tệp này ban đầu có tồn tại hay không. Nó sẽ được tạo nếu cần thiết, và nếu đã tồn tại – nó sẽ bị ghi đè.

5. Siêu Người Dùng (Super User)

Siêu người dùng, còn được gọi là “root user”, đại diện cho một tài khoản người dùng trong Linux với quyền lực, đặc quyền và khả năng rộng lớn. Người dùng này có toàn quyền kiểm soát hệ thống và có thể truy cập bất kỳ dữ liệu nào được lưu trữ trên đó. Điều này bao gồm khả năng thay đổi cấu hình hệ thống, thay đổi mật khẩu của người dùng khác, cài đặt phần mềm, và thực hiện các tác vụ quản trị khác trong môi trường shell.

Việc sử dụng siêu người dùng là quan trọng để vận hành một hệ thống Linux đúng cách và an toàn vì nó có thể gây ra thiệt hại nghiêm trọng. Siêu người dùng có thể được truy cập thông qua các lệnh sudo hoặc su.

Cụ thể, su chuyển đổi người dùng hiện tại sang root, trong khi sudo cho phép bạn chạy một lệnh với tư cách người dùng khác, mặc định là root. Tuy nhiên, điểm khác biệt quan trọng là sudo sẽ ghi lại các lệnh và các tham số của nó, tạo ra một dấu vết kiểm tra hữu ích.

Lệnh này sẽ yêu cầu mật khẩu root và chuyển bạn sang chế độ người dùng root

sudo su

Hoặc

sudo -i

Để thực hiện một lệnh với quyền siêu người dùng (nếu được phép trong danh sách sudoers)

sudo <lệnh>

Ví dụ: nâng cấp tất cả các gói trong Linux có thể nâng cấp

sudo apt-get -y upgrade

Chú ý rằng quyền siêu người dùng cần được xử lý cẩn thận vì khả năng gây ra sự cố nghiêm trọng cho hệ thống nếu thực hiện thay đổi sai lầm đối với các tệp hệ thống quan trọng hoặc truy cập trái phép.

Cảm ơn bạn đã đọc bài viết này. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến đóng góp, đừng ngần ngại để lại bình luận bên dưới. Chúng ta hãy tiếp tục chia sẻ kiến thức và học hỏi từ nhau.

vanluong