Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Cách dùng lệnh basename trong Linux

Trong bài này chúng ta sẽ học cách sử dụng lệnh basename thông qua cú pháp và những ví dụ thực hành cơ bản nhất nhé.

basename là một tiện ích dòng lệnh (command line) dùng để lấy tên file dựa vào chuỗi đường dẫn được nhập vào. Ngoài ra, nó cũng có thể xóa luôn cả dấu gạch chéo nếu nó xuất hiện ở vị trí cuối cùng trong chuỗi mà bạn đã nhập vào.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Cú pháp lệnh basename trong Linux

Cú pháp của lệnh này trong Linux như sau:

basename NAME [SUFFIX]
basename OPTION... NAME...

Lệnh basename sẽ lấy tên file và in ra thành phần cuối cùng của tên file. Nó cũng có thể được dùng để xóa các hậu tố thông qua những tùy chọn mà chúng ta sẽ tìm hiểu ở phần 2.

Ví dụ cơ bản nhất là in ra tên file bằng cách loại bỏ đi đường dẫn các thư mục mà file này đang đứng:

basename /etc/passwd

Kết quả:

passwd

Nếu chuỗi bạn truyền vào có dấu gạch chéo cuối cùng thì nó cũng xóa luôn dấu gạch chéo đó.

basename /usr/local/
basename /usr/local

Cả hai đều có kết quả là:

local
local

2. Truyền nhiều chuỗi vào lệnh basename

Câu hỏi đặt ra là nếu ta truyền nhiều chuỗi vào lệnh basename thì chuyện gì sẽ xảy ra?

Thực tế thì lệnh basename chấp nhận nhiều đối số được truyền vào. Để làm điều này thì bạn hãy thêm tùy chọn -a(--miltiple) như sau:

basename -a /etc/passwd /etc/shadow

Kết quả:

passwd
shadow

Cách gọi này chính là cách gọi rút gọn, thay vì gọi hai lần lệnh basename thì ta chỉ gọi một lần mà thôi.

3. Loại bỏ hậu tố của chuỗi theo yêu cầu bằng lệnh basename

Để loại bỏ hậu tố theo ý của mình thì bạn truyền vào hai tham số, trong đó tham số đầu tiên là chuỗi cần xử lý, tham số thứ hai là hậu tố muốn loại bỏ.

basename /etc/hostname name

Kết quả:

host

Nếu chạy lệnh bình thường thì nó sẽ trả về là hostname, nhưng vì ta truyền thêm tham số thứ hai là name nên trong kết quả trả về chuỗi hậu tố name cũng bị xóa.

Thông thường chúng ta dùng cách này để lấy tên file nhưng loại bỏ đi phần đuôi mở rộng.

basename /etc/sysctl.conf .conf

Kết quả:

sysctl

Một cách khác là ta se chỉ định hậu tố cần xóa với tùy chọn -s(--suffix).

basename -s .conf /etc/sysctl.conf

Kết quả:

sysctl

Với cách này bạn cũng có thể áp dụng xử lý cho nhiều chuỗi cùng lúc.

basename -a -s .conf /etc/sysctl.conf /etc/sudo.conf

Kết quả:

sysctl
sudo

4. Một ví dụ thực tế về lệnh basename trong bash script

Chúng ta sẽ viết một đoạn mã script dùng để đổi tên tất cả các file hình như sau:

for file in *.jpeg; do
    mv -- "$file" "$(basename $file .jpeg).jpg"
done

Đoạn code trên mình dùng lệnh mv để đổi tên file từ jpeg sang jpg.

Như vậy là chúng ta đã tìm hiểu xong cách sử dụng lệnh basename trong Linux, đây là lệnh được sử dụng để trích xuất giá trị cuối cùng của một chuỗi theo ký tự gạch chéo.

Thông thường chúng ta sử dụng basename command để xử lý đường dẫn URL và tên file trong Linux.

Cùng chuyên mục:

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Cách kiểm tra địa chỉ IP trên Linux

Cách kiểm tra địa chỉ IP trên Linux

Biết địa chỉ IP của thiết bị là điều quan trọng khi giải quyết khắc…

Top