linux 命令学习笔记
# 定义命令别名,目的利于使用
1、alias
查看别名:直接回车查看当前session已定义的命令别名列表
查询指定别名:alias 别名名字 eg: alias ll 查询 ll 的真实命令,如果定义了别名,则会显示别名和对应的真实命令,没有定义则提示别名未找到
定义别名:alias 命令名字="所代替的命令" eg: alias grep="grep --color=always" 表示在当前session中,如果使用grep命令,就默认增加了--color=always 参数
2、cat
# 文本搜索命令
3、grep
# 递归搜索某个目录
1.> grep -R -n "关键字" 目录
# 忽略大小写
2.> grep -i
# 用-e参数匹配多个样式,等价于 使用 -f 参数,把需要检索的内容分行写入 match_pattern文件
3.> grep -e "关键字1" -e "关键字2"
# 用 -o 选项只显示被检索的关键字
4.> grep -o "关键字"
# --include *.log 包括某些被检索的文件 --exclude *.log 排除某些文件, some{file1,file2}:会被解析成 somefile1, somefile2。排除某个目录用 --exclude-dir
从文件中读取要排除的文件列表可以用参数 --exclude-from fileName
5.> grep . -r --include *.{log}
# 被检索的关键字进行彩色显示
6.> grep "关键字" --color=[when] when=always,auto,never 默认never 如果常用grep --color 这个命令,建议使用 alias grep="grep --color=always"
# 打印出匹配文本之前和之后的行,如果有多个匹配行,则用 -- 隔开
7.> grep "关键字" -A 3 (后后3行)
grep "关键字" -B 3 (前后3行)
grep "关键字" -C 3 (前后3行)
# 静默输出,执行完检索后,如果检索到数据则返回0,不成功或者没有检索到返回非0。小提示:$? :最后运行的命令的结束代码(返回值)
8.> grep -q "关键字" 被检索内容
# 检索除了包含 match_pattern 的行以外的所有行
9.> grep -v match_pattern file
# 使用 -E 参数启用正则表达式当做 match_pattern
10.> grep -E "[a-z]+" # 等价于 egrep "[a-z]+"
# -c 获得grep检索到的行数
11.> grep -c "关键字" 被检索内容
# -m 检索到最大行数后就停止检索
12.> grep -m 停止行数 "关键字" 被检索内容
# cut 用法
# -d 定界符,用来进行字段切割用
1.> cut -d" " -f1,2 # 用一个空格进行字段切割,取第1个和第2个字段进行显示
# -f 定义字段;-b 字节;-c 字符
2.> cut -f3,5 --complement test.log # 打印出除了第3,5个字段之外的所有列
N- # 从第N个字节,字符或者字段到行尾
N-M # 从第N个字节,字符或者字段到第M个(包括第M个在内)字节,字符或者字段
-M # 从第1个字节,字符或者字段到第M个(包括第M个在内)字节,字符或者字段
# sed (stream editor 流编辑器)用法
# wc 统计文件的行数、单词数和字符数
# 打印出文件的行数、单词数、字符数,彼此之间用制表符分隔
1.> wc file
# 统计文件的行数
2.> wc -l file
# 统计文件的单词数
3.> wc -w file
# 统计文件的字符数
4.> wc -c file
# $符号用法
$$ # Shell本身的PID(ProcessID)
$! # Shell最后运行的后台Process的PID
$? # 最后运行的命令的结束代码(返回值)
$- # 使用Set命令设定的Flag一览
$* # 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@ # 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$# # 添加到Shell的参数个数
$0 # Shell本身的文件名
$1~$n # 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
which # 找到某个命令的所在目录
vmstat 1 # 1秒打印一次服务器状态