Ở 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>