Lệnh dirname trong linux với các ví dụ dễ hiểu

Lệnh dirname trong Linux giúp bạn trích xuất đường dẫn thư mục từ một đường dẫn tệp tin đầy đủ một cách nhanh chóng. Nó loại bỏ phần tên tệp tin cuối cùng, trả về đường dẫn thư mục chứa tệp đó, rất hữu ích trong các script. Ví dụ, nếu bạn có "/home/user/document.txt", dirname sẽ trả về "/home/user".

Lệnh dirname trong linux là gì?

Lệnh command dirname in linux là một công cụ hữu ích giúp bạn trích xuất đường dẫn thư mục từ một đường dẫn tệp tin đầy đủ. Nó loại bỏ phần tên tệp tin cuối cùng, trả về đường dẫn đến thư mục chứa tệp tin đó, giúp việc quản lý đường dẫn trở nên dễ dàng hơn. Ví dụ, nếu bạn có đường dẫn "/home/user/documents/report.txt", lệnh dirname sẽ trả về "/home/user/documents". dirname rất hữu ích trong các script shell để xác định vị trí của các tệp tin và thư mục liên quan. Bạn có thể sử dụng nó để tự động tạo các thư mục hoặc thực hiện các thao tác khác dựa trên vị trí của tệp tin gốc.

Tìm hiểu Mục đích và Cú pháp của Lệnh dirname

Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp của lệnh dirname trong Linux.

Lệnh dirname được dùng để trích xuất tên thư mục từ một đường dẫn tệp tin cho trước.

Cú pháp cơ bản của lệnh dirname như sau:

dirname FILE

Trong đó, FILE là đường dẫn tệp tin mà bạn muốn trích xuất tên thư mục.

Ví dụ, giả sử bạn có một đường dẫn tệp tin /home/labex/project/file.txt.

Nếu bạn chạy lệnh dirname trên đường dẫn này, nó sẽ xuất ra tên thư mục:

$ dirname /home/labex/project/file.txt
/home/labex/project

Như bạn thấy, lệnh dirname đã trích xuất tên thư mục /home/labex/project từ đường dẫn đã cho.

Bạn cũng có thể dùng lệnh dirname với các biến hoặc lệnh Linux khác để lấy tên thư mục.

Ví dụ:

$ file_path="/home/labex/project/file.txt"
$ dirname $file_path
/home/labex/project

Trong ví dụ này, chúng ta lưu đường dẫn vào biến file_path, sau đó dùng dirname để trích xuất.

Lấy Tên Thư Mục từ Đường Dẫn Tệp

Trong bước này, bạn sẽ học cách dùng lệnh dirname để lấy tên thư mục từ đường dẫn tệp.

Chúng ta hãy bắt đầu bằng việc tạo một đường dẫn tệp mẫu để thực hành nhé.

$ cd ~/project
$ touch file.txt
$ echo "This is a sample file." > file.txt
$ file_path=$(pwd)/file.txt
$ echo $file_path
/home/labex/project/file.txt

Bây giờ, ta có thể dùng lệnh dirname để trích xuất tên thư mục từ biến file_path.

$ dir_name=$(dirname $file_path)
$ echo $dir_name
/home/labex/project

Như bạn thấy, lệnh dirname đã trích xuất tên thư mục /home/labex/project từ đường dẫn tệp.

Bạn cũng có thể dùng lệnh dirname trực tiếp với một đường dẫn tệp cụ thể.

$ dirname /home/labex/project/file.txt
/home/labex/project

Cách này sẽ cho bạn kết quả tương tự như ví dụ trước đó mà thôi.

Lệnh dirname đặc biệt hữu ích khi bạn cần thực hiện các thao tác trên thư mục của đường dẫn tệp.

Ví dụ như thay đổi thư mục làm việc hiện tại hoặc tạo một thư mục mới chẳng hạn.

```html

Kết hợp dirname với các lệnh Linux khác

Trong bước này, bạn sẽ học cách kết hợp lệnh dirname với các lệnh Linux khác để thực hiện các tác vụ phức tạp hơn.

Một trường hợp sử dụng phổ biến là thay đổi thư mục làm việc hiện tại sang thư mục chứa một tệp. Bạn có thể thực hiện điều này bằng cách kết hợp dirname với lệnh cd:

$ file_path="/home/labex/project/file.txt"
$ cd $(dirname $file_path)
$ pwd
/home/labex/project

Trong ví dụ này, đầu tiên chúng ta lưu đường dẫn tệp vào biến file_path. Sau đó, chúng ta sử dụng lệnh dirname để trích xuất tên thư mục và truyền nó làm đối số cho lệnh cd để thay đổi thư mục làm việc hiện tại.

Một ví dụ khác là tạo một thư mục mới dựa trên tên thư mục của một đường dẫn tệp. Bạn có thể thực hiện điều này bằng cách kết hợp dirname với lệnh mkdir:

$ file_path="/home/labex/project/file.txt"
$ new_dir=$(dirname $file_path)/new_dir
$ mkdir $new_dir
$ ls -l
total 4
drwxr-xr-x 2 labex labex 4096 Apr 12 12:34 new_dir
-rw-r--r-- 1 labex labex   22 Apr 12 12:34 file.txt

Trong ví dụ này, trước tiên chúng ta sử dụng dirname để trích xuất tên thư mục từ biến file_path. Sau đó, chúng ta tạo một tên thư mục mới bằng cách thêm /new_dir vào tên thư mục. Cuối cùng, chúng ta sử dụng lệnh mkdir để tạo thư mục mới.

Lệnh dirname có thể được kết hợp với nhiều lệnh Linux khác, chẳng hạn như find, grep, sedawk, để thực hiện các thao tác tệp và thư mục phức tạp hơn. Điều quan trọng là hiểu cách sử dụng dirname để trích xuất tên thư mục từ một đường dẫn tệp, và sau đó sử dụng thông tin đó để thực hiện thao tác mong muốn.

```

Kết luận cho linux dirname command

Vậy là chúng ta đã cùng nhau khám phá lệnh dirname thú vị trong Linux rồi! Hy vọng qua bài viết này, bạn đã hiểu rõ cách sử dụng lệnh này để trích xuất đường dẫn thư mục một cách nhanh chóng. Linux dirname command thực sự là một công cụ hữu ích giúp bạn xử lý đường dẫn file một cách dễ dàng hơn trong các script và dòng lệnh. Đừng ngần ngại thử nghiệm với các ví dụ khác nhau để làm quen với lệnh này nhé. Việc thực hành thường xuyên sẽ giúp bạn ghi nhớ và áp dụng lệnh dirname một cách linh hoạt. Chúc bạn thành công trên con đường chinh phục Linux và khám phá thêm nhiều lệnh hay ho khác! Hãy nhớ rằng, việc học Linux là một hành trình dài, và mỗi lệnh bạn học được sẽ là một viên gạch xây nên kiến thức vững chắc.

Last Updated : 18/10/2025