Những ký tự đặc biệt trong Bash (Linux) có thể bạn chưa biết?

Nếu bạn thường xuyên làm việc với các Bash Shell trên Linux thì bài viết này có thể hữu ích cho bạn rất nhiều.


~ Thư mục Home

Đây là ký tự ngắn thay thế cho đường dẫn đầy đủ đến thư mục Home. Bạn không cần phải đầy đủ đường dẫn của thư mục Home. Ví dự tôi login với user là fstack thì 2 lệnh sau đây tương đương nhau:

cd /home/fstack
cd ~

. Thư mục hiện tại

Đây là ký tự ngắn thay thế cho thự mục hiện tại. Ví dụ bạn muốn thực thi một đoạn script hiện tại:

./script.sh

.. Thư mục cha

Đây là ký tự ngắn thay thế cho thự mục cha. Ví dụ bạn muốn quay về thư mục cha của thư mục hiện tại:

cd ..

Trong Bash Shell Linux thì hỗ trợ 3 ký tự đại diện (Wildcard) là ?, * và [], chúng ta sẽ đi tìm hiểu chúng.

? Single Character Wildcard

Ký tự đại diện đầu tiên là dấu chấm hỏi ‘?’, đại diện cho 1 ký tự trong tên file, tên thực mục. Ví dụ: chúng ta có danh sách các tập tin log server như bên dưới:

api-server-15.log 
api-server-16.log 
api-server-17.log 
api-server-18.log 
api-server-19.log 
api-server-20.log 
api-server-21.log 
api-server-22.log
...
api-server-30.log  
api-server-31.log 

và chúng ta cần xem tất cả các log từ 20-29, sử dụng ký tự ‘?’ cho trường hợp này:

cat api-server-2*.log