同步操作将从 编程界的小学生/java-legendary 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
[TOC]
author:编程界的小学生
date:2021/02/16
PS:高频能提升工作效率的命令总结,并非命令大全哈,命令大全的话自己看官网咯。都是自己亲身总结。
yy:复制一整行
3yy:复制三整行
5yy:复制五整行
...以此类推
y+shift+4(也就是y$):复制光标位置到这行末尾
dd:剪切一整行
3dd:剪切三整行
d$(d+shift+4):剪切光标位置到行尾
u:撤销,也就是windows上的ctrl+z
ctrl+r:前进,相当于windows的ctrl+y
g:光标移动到文本第一行的最前面
shift+g:光标移动到文本最后一行的最前面
3+shift+g:光标移动到第3行
:s/old/new:将光标定位的这行的第一个old值换成new
:s/old/new/g:将光标定位的这行的所有old值换成new
:%s/old/new:将文本每一行的第一个old值换成new
:%s/old/new/g:将全文本中的old值换成new
:3,5s/old/new/g:将第三行到第五行之间(包含第三行和第五行)的old值换成new
匹配除换行符外的任意单个字符
匹配任意一个跟在它前面的字符
匹配方括号中的字符类中的任意一个
匹配开头
匹配结尾
转义后面的特殊字符
匹配前面的正则表达式出现一次
匹配前面的正则表达式出现零次或一次
匹配他前面或者后面的正则表达式
find /home/chentongwei -name 'minio*'
find -name语法
在/home/chentongwei目录下查找以minio开头的文件
find /home/chentongwei -regex .*log$
find -regex语法
在/home/chentongwei目录下查找以log结尾的文件
find /home/chentongwei -type f -regex '.*\.log$'
find -type语法
在/home/chentongwei目录下查找是文件类型的(将非文件类型排除,比如目录类型、块类型等,只保留文件类型)且以.log结尾的文件。
语法:find -a(m|c)time days、find -a(m|c)min minutes
使用stat 文件名 可以查看amc三个时间。
find /home/chentongwei -type f -mmin +20
find /home/chentongwei -type f -mtime +20
n都支持正(+)负(-)数
-amin n 查找系统中最后n分钟访问的文件。比如cat文件也会更新这个时间。 -atime n 查找系统中最后n天访问的文件。比如cat文件也会更新这个时间。 -cmin n 查找系统中最后n分钟被改变文件状态的文件。比如chown/vim啥也没改就保存文件也会更新这个时间。 -ctime n 查找系统中最后n天改变文件状态的文件。比如chown/vim啥也没改就保存文件也会更新这个时间。 -mmin n 查找系统中最后n分钟被改变文件数据的文件。只有修改数据内容才会更新这个时间。 -mtime n 查找系统中最后n天被改变文件数据的文件。只有修改数据内容才会更新这个时间。
语法:find -exec 命令 {} ;
find /home/chentongwei -regex ".*xxx.log$" -exec rm {} \;
find /home/chentongwei -type f -mmin +20 -exec ls -l {} \;
find /home/chentongwei -type f -mtime +20 -exec rm {} \;
替换语法:
sed 's/old/new/标志位' filename1 filename2 filename3 ...
s前面支持正则表达式。
old和new都支持正则。
标志位可有可无。
将test.txt文件内容的第一个a变成aa且输出,此操作不会修改test.txt文件的内容,只是替换后输出到控制台。
sed 's/a/aa/' test.txt
将test.txt文件内容的第一个a变成aa,将文本内容的第一个b变成bb且输出,此操作不会修改test.txt文件的内容,只是替换后输出到控制台
sed -e 's/a/aa/' -e 's/b/bb/' test.txt
sed 's/a/aa/;s/b/bb/' test.txt
将test.txt文件内容的第一个a变成aa,将文本内容的第一个b变成bb且将修改写入原文件test.txt
# -i参数
sed -i 's/a/aa/;s/b/bb/' test.txt
将test.txt文件内容的全部a变成aa,将文本内容的全部b变成bb且将修改写入原文件test.txt
# g参数
sed -i 's/a/aa/;s/b/bb/g' test.txt
找到文本中第二个a,且将第二个出现的a替换成b并写入原文件test.txt
# 标志位后面加数字即可
sed -i 's/a/aa/2' test.txt
替换文本第6行中的a为x并写入原文件test.txt
# s前面加数字即可
sed -i '6s/a/x/' test.txt
替换文本第2-5行(包含2和5)中的a为x并写入原文件test.txt
# s前面加数字,数字即可
sed -i '2,5s/a/x/' test.txt
找到文本中包含bc字符串的那行,且删除(只会删除第一个匹配到bc的行),且不会修改原文件
# /d参数
sed '/bc/d' test.txt
找到文本中包含bc字符串的那些行,且在每一个匹配行上面插入hello world,且不会修改原文件
# i参数
sed '/bc/i hello world' test.txt
找到文本中包含bc字符串的那些行,且在每一个匹配行下面插入hello world,且不会修改原文件
# a参数
sed '/bc/a hello world' test.txt
print
是打印命令,$0
代表当前整行,依次用$1
、$2
、$3
代表第一个字段、第二个字段、第三个字段等等。$n配合-F可以切割出想要的字段。
awk '/^x/{print $0}' test.txt
awk '/^x/{print x++, $0}' test.txt
如下命令就会打印出全部r开头的用户名,因为passwd第一个字段是用户名。
awk -F ':' '/^r/{print $1}' /etc/passwd
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。