溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中的命令使用實(shí)例分析

發(fā)布時(shí)間:2022-01-21 11:54:03 來(lái)源:億速云 閱讀:133 作者:柒染 欄目:開發(fā)技術(shù)

這篇文章跟大家分析一下“Linux中的命令使用實(shí)例分析”。內(nèi)容詳細(xì)易懂,對(duì)“Linux中的命令使用實(shí)例分析”感興趣的朋友可以跟著小編的思路慢慢深入來(lái)閱讀一下,希望閱讀后能夠?qū)Υ蠹矣兴鶐椭?。下面跟著小編一起深入學(xué)習(xí)“Linux中的命令使用實(shí)例分析”的知識(shí)吧。

basename是一個(gè)命令行中實(shí)用的小工具,可從給定的文件名中刪除目錄和后綴。
系統(tǒng)環(huán)境

Centos7

如何使用basename命令

在Centos7系統(tǒng)中,已經(jīng)默認(rèn)安裝了basename命令了,該命令包含在coreutils安裝包里。
Linux中的命令使用實(shí)例分析
basename有兩種語(yǔ)法:

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

basename最后一部分。也可以刪除任何結(jié)尾的后綴。這是一個(gè)簡(jiǎn)單的命令,最基本的是去掉文件明前面的目錄并打印出來(lái):

[root@localhost ~]# basename /etc/yum.repos.d/CentOS-Base.repo 
CentOS-Base.repo

basename命令默認(rèn)刪除所有結(jié)尾的/字符:

[root@localhost ~]# basename /usr/local/
local
[root@localhost ~]# basename /usr/local
local

默認(rèn)情況下,每條輸出行以換行符(\n)結(jié)尾。要以NUL結(jié)尾,請(qǐng)使用-z(–zero)選項(xiàng)。

[root@localhost ~]# basename -z /usr/local
local[root@localhost ~]#

Linux中的命令使用實(shí)例分析

basename接受多個(gè)文件

basename命令可以接受多個(gè)名稱作為參數(shù)??梢允褂?a(–multiple)選項(xiàng),然后使用空格分隔文件列表。例如,要獲取/etc/passwd和/etc/shadow的文件名,可以運(yùn)行:

[root@localhost ~]# basename -a /etc/passwd /etc/shadow
passwd
shadow

刪除指定結(jié)尾的后綴

要從文件名中刪除任何結(jié)尾的后綴,請(qǐng)將后綴作為第二個(gè)參數(shù)傳遞:

[root@localhost ~]# basename /etc/hostname name
host
另一種方法:
[root@localhost ~]# basename -s name /etc/hostname 
host

上面例子中,指定name為后綴,可以看到輸出結(jié)果中只顯示/后面和name前面的內(nèi)容了。
Linux中的命令使用實(shí)例分析
通常,此功能用于刪除文件的擴(kuò)展名:

[root@localhost ~]# basename -s .conf  /etc/httpd/conf/httpd.conf
httpd
或者
[root@localhost ~]# basename /etc/httpd/conf/httpd.conf .conf
httpd

Linux中的命令使用實(shí)例分析
下面例子,使用-a選項(xiàng)指定多個(gè)文件,-s選項(xiàng)指定后綴內(nèi)容:

[root@localhost ~]# basename -a -s .conf /etc/sysctl.conf /etc/httpd/conf/httpd.conf 
sysctl
httpd

刪除末尾后綴的另一種方法是使用-s(–suffix = SUFFIX)選項(xiàng)指定后綴。上面實(shí)例中以展現(xiàn)。

使用實(shí)例

以下示例顯示了如何在bash腳本中使用for循環(huán)、mv命令和basename命令,通過將當(dāng)前目錄下面的圖片文件,文件擴(kuò)展名從“ .jpg”替換為“ .jpeg”:

[root@localhost test]# vim convert.sh 

#!/bin/bash
for file in *.jpg
do
  mv "$file" "$(basename $file .jpg).jpeg"
done

Linux中的命令使用實(shí)例分析
Linux中的命令使用實(shí)例分析

關(guān)于Linux中的命令使用實(shí)例分析就分享到這里啦,希望上述內(nèi)容能夠讓大家有所提升。如果想要學(xué)習(xí)更多知識(shí),請(qǐng)大家多多留意小編的更新。謝謝大家關(guān)注一下億速云網(wǎng)站!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI