Phần 1 - Học về Shell - 2. Những shell đầu tiên - Navigation (Điều hướng)

  • Trong phần này, tôi muốn giới thiệu về 3 commands đầu tiên pwd (in thư mục đang làm việc), cd (thay đổi thư mục) và ls (liệt kê tệp và thư mục).
  • Người mới thì nên chú ý vì ngoài 3 commands trên tôi còn muốn nói đến các khái niệm cơ bản.

Tổ chức hệ thống tệp trên Linux

  • Giống như Windows, các tệp trên hệ thống Linux được sắp xếp theo cấu trúc thư mục phân cấp (hierarchical directory structure). Nghĩa là được tổ chức theo mô hình cây với thư mục đầu tiên gọi là thư mục gốc (/). Thư mục gốc chứa tệp và các thư mục con ...
  • Nếu xem trong chương trình quản lý tệp trên môi trường đồ họa, chúng ta sẽ thấy hệ thống tệp được hiển thị như sau
  • Điểm khác biệt giữa Windows và các hệ điều hành like-Unix như Linux là Linux không sử dụng khái niệm ký tự ổ đĩa. Windows chia các ký tự ổ đĩa C,D,E.. thành các cây khác nhau thì Linux luôn có 1 cây duy nhất. Các thiết bị khác nhau sẽ là nhánh khách nhau của cây, nhưng luôn chỉ có 1 cây duy nhất. Và cây đó được bắt đầu bằng /.

pwd

  • Vì giao diện dòng lệnh không thể cung cấp hình ảnh đồ họa về cấu trúc hệ thống tệp được, chúng ta cần có 1 cách khác để hiển thị nó. Để dễ hiểu, hãy nghĩ hệ thống tệp như 1 mê cung và chúng ta đang đứng trong nó. Tại bất cứ thời điểm nào, chúng ta nằm trong 1 thư mục duy nhất. Ở đó chúng ta có thể thấy được các tệp của nó, đường dẫn đến thư mục mẹ và đường dẫn đến các thư mục con của thư mục mà ta đang đứng.
  • Thư mục mà ta đang đứng gọi là thư mục làm việc working directory. Để xem tên thư mục làm việc ta dùng lệnh pwd
  • Lần đầu đăng nhập vào hệ thống Linux, chúng ta sẽ ở thư mục home. Đây là nơi đặt tập tin của mình. Trên hầu hết các hệ thống, thư mục đó là /home/tên_người_dùng, có thể được thay đổi tùy ý.
  • Để liệt kê các tệp trong thư mục này, chúng ta dùng lệnh ls.

cd

  • Để thay đổi thư mục làm việc, sử dụng lệnh cd. Bằng cách gõ cd tên_đường_dẫn_thư_mục_mong_muốn. Tên đường dẫn có thể chỉ định theo tên tuyệt đối hoặc tên tương đối.
  • Tên đường dẫn tuyệt đối bắt đầu từ thư mục gốc và theo nhánh cây cho đến khi hoàn thành thư mục. Ví dụ /urs/bin là tên đường dẫn tuyệt đối của thư mục bin - nghĩa là trong thư mục gốc (/) có 1 thư mục usr trong đó chứa thư mục bin. Bây giờ hãy thử điều này:
    <ảnh được chèn sau>
  • Như trên chúng ta thấy, đã thay đổi thư mục làm việc hiện tại thành /usr/bin và nó chứa đầy các tệp. Chú ý lời nhắc trước dấu $ thay đổi thế nào, thường nó sẽ hiển thị tên của thư mục làm việc.
  • Tên đường dẫn tuyệt đối bắt đầu từ thư mục gốc, còn tên đường dẫn tương đối thì bắt đầu từ thư mục làm việc. Để làm được điều này, nó sử dụng một vài ký tự đặc biệt biểu thị vị trí tương đối trong hệ thống thư mục. Các ký hiệu đặc biệt này là (.)(..) (dấu chấm và 2 dấu chấm :v). Dễ hiểu hơn, hãy xem ví dụ sau: Hiện chúng ta đang ở thư mục /urs/bin, giờ chúng ta muốn đến thư mục /usr.
    Với đường dẫn tuyệt đối, gõ lệnh cd /usr
    <ảnh được chèn sau>
    Với đường dẫn tương đối, gõ cd ..
    <ảnh được chèn sau>
    2 cách khác nhau ra kết quả giống hệt nhau, sử dụng cách nào tùy vào bạn. Và nên nhớ một trong những yêu cầu là gõ ít nhất có thể. Xem xét ví dụ này (mở hệ thống tìm đường dẫn dài hơn tự nghĩ ra ví dụ)
    <ví dụ được chèn sau>

Một vài phím tắt

  • Nếu chỉ gõ cd không, sẽ về thư mục gốc.
  • cd ~tên_người_dùng về thư mục tên_người_dùng.
  • cd - về thư mục liền trước (thư mục mẹ).

Thông tin quan trọng về tên

  • Tên bắt đầu bằng dấu . sẽ bị ẩn, gõ ls sẽ không hiển thị, muốn hiển thị gõ ls -a. Thường các tệp này là các tệp cấu hình hoặc các biến môi trường của hệ thống. Ngoài ra, một số phần mềm cũng đặt các tệp cấu hình và cài đặt của chúng trong thư mục /home của bạn dưới dạng tệp ẩn.
    <ảnh được chèn sau>
  • Tên tệp trong Unix/Linux phân biệt hoa thường File1file1 là 2 tệp khác nhau.
  • Linux không có khái niệm phần mở rộng tệp như Windows. Tuy nhiên, một số ứng dụng lại làm.
  • Dù Linux hỗ trợ các tệp dài có thể chứa dấu cách nhứng vào ký tự dấu câu nhưng hãy giới hạn các ký tự nối bằng dấu chấm, gạch ngang và gạch dưới. Quan trọng nhất: không nhúng khoảng trắng vào tên tệp. Nếu cần thiết hãy sử dụng gạch dưới. Bạn sẽ cảm ơn chính mình sau này.

Kết: Phần này giới thiệu sơ qua Shell là gì và các lệnh cơ bản như pwd, cd, ls. Ngoài ra là các khái niệm cơ bản cũng như một số chú thích về tên trong Linux. Nếu có gì thắc mắc, hãy để lại comment dưới đây.