Linux常见符号和命令
重定向符号
在shell中常见的重定向符号有 > 和 >>
>
符号
表示将符号左侧的内容,以覆盖的方式输入到右侧的文件中
>>
符号
表示将符号左侧的内容,以追加的方式输入到右侧文件的末尾
管道符
命令格式
命令1 | 命令2
命令1执行后的结果,传递给命令2使用
其他符号
后台展示符
&
& 就是将一个命令从前台转入到后台执行
全部信息符号
2>&1
1 表示正确输出的信息
2 表示错误输出的信息
2>&1 代表所有输出的信息
Linux系统垃圾桶
/dev/null 是Linux下的一个设备文件,特点是无限大
常见命令
grep命令 文本搜索命令
命令格式
grep [参数] [关键字] <文件名>
- 参数详解
-c 只输出匹配行的计数
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行
- 精确定位错误代码
grep -nr [错误关键字]
sed命令 编辑文件 以行为单位
命令格式
sed [参数]'匹配条件 动作' 文件名
- 参数详解
参数为空 表示sed的操作效果,实际上不对文件进行编辑
-i 表示读文件进行编辑
注意在mac中使用-i参数,需要用
-i ''
- 匹配条件
数字行号 或者关键字匹配
关键字匹配格式:
'/关键字/'
隔离符号/
可以换成 @ # !- 动作详解
-a 在匹配到的内容下一行增加内容
-i 在匹配到的内容上一行增加内容
-d 删除匹配到的内容
-s 替换匹配到的内容
- 命令演示
s#原内容#替换后内容#
替换每行首个匹配内容
sed -i 's#原内容#替换后内容#' 文件名
替换全部匹配内容
sed -i 's#原内容#替换后内容#g'
指定行号替换首个匹配内容
sed -i'行号s#原内容#替换后内容#' 文件名
首航指定列号替换匹配内容:
sed -i 's#原内容#替换后内容#列号' 文件名
指定行号列号匹配内容
sed -i '行号s#原内容#替换后内容#列号' 文件名
在指定行号的下一行增加内容
sed -i '行号a\增加内容' 文件名
如果增加多行,可以在行号位置写个范围值,彼此中间用逗号隔开
在指定行号的当行增加内容
sed -i '行号i\增加的内容' 文件名
如果增加多行,可以在行号位置写个范围值,彼此中间用逗号隔开
指定行号删除
sed -i '行号d' 文件名
如果增加多行,可以在行号位置写个范围值,彼此中间用逗号隔开
awk命令 能以行和列来处理文件
命令格式
awk [参数] '动作' 文件名
- 常见参数
-F 指定行的分隔符
- 常见动作
print 显示内容
$0
显示当前所有内容$n
显示当前行的第n列内容,如果存在多个$n
,中间用,
隔开- 常见内置变量
NR 指定显示行的行号
NF 输出最后一列的内容
OFS 输出格式的列分隔符,缺省是空格
FS 输入文件的列分隔符,缺省是连续的空格和tab
find命令
命令格式
find [路径] [参数] [关键字]
- 参数详解
-name 按照文件名查找文件
-perm 按照文件权限来查找文件
-user 按照文件属主来查找文件
-group 按照文件所属的组来查找文件
-type 查找某一类型的文件
-size n: [c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计算
-depth 查找文件时,首先查找当前目录中的文件,然后在其子目录中查找