Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh dirname
trong Linux để trích xuất tên thư mục từ một đường dẫn tập tin đã cho. Lab này bao gồm mục đích và cú pháp của lệnh dirname
, cũng như cách sử dụng nó kết hợp với các lệnh Linux khác để lấy tên thư mục. Lab cung cấp các ví dụ thực tế để giúp bạn hiểu cách sử dụng lệnh dirname
trong các tình huống thực tế.
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 sử dụng để trích xuất tên thư mục từ một đường dẫn tập tin đã cho.
Cú pháp cơ bản của lệnh dirname
là:
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 tập tin này, nó sẽ xuất ra tên thư mục:
$ dirname /home/labex/project/file.txt
/home/labex/project
Như bạn có thể thấy, lệnh dirname
đã trích xuất tên thư mục /home/labex/project
từ đường dẫn tập tin đã cho.
Bạn cũng có thể sử dụng lệnh dirname
với các biến hoặc cá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, trước tiên chúng ta lưu trữ đường dẫn tập tin trong một biến file_path
, và sau đó sử dụng lệnh dirname
để trích xuất tên thư mục từ biến.
Lấy Tên Thư mục từ Đường dẫn Tập tin
Trong bước này, bạn sẽ học cách sử dụng lệnh dirname
để lấy tên thư mục từ một đường dẫn tập tin.
Hãy bắt đầu bằng cách tạo một đường dẫn tập tin mẫu:
$ 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ờ, chúng ta có thể sử 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 có thể thấy, lệnh dirname
đã trích xuất tên thư mục /home/labex/project
từ đường dẫn tập tin được lưu trữ trong biến file_path
.
Bạn cũng có thể sử dụng lệnh dirname
trực tiếp với một đường dẫn tập tin:
$ dirname /home/labex/project/file.txt
/home/labex/project
Điều này sẽ cho bạn kết quả tương tự như ví dụ trước.
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 phần thư mục của một đường dẫn tập tin, chẳng hạn 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.
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 thao tác 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 thành thư mục chứa một tập tin. Bạn có thể thực hiện việc 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, trước tiên chúng ta lưu trữ đường dẫn tập tin trong biến file_path
. Sau đó, chúng ta sử dụng lệnh dirname
để trích xuất tên thư mục và chuyể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 tin. Bạn có thể thực hiện việc 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 tin và thư mục phức tạp hơn. Điều quan trọng là phải 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 tin, và sau đó sử dụng thông tin đó để thực hiện thao tác mong muốn.
Tóm tắt
Trong lab này, bạn đã học về mục đích và cú pháp của lệnh dirname
trong Linux, được sử dụng để trích xuất tên thư mục từ một đường dẫn tập tin đã cho. Bạn đã thực hành sử dụng lệnh dirname
với đường dẫn tập tin, biến và các lệnh Linux khác để lấy tên thư mục. Bạn cũng đã học cách kết hợp lệnh dirname
với các lệnh khác để thực hiện các thao tác phức tạp hơn trên đường dẫn tập tin.
Các điểm học tập chính từ lab này bao gồm hiểu cú pháp cơ bản của lệnh dirname
, sử dụng nó để trích xuất tên thư mục từ một đường dẫn tập tin và tích hợp nó với các lệnh Linux khác để tự động hóa các tác vụ phổ biến liên quan đến quản lý tập tin và thư mục.