网站模块建设建议网络故障维修

每日分享三个Linux命令,悄悄培养读者的Linux技能。
rename
作用
批量修改文件名称
rename命令能够基于正则表达式对文件名进行批量修改
语法
rename [option] expression replacement file
expression:文件命中需要替换的字符串
replacement:将文件名中指定原字符串替换为目标字符串
file: 指定要改变文件名的文件列表
参数:
- -f:强制修改文件名称
 - -n:模拟运行,实际命令没进行重命名
 - -v:输出命令执行详细信息
 
通配符:
- ?:可替代单个字符
 - *:可替代多个字符
 - .:匹配除换行字符以外的任意字符
 - +:匹配一个字符一次或者多次
 
案例
- 将txt替换为doc
 
rename txt doc test.txt
 
- 将test改成test0,然后将test0改成test00
 
创建文件
touch test{1..5}
 
rename test test0 test?
 
rename test0 test00 test*
 
basename
作用
从文件路径中提取文件名
语法
basename OPTION NAME
参数:
- -a:处理多个文件
 - -s删除指定后缀
 
案例
- 提取文件名
 
basename /home/test/dir
 
basename /home/test/dir/
 

注:提取文件名会删除后面的“/”。
- 提取多个文件名
 
basename -a /home/test /home/test/dir
 
- 删除指定后缀
 
basename /home/test.txt .txt
 
basename -s .txt /home/test.txt
 
两段命令功能相同。

dirname
作用
去除文件名的非目录部分
语法
dirname [OPITION] NAME
案例
- 提取文件路径
 
dirname /home/test/file.txt
 

- 提取目录的路径
 
dirname /home/test/file/
 

参考
[1] 解锁Linux之谜:自由、安全、强大的操作系统
[2] Linux每日智囊-“man,cd,pwd”
[3] Linux每日智囊-“info,tree,stat”
[4] Linux每日智囊-“whatis,touch,which”
[5] Linux每日智囊-“mkdir,rmdir,rm”
[6] Linux每日智囊-“ls,wc,nl”
[7] Linux每日智囊-“mv,cp,md5sum”
