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.
```htmlKế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, sed và awk, để 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.