常用linux命令汇总
1. 文件挂载
# 服务器之间传输文件
scp -r username@ip_address:/mnt/data1/work/simin/mxf_cj_tool .
# 挂载
# linux目录挂载到mac目录下
sshfs mm@172.24.8.241:/home/mm/Downloads/map_data /Users/chenbiao/Downloads/temppp
或者
sudo mount -t cifs -o username=Everyone //192.21.64.181/mount_dir /mnt/data1/work/hongyuan
# 取消挂载
umount /Users/chenbiao/Downloads/temppp
#linux目录挂载到window目录下
\\sshfs\xuhongyuan@172.21.64.181!22/mnt/data1/work/hongyuan
2. 查看端口号的使用以及对应的进程号
netstat -tanlp
3. 批量更新文件名
方式一:mv
# ①、批量替换文件中“_”字符为"-"字符
# find ./ -name "*_*" | while read f; do mv $f ${f/_/-}; done
# ②、批量替换文件中“test”字符为"TEST"字符
# ls | while read f; do mv $f ${f/test/TEST}; done
> 引申,文件中的文本替换为:
# A). 对于单个文件
# sed -i 's/string1/string2/g' example.txt
说明:将example.txt文件中的 "string1" 替换成 "string2"(如果不加-i参数,则在内存中替换; 添加-i参数,则在文件中直接替换)
# B). 对于多个文件
# $ ls|while read f; do sed -i 's/beijing/shanghai/g' $f; done
方式 二:rename
linux的rename命令有两个版本,一个是c语言版本的,一个是perl语言版本的,一般内置的都是C语言版本的
2.1 C语言版本格式:rename 原字符串 新字符串 文件名
例子:将文件名中的“test”批量替换为“TEST”
# rename test TEST test_*.log
# ls
# TEST_10.log TEST_1.log TEST_2.log TEST_3.log TEST_4.log TEST_5.log TEST_6.log TEST_7.log TEST_8.log TEST_9.log
2.2 Perl语言版本格式:rename ‘s/原字符串/新字符串/’ 文件名
perl版的rename因其支持正则表达式,使用更广泛:
例子:
字母的替换rename "s/AA/aa/" * //把文件名中的AA替换成aa
修改文件的后缀rename "s//.html//.php/" * //把.html 后缀的改成 .php后缀
批量添加文件后缀rename "s/$//.txt/" * //把所有的文件名都以txt结尾
批量删除文件名rename "s//.txt//" * //把所有以.txt结尾的文件名的.txt删掉
原文链接:https://blog.csdn.net/liuwei0376/article/details/122040462
4. 替换文本中某个范围内的字段值
sed -i '/rply:/,/commands:/s/branch/branches/g' vehicle_params.yaml
5.chown和chgrp的使用
# -R 可选 递归修改filename下所有文件的所属组
chgrp [-R] groupname filename
# chown既可以修改文件的所属用户,也可以修改文件的所属组,chown熟练使用后,便可以代替chgrp对文件进行所属组的修改。
chown [-R] ownname:groupname filename