Linux命令之basename 命令

2021-07-10 03:39:45 字數 1513 閱讀 7740

返回乙個字串引數的基本檔名稱。

basename

string

[ suffix ]

basename

命令讀取 string 引數,刪除以 /(斜槓) 結尾的字首以及任何指定的 suffix 引數,並將剩餘的基本檔名稱寫至標準輸出。basename 命令應用以下建立基本檔名稱的規則:

如果 string

引數是 //(雙斜槓) 或如果 string 引數包含的都是斜槓字元,則將字串更改為單個 /(斜槓)。

跳過步驟2到

4。從指定字串除去任何拖尾的

/字元。

如果在 string

引數中剩餘任何 / 字元,則除去字串的字首直到(包含)最後乙個 / 字元。

如果指定 suffix

引數,且它和字串中的剩餘的字元相同,則不修改此字串。

例如,輸入:

k > basename /u/dee/desktop/cns.boo cns.boo

結果是:

cns.boo

如果指定 suffix

引數,且它和字串中所有字元都不相同,但和字串的字尾相同,則除去指定字尾。

例如,輸入:

k > basename /u/dee/desktop/cns.boo .boo

結果是:

cns

不能在字串中查詢到指定的字尾不作為錯誤處理。

basename

和dirname

命令通常用於 shell 指令碼中的命令替換來指定和指定的輸入檔名稱有所差異的輸出檔名稱。

例如:dirname /boot/grub/grub.conf

結果是:/boot/grub

該命令返回以下退出值: 0

成功完成〉0

發生錯誤

示例

要顯示乙個

shell

變數的基本名稱,請輸入:

basename $workfile

此命令顯示指定給 shell 變數

workfile

的值的基本名稱。如果

workfile

變數的值是/home/jim/program.c 檔案,則此命令顯示

program.c

。要構造乙個和另乙個檔名稱相同(除了字尾)的檔名稱,請輸入:

ofile=`basename $1 .c`.o

此命令指定給

ofile

檔案第乙個位置上的引數(

$1)的值,但它的

.c 字尾更改至

.o。如果

$1 是

/home/jim/program.c

檔案,則

ofile

成為 program.o

。因為 program.o

僅是乙個基本檔名稱,它標識在當前目錄中的檔案。注:`

(重音符號

)指定命令替換。

linux命令之halt命令

halt 1.作用 halt命令的作用是關閉系統,它的使用許可權是超級使用者。2.格式 halt n w d f i p 3.主要引數說明 n 防止sync系統呼叫,它用在用fsck修補根分割槽之後,以阻止核心用老版本的超級塊覆蓋修補過的超級塊。w 並不是真正的重啟或關機,只是寫wtmp var l...

Linux命令之 rm命令》

rm 是常用的命令,該命令的功能為刪除乙個目錄中的乙個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均刪除。對於鏈結檔案,只是刪除了鏈結,原有檔案均保持不變。rm 是乙個危險的命令,使用的時候要特別當心,尤其對於新手,否則整個系統就會毀在這個命令 比如在 根目錄 下執行rm rf 所以...

Linux命令之 cp命令》

cp命令用來複製檔案或者目錄,是linux系統中最常用的命令之一。一般情況下,shell會設定乙個別名,在命令列下複製檔案時,如果目標檔案已經存在,就會詢問是否覆蓋,不管你是否使用 i引數。但是如果是在shell指令碼中執行cp時,沒有 i引數時不會詢問是否覆蓋。這說明命令列和shell指令碼的執行...