Giới thiệu tổng quan về Linux Terminal dành cho người mới

gioi thieu ve linux terminal 1

Hướng dẫn này của DataOnline chính là bài đầu tiên trong chuỗi tài liệu những kiến thức nền tảng về Linux, sẽ hướng dẫn bạn làm quen với Linux Terminal, dòng lệnh Linux và cách thực thi các lệnh. Nếu bạn là người mới làm quen với Linux, bạn sẽ muốn làm quen với  Terminal, vì đây là cách tiêu chuẩn để tương tác với máy chủ Linux.

Nếu bạn muốn khai thác tối đa giá trị của bài hướng dẫn này, bạn cần có một máy chủ Linux để kết nối và sử dụng. Hướng dẫn này được viết dựa trên máy chủ Ubuntu 22.04 nhưng các nguyên tắc chung đều áp dụng cho các bản phân phối Linux khác. Hãy cùng bắt đầu với việc tìm hiểu Terminal Emulator là gì.

Terminal Emulator

Terminal emulator là một chương trình cho phép bạn sử dụng terminal trong môi trường đồ họa. Vì hầu hết mọi người sử dụng hệ điều hành có giao diện người dùng đồ họa (GUI) cho các nhu cầu hàng ngày, nên việc sử dụng terminal emulator trở nên cần thiết đối với hầu hết người dùng máy chủ Linux.

Dưới đây là một số terminal emulator miễn phí và thường được sử dụng theo từng hệ điều hành:

  • Mac OS X: Terminal (mặc định), iTerm 2
  • Windows: ConEmu, Windows Terminal, PuTTy
  • Linux: Gnome Terminal, Konsole, XTerm

Mỗi terminal emulator có bộ tính năng riêng của nó. Nói chung, bạn có thể kỳ vọng một terminal emulator hiện đại sẽ hỗ trợ cửa sổ theo tab và tô màu văn bản.

Trình thông dịch (Shell)

Trong hệ thống Linux, shell là giao diện dòng lệnh để giải thích các lệnh và tập tin script do người dùng nhập vào, và hướng dẫn hệ điều hành của máy chủ thực hiện theo. Có nhiều shell được sử dụng rộng rãi, chẳng hạn như Bourne-Again Shell (bash) và Z Shell (zsh).

Mỗi shell có bộ tính năng riêng và những điểm tinh vi trong cách xử lý lệnh, nhưng tất cả đều có cơ chế chuyển hướng đầu vào và đầu ra, sử dụng biến và kiểm tra điều kiện, cùng nhiều tính năng khác.

Bài hướng dẫn này được viết bằng Bourne-Again Shell, thường được gọi là bash, đây là shell mặc định cho hầu hết các bản phân phối Linux như Ubuntu, Fedora và RHEL.

Cửa sổ dòng lệnh (Command Prompt)

Khi bạn đăng nhập vào máy chủ lần đầu tiên, thường bạn sẽ được chào đón bằng Message of the Day (MOTD) – một thông điệp thông tin bao gồm các dữ liệu như phiên bản của bản phân phối Linux mà máy chủ đang chạy. Sau MOTD, bạn sẽ được đưa vào command prompt, hay còn gọi là shell prompt, nơi bạn có thể nhập lệnh cho máy chủ.

Thông tin hiển thị tại command prompt có thể được tùy chỉnh bởi người dùng, nhưng dưới đây là ví dụ về command prompt mặc định của Ubuntu 20.04:

sammy@webapp:~$

Giải thích cấu thành của command prompt:

  • sammy: Tên người dùng hiện tại
  • webapp: Tên máy chủ (hostname)
  • ~: Thư mục hiện hành. Trong bash (shell mặc định), ký tự ~ (tilde) là ký tự đặc biệt mở rộng thành đường dẫn tới thư mục chủ của người dùng hiện tại; trong trường hợp này, nó đại diện cho /home/sammy
  • $: Ký hiệu kết thúc prompt. Đây là nơi bắt đầu đầu vào từ bàn phím của người dùng

Dưới đây là một ví dụ về command prompt khi đăng nhập dưới quyền root và ở thư mục /var/log:

root@webapp:/var/log#

Lưu ý rằng ký hiệu kết thúc prompt ở đây là #, đây là ký hiệu chuẩn cho root. Trong Linux, người dùng root là tài khoản siêu người dùng, có khả năng thực hiện các tác vụ quản trị hệ thống trên toàn bộ máy chủ. Đây là tài khoản không bị giới hạn, có quyền thực hiện bất kỳ nhiệm vụ nào trên máy chủ.

Linux Terminal

Thực thi Lệnh – Hướng dẫn Linux Terminal cơ bản

Các lệnh có thể được nhập tại command prompt bằng cách chỉ định tên của tập tin thực thi, có thể là chương trình nhị phân hoặc tập tin script. Có rất nhiều lệnh và tiện ích tiêu chuẩn của Linux được cài đặt sẵn trong hệ điều hành, cho phép bạn điều hướng hệ thống tập tin, cài đặt các gói phần mềm và cấu hình hệ thống cũng như các ứng dụng.

Một phiên bản của lệnh đang chạy được gọi là một tiến trình (process). Khi một lệnh được thực thi ở chế độ foreground (mặc định), người dùng phải chờ cho tiến trình hoàn tất trước khi quay trở lại command prompt để tiếp tục nhập lệnh khác.

Điều quan trọng cần lưu ý là hầu hết mọi thứ trong Linux đều phân biệt chữ hoa và chữ thường, bao gồm tên tập tin, tên thư mục, lệnh, đối số và tham số. Nếu có điều gì đó không hoạt động như mong đợi, hãy kiểm tra lại chính tả và chữ hoa chữ thường của các lệnh!

Dưới đây là một vài ví dụ cơ bản về cách thực thi lệnh.

Chạy Lệnh Không Có Đối Số Hay Tham Số

Để chạy một lệnh mà không có đối số hoặc tham số nào, bạn chỉ cần gõ tên lệnh và nhấn Enter.

Nếu bạn chạy một lệnh theo cách này, nó sẽ thực hiện hành vi mặc định của nó – hành vi này thay đổi tùy lệnh. Ví dụ, nếu bạn chạy lệnh cd mà không có đối số nào, bạn sẽ được đưa về thư mục chủ của người dùng hiện tại. Lệnh ls sẽ liệt kê các tập tin và thư mục trong thư mục hiện hành. Lệnh ip nếu không có đối số sẽ hiển thị thông báo hướng dẫn cách sử dụng lệnh ip.

Hãy thử chạy lệnh ls không đối số để liệt kê các tập tin và thư mục trong thư mục hiện tại (có thể sẽ không có gì):

ls

Chạy Lệnh Có Đối Số

Nhiều lệnh chấp nhận các đối số (parameters) có thể ảnh hưởng đến hành vi của lệnh. Ví dụ, cách sử dụng phổ biến nhất của lệnh cd là truyền vào cho nó một đối số chỉ định thư mục cần chuyển đến. Ví dụ, để chuyển đến thư mục /usr/bin – nơi chứa nhiều lệnh tiêu chuẩn được cài đặt – bạn sẽ nhập lệnh:

cd /usr/bin

Ở đây, cd là lệnh và /usr/bin là đối số theo sau lệnh. Hãy để ý cách mà đường dẫn hiện hành trên command prompt đã được cập nhật.

Hãy thử chạy lệnh ls để xem các tập tin trong thư mục mới:

ls

Output: 

…
 grub-mkrescue                        sdiff                              zgrep
 grub-mkstandalone                    sed                                zipdetails
 grub-mount                           see                                zless
 grub-ntldr-img                       select-editor                      zmore
 grub-render-label                    semver                             znew
 grub-script-check                    sensible-browser

Chạy Lệnh Có Tham Số

Hầu hết các lệnh chấp nhận tham số (còn gọi là flags hoặc switches) để thay đổi hành vi của lệnh. Các tham số đi sau lệnh và được biểu thị bằng một dấu gạch ngang (-) đơn theo sau bởi một hoặc nhiều tham số, được thể hiện qua các chữ cái viết hoa hoặc viết thường riêng lẻ. Một số tham số gồm nhiều từ có thể bắt đầu bằng --, theo sau là văn bản của tham số.

Để minh họa cách hoạt động của tham số, hãy xem xét lệnh ls. Dưới đây là một vài tham số phổ biến hữu ích khi sử dụng ls:

-l: hiển thị danh sách chi tiết, bao gồm thông tin bổ sung như quyền truy cập, chủ sở hữu, kích thước tệp và dấu thời gian
-a: liệt kê tất cả các tệp trong thư mục, bao gồm cả các tệp ẩn (bắt đầu bằng dấu chấm .)

Để sử dụng tham số -l với lệnh ls, hãy sử dụng lệnh sau:

ls -l

Chú ý rằng danh sách vẫn bao gồm các tệp như trước, nhưng với thông tin bổ sung về từng tệp.

Như đã đề cập, các tham số có thể được nhóm lại với nhau. Nếu bạn muốn sử dụng cùng lúc tham số -l-a, bạn có thể chạy:

ls -la

Chú ý rằng danh sách này bao gồm cả các thư mục ẩn ... nhờ tham số -a.

Với tham số và đối số

Tham số và đối số hầu như luôn có thể kết hợp khi chạy lệnh. Ví dụ, bạn có thể kiểm tra nội dung của thư mục /home bất kể bạn đang ở thư mục nào bằng cách chạy:

ls -la /home

Ở đây, ls là lệnh, -la là các tham số và /home là đối số chỉ định tệp hoặc thư mục cần liệt kê. Lệnh này sẽ hiển thị danh sách chi tiết của thư mục /home, chứa các thư mục home của tất cả người dùng thông thường trên máy chủ.

Biến Môi Trường (Environment Variables)

Biến môi trường là các giá trị có tên được sử dụng để thay đổi cách các lệnh và process được thực thi. Khi bạn đăng nhập vào máy chủ, một số biến môi trường sẽ được thiết lập mặc định theo các tệp cấu hình.

Xem Tất Cả Các Biến Môi Trường

Để xem tất cả các biến môi trường được thiết lập cho phiên terminal cụ thể, hãy chạy lệnh:

env

Có thể sẽ xuất ra rất nhiều thông tin. Hãy tìm mục PATH:

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

Biến môi trường PATH là danh sách các thư mục (cách nhau bởi dấu hai chấm) nơi shell tìm kiếm các chương trình hoặc script thực thi khi lệnh được nhập. Ví dụ, lệnh env nằm trong thư mục /usr/bin, và bạn có thể chạy nó mà không cần chỉ định đường dẫn đầy đủ vì đường dẫn này đã có trong biến PATH.

Xem Giá Trị Của Một Biến

Giá trị của một biến môi trường có thể được truy xuất bằng cách thêm dấu $ trước tên biến. Điều này sẽ mở rộng biến đó thành giá trị tương ứng. Ví dụ, để in giá trị của biến PATH, bạn có thể sử dụng lệnh:

echo $PATH

Hoặc bạn có thể sử dụng biến HOME – được thiết lập mặc định là thư mục home của người dùng – để chuyển đến thư mục home của bạn như sau:

cd $HOME

Nếu bạn cố truy cập một biến môi trường chưa được thiết lập, nó sẽ được mở rộng thành chuỗi rỗng.

Thiết Lập Biến Môi Trường

Bây giờ, khi bạn đã biết cách xem các biến môi trường, hãy cùng tìm hiểu cách thiết lập chúng.

Để thiết lập một biến môi trường, bạn chỉ cần bắt đầu với tên biến, sau đó là dấu = liền theo giá trị mong muốn:

VAR=value

Lưu ý rằng nếu bạn thiết lập một biến đã tồn tại, giá trị ban đầu sẽ bị ghi đè. Nếu biến đó chưa tồn tại, nó sẽ được tạo mới.

Bash cung cấp lệnh export để xuất biến, cho phép biến đó được kế thừa bởi các process con. Điều này cho phép bạn sử dụng các script tham chiếu đến biến môi trường đã được export từ phiên hiện tại.

Bạn cũng có thể tham chiếu đến các biến đã tồn tại khi thiết lập một biến mới. Ví dụ, nếu bạn cài đặt một ứng dụng vào thư mục /opt/app/bin, bạn có thể thêm thư mục đó vào cuối biến PATH bằng lệnh:

export PATH=$PATH:/opt/app/bin

Sau đó, hãy xác nhận rằng /opt/app/bin đã được thêm vào cuối biến PATH bằng lệnh:

echo $PATH

Hãy nhớ rằng việc thiết lập biến môi trường theo cách này chỉ có hiệu lực cho phiên làm việc hiện tại của bạn. Điều này có nghĩa là nếu bạn đăng xuất hoặc chuyển sang phiên khác, các thay đổi sẽ không được lưu lại. Có cách để thay đổi biến môi trường một cách vĩnh viễn, nhưng điều đó sẽ được đề cập trong bài hướng dẫn sau.

Kết luận

Bây giờ, khi bạn đã bắt đầu tìm hiểu về terminal của Linux (và một số lệnh cơ bản), bạn đã có nền tảng vững chắc để mở rộng kiến thức về các lệnh của Linux. Hãy đọc bài hướng dẫn tiếp theo trong chuỗi này để học cách di chuyển, xem và chỉnh sửa tệp cũng như quản lý quyền truy cập của chúng.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *