Ki hieu trong linux

Hai kí hiệu thư mục này không thể tách rời với hệ thống file trên hệ thống máy tính của chúng ta và bạn có thể thấy nó khi sử dụng các hàm liệt kê thư mục cấp thấp của nhân kernel [kernel’s low-level directory].

Về mặt ý nghĩa trong hệ thống file và thư mục trong linux:
. refers tới thư mục hiện tại[current directory]
.. refers tới thư mục trên nó một cấp[above directory]

Các mục này được tạo tự động khi bạn tạo bất kì một thư mục mới nào, có thể thấy bằng cách sử dụng lệnh ls với tùy chọn -a [hiển thị tất cả nội dung của thư mục, bao gồm cả các thư mục và files ẩn].

Trong cấu thư mục trong linux thì mọi thư mục con chỉ có một thư mục mẹ và dấu “..” trong thư mục con nhằm mục đích để xác định tôi là thư mục con của thư mục trên một cấp. Để hiểu rõ hơn thì bạn có thể tìm hiểu khái niệm links và inodes trong hệ thống file linux [đây là một bài viết có thể tham khảo thêm]

Một số ví dụ thao tác với thư mục

ba_dat@devk2x ~ % pwd
/Users/ba_dat
ba_dat@devk2x ~ % cd Documents
ba_dat@devk2x Documents % cd .
ba_dat@devk2x Documents % pwd
/Users/ba_dat/Documents       

Kết quả hàm trên sẽ thấy được kí hiệu thư mục ... như bên dưới:

.
..
apples
bananas
pears

Trên một số hệ điều hành về mặt giao diện người dùng thì thường mặc định nhà cũng cấp cũng như nhà phát triển sẽ ẩn hai mục này, vì chúng không thực sự liên quan trong môi trường đồ họa và khía cạnh người dùng, nhưng thật sự chúng vẫn tồn tại mà chúng ta không thấy.

Các kí hiệu mô tả nhóm file và phím trong LINUX

Khi gõ lệnh thực sự nhiều trường hợp người dùng mong muốn một tham số trong lệnh không chỉ xác định một file mà lại liên quan đến một nhóm các file mà tên gọi của các file trong nhóm có chung một tính chất nào đó. Trong những trường hợp như vậy, người dùng cần sử dụng các kí hiệu mô tả nhóm file [wildcards], chúng ta gọi là kí hiệu mô tả nhóm [còn được gọi là kí hiệu thay thế]. Người ta sử dụng các kí tự *,? Và các cặp hai dấu [và] để mô tả nhóm file. Các kí tự này mang ý nghĩa như sau khi viết vào tham số tên file thực sự:

  • “*”: là kí tự mô tả nhóm gồm mọi xâu kí tự [thay thế mọi xâu]. Mô tả này cho một nhóm lớn nhất trong ba mô tả.
  • “?”: mô tả nhóm gồm mọi xâu với độ dài không quá 1 [thay thế một kí tự]. Nhóm này là tập con của nhóm đầu tiên [theo kí tự ‘*”].
  • [xâu-kí-tự]: mô tả nhóm gồm mọi xâu có độ dài 1 là mỗi kí tự thuộc xâu nói trên. Mô tả này cho một nhóm có lực lượng bé nhất trong ba mô tả. Nhóm này là tập con của nhóm thứ hai [theo kí tự “?”]. Khi gõ lệnh phải gõ cả hai dấu [và]. Một dạng khác của mô tả nhóm này là [-] nghĩa là giữa cặp dấu ngoặc có ba kí tự trong đó kí tự ở giữa là dấu nối [dấu -] thì cách viết này tương đương với việc liệt kê mọi kí tự từ đến. Chẳng hạn, cách viết [a-d] tương đương với cách viết [abcd].

Ví dụ, giả sử khi muốn làm việc với tất cả các file trong một thư nào đó, người dùng gõ * thay thế tham số file thì xác định được các tên file sau [chúng ta viết bốn tên file trên một dòng]:

info-dir                      initlog.conf               inittab                        lynx.cfg

mail.rc                       mailcap                     minicom.users         motd

mtab                           mtools.conf               services                     shadow

shadow-                     shells                          smb.conf                    sysctl.conf

syslog.conf                temp                           termcap                     up2date.conf

temp                           termcap

  • Nếu người dùng gõ s* [để chỉ các tên có chữ cái đầu là s] thay thế tham số file thì xác định được các tên file sau:

shadow          shadow-         shells              sysctl.conf

syslog.conf

  • Nếu người dùng gõ [si]* [để chỉ các tên có chữ cái đầu là s hoặc i, chú ý dùng cả hai kí tự [và]] thay thế tham số file thì xác đinh các tên file sau:

info-dir                initlog.conf               inittab            services

shadow                shadow-                     shells              smb.conf

sysctl.conf           syslog.conf

Lưu ý:

  • Như vậy, Linux [và UNIX nói chung] không chỉ sử dụng hai kí tự mô tả nhóm * và ? mà còn có cách thức sử dụng cặp kí tự [và].
  • Cần phân biệt cặp dấu [và] được sử dụng khi người dùng gõ lệnh có ý nghĩa hoàn toàn khác với ý nghĩa của chúng khi được sử dụng trong mô tả lệnh.

Hơn thế nữa, Linux còn cung cấp cho người dùng cách thức sử dụng phím để hoàn thành nốt tên file [tên thư mục] trong lệnh. Ví dụ, khi chúng ta gõ dòng lệnh.

           # ls /ulocal b

Thì nó cũng tương đương như gõ dòng lệnh [và đây chính là nội dung xuất hiện tại dấu nhắc Shell]:

           # ls /usr/local/bin

với điều kiện trong thư mục /usr chỉ có thư mục local được bắt đầu bởi chữ “l” và trong thư mục local cũng chỉ có thư mục bin được bắt đầu bởi chữ “b”.

Trong trường hợp nếu như một kí tự chưa đủ xác định, người dùng cần gõ thêm kí tự tiếp theo trong tên file [tên thư mục] và nhấn phím để hoàn thành dòng lệnh.

Số lượt truy cập: 6663753

Bài Viết Liên Quan

Chủ Đề