Ở trong shell, ta thường thấy ở đầu mỗi dòng thường có dạng như sau:

missing:~$ 

Với missing là tên máy, ~ là để chỉ thư mục làm việc hiện tại và $ cho biết rằng user hiện tại không phải là root user.

Các đối số truyền vào một chương trình cách nhau bởi khoảng trắng:

echo hello

Để truyền vào đối số có khoảng trắng, ta có thể bao bên ngoài bằng dấu ' hoặc dấu ":

echo 'hello world'

Hoặc cũng có thể dùng \ :

echo hello\ world

Tất cả các đường dẫn của các chương trình đều nằm trong biến môi trường có tên là $PATH:

echo $PATH

Các đường dẫn phân cách nhau bởi dấu :.

Để biết được đường dẫn đến file executable của chương trình thì ta gọi lệnh which:

which echo

Output sẽ là:

/usr/bin/echo

Để ghi dữ liệu vào file, ta dùng >:

echo > hello.txt

Toán tử | giúp chúng ta nối các chương trình lại với nhau. Output của chương trình này sẽ là input của chương trình khác:

cat hello.txt | grep h

Ở trong Linux, nếu sử dụng user root thì có thể chỉnh sửa các tập tin kernel trong thư mục /sys.

Kiểm tra tình trạng pin của laptop:

cat /sys/class/power_supply/BAT0/capacity

Xem nhiệt độ của CPU:

cat /sys/class/thermal/thermal_zone*/temp

Vối * là một số nguyên nào đó.

Basic shell scripting

Lưu ý: bash là một loại shell, ngoài ra còn có zsh, …

Kiểm tra shell hiện tại:

echo $SHELL

Dấu # là để bắt đầu cho một comment ở trong bash.

Chương trình sh, hay còn gọi là bourne shell, là một command-line interpreter (CLI) cho các hệ điều hành. Có thể hiểu đơn giản là nó giúp thực thi những câu lệnh. Chương trình này nhận vào input từ bàn phím hoặc từ file và trả output ra màn hình.

Các ký tự #! còn được gọi là “shebang”, sau shebang sẽ là tên của trình thông dịch được dùng để chạy code ở trong script. Cú pháp như sau:

#!interpreter [optional-args]

Mỗi shell sẽ có một trình thông dịch riêng và sẽ được khai báo ở trong file script. Ví dụ với bourne shell thì là #!/bin/sh hay với bash là #!/bin/bash.

Cách lấy thông tin về thời gian chỉnh sửa của file:

stat -c '%y' <file>