[内容] Shell 文本掐头去尾的使用

内容一:掐头

1.1 只掐头从左数第 1 个出现的某个字符和此字符前面的所有内容

# complete=/dir1/dir2/dir3/dir4/test.file.txt
# echo ${complete#*/}
dir1/dir2/dir3/dir4/test.file.txt

(补充:这里以掐掉从左数第 1 个斜杠 “/” 以及前面的所有所有内容为例)

1.2 掐头从左数最后 1 个出现的某个字符和此字符前面的所有内容

# complete=/dir1/dir2/dir3/dir4/test.file.txt
# echo ${complete##*/}
test.file.txt

(补充:这里以掐掉从左数最后 1 个斜杠 “/” 以及前面的所有所有内容为例)

内容二:去尾

2.1 只去尾从右数第 1 个出现的某个字符和此字符后面的所有内容

# complete=/dir1/dir2/dir3/dir4/test.file.txt
# echo ${complete%.*}
/dir1/dir2/dir3/dir4/test.file

(补充:这里以掐掉从右数第 1 个点 “.” 以及后面的所有所有内容为例)

2.2 去尾从右数最后 1 个出现的某个字符和此字符后面的所有内容

# complete=/dir1/dir2/dir3/dir4/test.file.txt
# echo ${complete%%.*}
/dir1/dir2/dir3/dir4/test

(补充:这里以掐掉从右数最后 1 个点 “.” 以及后面的所有所有内容为例)

[命令] Linux 命令 basename (去除目录或文件的路径只显示此目录或文件)

案例一:去除某个目录或文件的路径只显示此目录或文件

# basename /root/test.txt
test.txt

(补充:这里以去除文件 /root/test.txt 的路径为例)

案例二:去除某 2 个目录或文件的路径只显示此 2 个目录或文件

2.1 去除某 2 个目录或文件的路径只显示此 2 个目录或文件 (最终结果只显示了第 1 个目录或文件)

# basename /root/test.txt /home/mingyuzhu/mingyuzhu.txt
test.txt

(补充:这里以去除文件 /root/test.txt 和文件 /home/mingyuzhu/mingyuzhu.txt 的路径为例)

2.2 去除某 2 个目录或文件的路径只显示此 2 个目录或文件

# basename -a /root/test.txt /home/mingyuzhu/mingyuzhu.txt
test.txt mingyuzhu.txt

(补充:这里以去除文件 /root/test.txt 和文件 /home/mingyuzhu/mingyuzhu.txt 的路径为例)

案例三:去除某个目录或文件的路径只显示此目录或文件,同时去除这个目录或文件的后缀

# basename -s .txt /root/test.txt
test

(补充:这里以去除文件 /root/test.txt 的路径同时去除后缀 .txt 为例)

[命令] Linux 命令 type (判断命令的类型)

案例一:显示某个命令的源文件

# type curl
curl is hashed (/usr/bin/curl)


补充:
1) 这里以显示 curl 命令为例
2) 从输出的结果可以看出 curl 命令的文件是 /usr/bin/curl 并且已经 hashed

案例二:显示某个命令的源文件类型

# type -t curl
file


补充:
1) 这里以显示 curl 命令为例
2) 从输出的结果可以看出 curl 命令的文件类型 file

[步骤] bond 网卡捆绑组的添加 (CentOS Linux & RHEL 版) (nmtui 版)

步骤一:使用 nmtui 命令进入 nmtui 界面

# nmtui

步骤二:进入创建 bond 的界面

Edit a connection --> <Add> --> Bond

步骤三:在创建 bond 的界面里填写 bond 界面里的资料

3.1 填写 Profile name 后面的资料

Profile name

给 bond 设置 1 个身份名称 (必须设置)

(补充:建议是 bond0)

3.2 填写 Device 后面的资料

Device

给 bond 设置 1 个设备名称 (必须设置)

(补充:建议是 bond0)

3.3 填写 Mode: 后面的资料

Mode:

3.4 填写 Active Backup 后面的资料

Active Backup

(补充:强烈建议改成 Active Backup)

3.5 IPv4 CONFIGURATION: 后面的资料

IPv4 CONFIGURATION:
<Manual> 

(补充:需要修改成 Manual 后才能手动配置 IP 地址)

3.6 配置 IP 地址、子网掩码、网关

(步骤略)

步骤四:在创建 bond 的界面里填写添加 bond 子网卡

4.1 进入添加 bond 子网卡的界面

BOND Slaves --> <ADD> --> Ethernet

4.2 在添加 bond 子网卡的界面里填写 bond 界面里的资料

Profile name

给 bond 子网卡设置 1 个设备名称 (必须设置)

(补充:建议是 bond0-slave)

Device

给 bond 子网卡选择 1 个设备名称 (必须设置)