Trên dòng lệnh Linux, bạn làm việc với nhiều loại tệp, ví dụ như thư mục, liên kết tượng trưng và những thứ tương tự. Đôi khi, yêu cầu là phải biết thêm về các thành phần riêng lẻ trong một đường dẫn - loại tệp đó là gì, ai là chủ sở hữu của tệp đó và nhiều thông tin khác. Rất may là có một tiện ích dòng lệnh Linux tích hợp - được gọi là namei - cho phép bạn lấy thông tin này.
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 namei bằng một số ví dụ dễ hiểu. Nhưng trước khi bắt đầu, cần đề cập rằng tất cả các ví dụ ở đây đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.
Và đây là những gì trang hướng dẫn nói về công cụ này:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh namei hoạt động.
Ví dụ:
Và đây là đầu ra mà lệnh này tạo ra:
Trang hướng dẫn của công cụ mô tả chi tiết cách diễn giải đầu ra.
Vì vậy, bạn có thể thấy lệnh namei đã chia nhỏ tất cả các phần tử trong đường dẫn mà chúng ta cung cấp cho nó, thông báo cho chúng ta về loại của chúng.
Và đây là đầu ra:
Nếu bạn so sánh với đầu ra được hiển thị trong phần trước, bạn sẽ thấy có một sự căn chỉnh theo chiều dọc lần này.
Đây là kết quả đầu ra:
Vì vậy, bạn có thể thấy thông tin quyền sở hữu cho từng tệp/thư mục được hiển thị trong kết quả đầu ra.
Đây là đầu ra:
Vì vậy, bạn có thể thấy lệnh anls giống như đầu ra được tạo ra bởi lệnh namei.
Sau đó, đầu ra sau được tạo ra:
Vì vậy, bạn có thể thấy lệnh namei hiển thị rõ ràng loại tệp 'file1'. Tuy nhiên, nếu muốn, bạn có thể buộc công cụ không theo liên kết tượng trưng, điều này bạn có thể thực hiện bằng cách sử dụng tùy chọn dòng lệnh -n.
Đây là đầu ra trong trường hợp này:
Vì vậy, bạn có thể thấy công cụ không theo liên kết tượng trưng trong trường hợp này.
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 namei bằng một số ví dụ dễ hiểu. Nhưng trước khi bắt đầu, cần đề cập rằng tất cả các ví dụ ở đây đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.
Lệnh namei của Linux
Lệnh namei trong Linux sẽ theo một đường dẫn cho đến khi tìm thấy điểm cuối. Sau đây là cú pháp của lệnh:
Mã:
namei [tùy chọn] pathname...
Mã:
namei diễn giải các đối số của lệnh này thành tên đường dẫn đến bất kỳ loại tệp Unix nào
(liên kết tượng trưng, tệp, thư mục, v.v.). namei sau đó theo sau mỗi
pathname cho đến khi tìm thấy điểm cuối (một tệp, một thư mục, một nút
thiết bị, v.v.). Nếu tìm thấy một liên kết tượng trưng, nó sẽ hiển thị liên kết và bắt đầu
theo sau liên kết đó, thụt lề đầu ra để hiển thị ngữ cảnh.
Chương trình này hữu ích để tìm các vấn đề "quá nhiều cấp liên kết tượng trưng".
Câu hỏi 1. Làm thế nào để sử dụng namei?
Cách sử dụng cơ bản khá đơn giản, tất cả những gì bạn phải làm là thực thi 'namei' theo sau là đường dẫn dòng lệnh.Ví dụ:
Mã:
namei -v /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
Mã:
f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
d /
d home
d himanshu
d Downloads
d HTF-review
d Nodejs-Docker
- 1.png
Mã:
Đối với mỗi dòng đầu ra, namei sử dụng các ký tự sau để xác định loại tệp được tìm thấy:
f: = pathname hiện đang được giải quyết
d = thư mục
l = liên kết tượng trưng (cả liên kết và nội dung của nó đều được xuất ra)
s = socket
b = thiết bị khối
c = thiết bị ký tự
p = FIFO (đường ống có tên)
- = tệp thông thường
? = một lỗi nào đó
Câu hỏi 2. Làm thế nào để căn chỉnh theo chiều dọc đầu ra của namei?
Bạn có thể thực hiện việc này bằng cách sử dụng tùy chọn dòng lệnh -v. Ví dụ:
Mã:
namei -v /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
Mã:
f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
d /
d home
d himanshu
d Downloads
d HTF-review
d Nodejs-Docker
- 1.png
Câu hỏi 3. Làm thế nào để namei hiển thị thông tin chủ sở hữu và nhóm?
Bạn có thể thực hiện việc này bằng cách sử dụng tùy chọn dòng lệnh -o. Ví dụ:
Mã:
namei -o /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
Mã:
f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
d root root /
d root root home
d himanshu himanshu himanshu
d himanshu himanshu Downloads
d himanshu himanshu HTF-review
d himanshu himanshu Nodejs-Docker
- himanshu himanshu 1.png
Câu hỏi 4. Làm thế nào để namei sử dụng định dạng đầu ra danh sách dài?
Bạn có thể thực hiện việc này bằng tùy chọn dòng lệnh -l.
Mã:
namei -l /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
Mã:
f: /home/himanshu/Downloads/HTF-review/Nodejs-Docker/1.png
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxr-xr-x himanshu himanshu
drwxr-xr-x himanshu himanshu Downloads
drwxr-xr-x himanshu himanshu HTF-review
drwxr-xr-x himanshu himanshu Nodejs-Docker
-rw-rw-r-- himanshu himanshu 1.png
Câu hỏi 5. Namei hoạt động như thế nào với các liên kết tượng trưng?
Như đã giải thích ở phần đầu, lệnh namei theo sau một liên kết tượng trưng theo mặc định. Ví dụ, trên hệ thống của tôi, 'link1' là một liên kết tượng trưng đến tệp 'file1', vì vậy tôi đã truyền đường dẫn 'link1' làm đầu vào cho namei theo cách sau:
Mã:
namei /home/himanshu/link1
Mã:
f: /home/himanshu/link1
d /
d home
d himanshu
l link1 -> file1
- file1
Mã:
namei -n /home/himanshu/link1
Mã:
f: /home/himanshu/link1
d /
d home
d himanshu
l link1 -> file1