Lệnh dirname Linux được giải thích cho người mới bắt đầu (4 ví dụ)

theanh

Administrator
Nhân viên
Bạn là người dùng Linux mới? Công việc của bạn có liên quan đến tập lệnh shell không? Nếu câu trả lời của bạn cho cả hai câu hỏi này là có, thì công cụ mà chúng ta sẽ thảo luận ở đây có thể sẽ khiến bạn quan tâm. Tên của công cụ là dirname và nó chủ yếu được sử dụng trong các tình huống mà bạn cần xóa thành phần cuối cùng khỏi tên tệp tuyệt đối.

Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của dirname cũng như cách bạn có thể sử dụng nó. Nhưng trước khi thực hiện, chúng ta nên chia sẻ rằng tất cả các ví dụ/hướng dẫn được đề cập ở đây đều đã được thử nghiệm trên Ubuntu 22.04 LTS.

Lệnh dirname của Linux​

Sau đây là cú pháp chung của lệnh dirname:
Mã:
dirname [OPTION] NAME...
Đây là cách trang hướng dẫn của công cụ mô tả nó:
Mã:
Xuất ra từng NAME với thành phần không phải dấu gạch chéo cuối cùng và các dấu gạch chéo theo sau đã bị xóa; nếu NAME không chứa 
dấu /'s, hãy xuất ra '.' (có nghĩa là thư mục hiện tại).
Các ví dụ dạng Hỏi & Đáp sau đây sẽ giúp bạn hiểu rõ hơn về cách sử dụng công cụ. Để chuyển sang thư mục mới, hãy sử dụng lệnh cd.

Câu hỏi 1. Lệnh dirname hoạt động như thế nào?​

Cách sử dụng cơ bản của công cụ này rất đơn giản - chỉ cần viết tên lệnh, theo sau là tên tuyệt đối của tệp. Trong đầu ra, bạn sẽ nhận được toàn bộ cây thư mục, ngoại trừ tên tệp.

Đây là một ví dụ:

Câu hỏi 2. Nó có thể xử lý nhiều đầu vào không?​

Tất nhiên là có. Tất cả những gì bạn cần làm là truyền các tên tệp tuyệt đối lần lượt. Ví dụ sau đây sẽ làm rõ điều này:


Câu hỏi 3. Còn nếu tên tệp cũng là tên tuyệt đối của tệp thì sao?​

Nếu đầu vào chỉ là tên tệp (không phải tên tuyệt đối, có cây thư mục), thì đầu ra sẽ tạo ra dấu chấm (.).



Nếu bạn xem lại mô tả trang hướng dẫn của lệnh (đã đề cập ở phần đầu), hành vi này được đề cập rõ ràng ở đó.

Câu hỏi 4. Làm thế nào để thay thế ký tự xuống dòng bằng NUL trong các dòng đầu ra?​

Theo mặc định, các dòng trong đầu ra được phân tách bằng ký tự xuống dòng, như đã nêu rõ trong Hỏi & Đáp 2 ở trên. Tuy nhiên, nếu muốn, bạn có thể phân tách các dòng đầu ra bằng ký tự NUL. Để thực hiện việc này, hãy sử dụng tùy chọn dòng lệnh -z.

Đây là ảnh chụp màn hình về tùy chọn dòng lệnh này khi thực hiện:



Lưu ý rằng các dòng đầu ra không còn được phân tách bằng dấu xuống dòng nữa.

Kết luận​

Lệnh dirname có thể không có nhiều tính năng như một số lệnh Linux khác, nhưng sẽ không sai khi nói rằng đây là một công cụ tiện lợi có thể giúp bạn tiết kiệm thời gian khi làm việc với các tập lệnh shell. Bất cứ điều gì chúng ta thảo luận ở đây đều là tất cả những gì công cụ này cung cấp. Trong trường hợp bạn có bất kỳ thắc mắc hoặc câu hỏi nào, hãy để lại bình luận bên dưới.
 
Back
Bên trên