- vừa được xem lúc

Làm quen câu lệnh và hệ thống tập tin trong Linux

0 0 17

Người đăng: BeautyOnCode

Theo Viblo Asia

Chào mừng bạn đến với phần 2 của series “Linux giành cho lập trình viên”.

Trong phần Linux cơ bản, đầu tiên mình đã cùng làm quen với Linux qua bài viết “Giới thiệu về Linux”, nếu bạn chưa đọc qua thì hãy dừng ít phút ghé đọc để có cái nhìn tổng quan nhé.

Tiếp theo trong bài này, tụi mình sẽ làm quen câu lệnh và hệ thống tập tin trong Linux, bao gồm:

– Cấu trúc của một câu lệnh

– Giới thiệu hệ thống tập tin

– Điều hướng trong hệ thống tập tin

Tới công chiện rồi, vào thôi! Chúc các bạn đọc nội dung vui vẻ nhé ^^

Cấu trúc câu lệnh

Một câu lệnh sẽ bao gồm 3 phần: <tên câu lệnh> <các lựa chọn> <các đối số>

Các options ở đây là các giá trị được định nghĩa sẵn sẽ thay đổi cách là việc của câu lệnh.

Các đối số sẽ là các giá trị truyền thêm vào.

Ví dụ: Xem document của câu lệnh ls với man.

man ls

Ở đây, man là tên câu lệnh(viết tắt của manual), ls là đối số.

Kết quả là một document của ls xuất hiện trên màn hình.

Để đọc document này, ngoài cách dùng chuột kéo xuống xem nội dung thì mình còn có thể sử dụng các cách như:

<spacebar> : di chuyển xuống dưới một màn hình

<enter> : di chuyển xuống từng dòng

b + <enter> : di chuyển lùi một màn hình

/<từ-cần-tìm> : tìm kiếm với <từ-cần-tìm> ở nội dung tiếp theo

h + <enter> : hiển thị màn hình trợ giúp, tại đây có hướng dẫn cách điều hướng cho bạn

q + <enter> : thoát khỏi màn hình hiện tại

Hệ thống tập tin(filesystem)

Dù mục đích khi học về Linux của bạn là gì đi nữa, thì việc hiểu về hệ thống tập tin(filesystem) và di chuyển(navigate) giữa các thư mục khác nhau, cũng như việc quản lý các tập tin là điều cần biết.

Hiểu thêm về filesystem

Filesystem là cách các tập tin được tổ chức một cách có cấu trúc nằm trong những thư mục.

Linux có cấu trúc thư mục không phân chia theo ổ đĩa(C, D, …) như Windows mà có một thư mục gốc gọi là thư mục root(thường viết là /).

Từ / sẽ phân chia thành nhiều loại thư mục có mục đích dùng khác nhau.

Một số thư mục hay dùng đến là:

/home: chứa nội dung của người dùng user

/root: chứa nội dung của người dùng root

/bin, /usr/bin: chứa các chương trình thực thi, hầu hết các câu lệnh hệ thống được chạy. Ví dụ “ls”

/sbin, /usr/sbin: chứa các chương trình thực thi giành cho admin

Chuyện đặt tên

Nói đến hệ thống file, thì cũng nói luôn đến chuyện cân nhắc khi đặt tên cho thư mục(folder) hoặc tập tin(file) sao cho hợp lý.

Thường thì sẽ cân nhắc một số điểm sau:

Tên thì sẽ phân biệt viết hoa và viết thường, ví dụ: text.txt và Text.txt sẽ là hai files khác nhau

Tên được phép chứa các ký tự đặc biệt. Tuy nhiên khi đặt tên có khoảng cách hay các ký tự đặc biệt sẽ dễ sinh vấn đề, do đó nên hạn chế.

Ký tự / đại diện cho thư mục root, và cũng dùng trong đường dẫn để chia bậc, cho nên cũng hạn chế sử dụng ký tự này.

Tên được phép chứa các đuôi(extension) như là .csv, .txt, … Tuy nhiên, Linux và BASH shell thì không buộc có các đuôi này, nhưng nó sẽ có ích cho người dùng để dễ hiểu nội dung theo từng loại file.

Một số tên thư mục được định nghĩa sẵn:

~ là đại diện cho thư mục home của người dùng hiện tại

. là đại diện thư mục hiện tại

.. là đại diện thư mục cha của thư mục hiện tại

Điều hướng filesystem

Khi sử dụng môi trường command-line, thường bạn sẽ cần truy cập vào một file đang ở một thư mục nào đấy, hoặc là truy cập vào một thư mục để xem trong đó có gì.

Khi mở terminal lên(hoặc chương trình shell nào đấy, ví dụ iTerm chẳng hạn), thì bạn con trỏ sẽ tự động được đứng ở thư mục home của người dùng.

Câu lệnh pwd giúp kiểm tra vị trí hiện tại của thư mục.

Kết quả của câu lệnh này trên máy mình là “/Users/thanhnguyen” (máy bạn sẽ khác nha), chính là một đường dẫn(path hay pathname).

Thư mục mà con trỏ đang đứng thường được gọi là working directory hay current directory.

Và công việc mình muốn làm là di chuyển đến thư mục bin nằm trong usr/ chẳng hạn thì gọi là thay đổi thư mục(change directory).

Các loại đường dẫn

Đường dẫn thể hiện cách mình có thể tham chiếu với cấu trúc thư mục. Dấu / được dùng trong đường dẫn để phân cách từng bậc của cấu trúc này.

Có 2 loại đường dẫn bạn sẽ gặp là:

đường dẫn tuyệt đối(absolute path) : đường dẫn này thể hiện vị trí của tệp liên quan đến thư mục root, do đó luôn bắt đầu với /.

Ví dụ: /usr/bin

đường dẫn tương đối(relative path) : đường dẫn này thể hiện vị trí của tệp từ thư mục hiện tại, do đó sẽ bắt đầu từ thư mục hiện tại .

Ví dụ: ../../usr/bin

Vậy là có thể dễ dàng xác định loại đường dẫn bằng cách quan sát, nếu đường dẫn bắt đầu bằng / thì là tuyệt đối vì bắt đầu ở root, còn đường dẫn có chứa . hay .. là tương đối vì sử dụng thư mục hiện tại.

Và thêm nữa, đường dẫn có thể giúp mình đến thư mục bin có thể là /usr/bin hoặc ../user/bin.

Tùy loại nào mình thấy nó tiện hơn thì mình dùng.

Ví dụ nếu từ thư mục hiện tại mà cần ra ngoài đến 4, 5 bậc thì mình nghĩ là absolute path sẽ tiện hơn, còn từ thư mục hiện tại chỉ ra ngoài 1,2 bậc thì sẽ ưu tiên dùng relative path.

Cách điều hướng

Để điều hướng trong filesystem, sử dụng câu lệnh cd đi kèm với đường dẫn của nơi muốn đến

cd <đường-dẫn>

Nếu cd không có đường dẫn sẽ mặc định về thư mục ~

Điều hướng relative path

Cách làm: bắt đầu từ thư mục hiện tại, mỗi lần .. là di chuyển lên trên một bậc, là thư mục cha của thư mục hiện tại.

Ví dụ mình muốn di chuyển từ /Users/thanhnguyen đến /usr/bin

– .. lần 1 sẽ di chuyển ra đứng ở thư mục Users

– .. lần 2 sẽ di chuyển ra đứng ở /

– sau đó truy cập vào usr/bin

Nên cd ../../user/bin sẽ giúp mình chuyển từ thư mục hiện tại sang thư mục user/bin.

Điều hướng absolute path

Cách làm: thư mục bin nằm trong folder usr, và folder usr nằm trong folder root /, nên absolute path sẽ là cd /usr/bin


Nội dung bài blog này đến đây tạm hết rồi, tụi mình đã làm quen với hệ thống tập tin trong Linux cũng như cách điều hướng trong hệ thống này.

Trong bài viết tiếp theo của series "Làm quen Linux giành cho lập trình viên", sẽ là tìm hiểu thêm về việc quản lý hệ thống tập tin trong Linux.

Hẹn gặp các bạn trong bài viết sau.

Nếu bạn thích hãy comment hay like, share ủng hộ mình. Cảm ơn bạn.

BeautyOnCode.


Bài gốc của nội dung này nằm trên blog cá nhân của mình, mời bạn ghé chơi.

Nếu thích thì bạn có thể like/follow fanpage này, mình hay đăng bài viết mới cũng như cái nguồn hay hay trên đây.

Cuối cùng, cho mình giới thiệu xíu sản phẩm mới của blog là podcast BeautyOnCode, bạn có thể nghe trên Spotify hoặc Anchor nha.

Cám ơn các bạn đã ủng hộ mình.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 3: Docker-compose)

1. Mở đầu. . .

0 0 121

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 5

Hello 500 ae, sau 4 số trong seri này mình thấy có vẻ ae có hứng thú đọc chủ đề này ghê. Hi vọng những gì mình tìm hiểu được sẽ giúp ích được cho nhiều bạn hơn.

0 0 51

- vừa được xem lúc

Những lệnh command shell linux cơ bản có thể bạn chưa biết - Phần 1

Bài viết này sẽ liệt kê một số command cơ bản thường được dùng trong linux, tiện dụng cho các bạn khi sử dụng linux mà có thể bạn chưa biết. Tôi là ai, câu lệnh này sẽ cho bạn biết bạn đang sử dụng linux bằng tài khoản người dùng nào.

0 0 55

- vừa được xem lúc

Cách sử dụng lệnh SCP để truyền tệp an toàn

SCP (secure copy) là một tiện ích dòng lệnh cho phép bạn sao chép an toàn các tệp và thư mục giữa hai vị trí. . From your local system to a remote system. Between two remote systems from your local system.

0 0 55

- vừa được xem lúc

Người ta làm cách nào để backup thường xuyên thư mục rất lớn?

. Vấn đề về sao lưu thư mục lớn. Mình có lưu "sương sương" 300GB các tệp tin của người dùng upload lên, như hình ảnh hay các tệp đính kèm.

0 0 49

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 4

Sau một kì nghỉ tết trong thời buổi đại dịch vừa qua. Không còn những buổi dong chơi đi chúc tết nữa. Ở nhà ra số tiếp theo cho anh em đây. Dưới đây sẽ là 2 command được sử dụng nhiều nhất khi sử dụng file.

0 0 52