首頁 > 檔案與目錄管理 > basename

basename:從檔案路徑中提取檔案名稱

basename 是用於從給定檔案路徑中移除目錄部分並僅提取檔案名稱的命令。它還可以選擇性地從檔案名稱中移除特定的後綴。當您需要在腳本中操作檔案名稱時,它非常有用。

概述

basename 命令會移除檔案路徑中的目錄部分,並僅返回檔案名稱。這在 shell 腳本中需要操作檔案名稱時非常有用。例如,您可以從路徑 `/home/user/document.txt` 中提取 `document.txt`。

主要功能

  • 從檔案路徑中提取檔案名稱
  • 移除指定的後綴
  • 處理多個檔案路徑(GNU 擴展)

主要選項

basename 命令提供了一些與檔案名稱提取和後綴移除相關的選項。

後綴和輸出控制

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`basename` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

basename 命令的各種使用範例。

基本檔案名稱提取

basename /home/user/documents/report.pdf

從給定路徑中提取檔案名稱。

移除後綴(第二個參數)

basename /home/user/documents/report.pdf .pdf

從檔案名稱中移除特定的後綴。

移除後綴(--suffix 選項)

basename --suffix=.pdf /home/user/documents/report.pdf

使用 --suffix 選項移除後綴。

處理多個檔案名稱(-a 選項)

basename -a /etc/passwd /var/log/syslog

一次性從多個檔案路徑中提取檔案名稱。

與 find 和 xargs 的組合使用

find . -maxdepth 1 -type f -print0 | xargs -0 basename --suffix=.txt

使用 find 命令查找檔案並提取其基本名稱。

提示與注意事項

使用 basename 時的實用提示和注意事項。

與 dirname 的組合使用

basename 只提取檔案名稱,而 dirname 只提取目錄路徑,因此可以結合使用來分離檔案路徑。

  • 範例: path="/home/user/file.txt" filename=$(basename "$path") dirname=$(dirname "$path") echo "Filename: $filename" echo "Dirname: $dirname"

關於 basename -s 選項的誤解

有些用戶可能會尋找類似 `basename -s` 的選項,但標準的 `basename` 命令沒有 `-s` 選項。要移除後綴,您需要直接將後綴作為第二個參數提供,或使用 `--suffix` 選項。

路徑分隔符

basename 預設將斜線 `/` 識別為路徑分隔符。在處理其他系統的路徑分隔符(例如 Windows 的反斜線 `\`)時需要注意。


相關命令

功能上相似或經常一起使用的命令。


相同類別命令