1.管道命令(A|B B在A打印出来的基础上进行再次的筛选或者运算操作)
命令 | 作用 |
---|---|
可以根据条件提取对应的内容 | |
cut -c 5,6 2.txt | 选取2.txt当中的第5,6个字符(cut -c 5-6 2.txt同样有效) |
cut -r -f | -r后面跟着‘分隔符’ -f后面跟着分割后要打印的第几个内容 |
sort | 对文本文件的每行内容排序(默认顺序排序,数字一般在字母前面) |
cat/tac | 正叙倒叙查看文件 _ |
sort -n/-r -t/-k | 正/叙倒叙排序 -t指定分隔符 -k根据指定列排序 |
wc | 显示指定文件的行数、单词数、字节数 |
ll /etc | wc | 可以列出etc文件夹下有多少文件 |
uniq -c | 用于检查和删除文本文件中重复出现的行,一般和sort命令一起使用,-c统计重复出现的次数 |
cat A | tee B C | 将命令结果输出到多个文件中去,类似于 >> 追加命令 > |
tr | 替换或者删除文件中的字符 cat 1.txt | tr ‘a’ ‘A’,将小a替换成A([a-z] [A-Z],大小写替换) |
tr -d | 删除指定的字符 (tr -d [0-9] 删除0-9这些数字) |
split -b 10k | 将大文件分成若干10kb的小文件 |
split -l 100 | 将指定的文件分成100份,但是没有成功(没有成功) |
awk | 模糊查询(cat score.txt | awk '/zhang | li/‘’)查询文件中zhang和li |
awk -F | awk -F ‘,’ ‘{print $1, $2, $3}’ 文件(操作1.txt文件, 根据 逗号 分割, 打印 第一段 第二段 第三段 内容) |
sed | 实现过滤和替换功能(sed -ie ‘1,2d’ 1.txt 删除一二行的内容) |
2.安装了cman,爽的一批 _
head -2 1.txt | cut -d ':' -f 1,2,3------选取头两行,按照:分割之后选择分割后的前1,2,3
awk -F ',' '{if($4>60) print $1, $4 }' score.txt------如果及格,就显示 $1, $4
awk -F ',' '{if($4>60) print $1, $4, "及格"; else print $1, $4, "不及格"}' score.txt------如果及格显示$1$4,不及格就不及格显示
if($0 ~ "aa") print $0------如果这一行包含"aa", 就打印这一行内容(紧跟的456都是awk的)
if($1 ~ "aa") print $0------如果第一段包含"aa", 就打印这一行内容
if($1 == "lisi") print $0------如果第一段等于"lisi", 就打印这一行内容
cat 1.txt | sed -n -e '3,5p'------查看3-5行的内容
3、安装了ctrl+x+e特爽,可以把多个命令vim编辑后一次性执行_
4、shell编程 (.sh)
cat /etc/shells ------ 查看系统中的shell解析器
#!/bin/bash echo 'hello world'
sh hello.sh------用sh来执行shell编程的内容
[root@node01 export]# echo "${yourname}likebanana"------输出//zhangsanlikebanana加上$表示变量
unset variable_name------删除变量
readonly mm------设置mm为只读变量,只读变量的值不准许被修改
5、加入PATH路径中的,可以直接执行,不用再寻找路径,这就是再执行sh时可以忽略/bin/的原因,查看echo /$PATH就能看到bin在路径中。_
6、chmod 755 hello.sh,修改文件权限
7、在shell脚本中,定义变量的时候,变量名不能加美元$符号,you=“haha”,注意:变量名和等号之间不能有空格!
8、shell编程中,‘’单引号里的所有原阳输出,“”双引号可以有变量,内部可以出现转义字符
skill='java'
echo ${skill} # 输出结果: java
echo ${#skill} # 输出结果: 4 #输出4,表示字符串长度
9、一定记住,在shell变量中,=等号左右一定不要有空格!!