Day5
Georgekai---习惯:操作前备份,操作后检查
张开嘴,勤动手
帮你是情分,不帮你是本分
提问: 1.客气,开门见山
2.什么环境做的,提示什么错误,
3.发截图配图片内文字
4.多找几个人问问
5.发命令或错误提示到群里,变成表情(尴尬)
提问之后: 1.总结错误---变成自己的
2.总结的错误发给你问问题的人
3.态度要OK
帮你是情分,不帮你是本分
今天接上一章内容继续了解我们的常用命令:
-
漏斗===重定向符号
a) > 【标准输出】重定向 : 清空原有内容,添加新内容
b) >> 【标准输出】追加重定向 : 把内容追加到文件的结尾注:> 或>> 前面默认隐藏了数字1 (1:studout)
a) < 【标准输入】重定向 :告诉命令从哪里获取文件一般这样用:
注:一定要加<,否则找不到文件
b) << 【标准输入】追加重定向 :
一般这样用:注:< 或 << 前面默认隐藏了0 (0:studin)
-
错误重定向 (指的是命令错了)
a) 2>> 错误追加重定向(很少单独使用) :把显示错误信息加入文 件中但是呢,工作中一般这么用:
注:2>&1 (把错误信息和正确信息放在一起)
注:(2:studerr) - 如何防止误删除:
a) 把危险的参数放到后面,如: -f
b) 使用绝对路径删除文件
c) 删除的命令复杂(find + |xargs )
如:find /data/ -type f -name "kai.txt" |xargs ls -l
(查找到文件并显示出来) -
find命令的使用(用来查找文件目录
格式:命令字 范围 条件
注:找出来以“.txt”结尾的文件,使用“*”,它表示所有东东
-type : 表示文件类型 (f文件、d目录)
-name:表示名字 - cd的用法
cd .. (表示返回上一级目录)
注:.. : 表示当前目录的上一级目录
. : 表示当前目录 -
查看文本
a) grep : 用来过滤文本(三剑客老三,擅长过滤文本)
grep "george" /data/kai.txt (过滤出带george字符的行)grep -v "george" /data/kai.txt (去除带george的行)
b) head -2 /data/kai.txt (显示文本的开头2行)
c) tail -2 /data/kai.txt (显示文本的最后2行)
d) awk '/george/' /data/kai.txt (显示出george的行)(linux三 剑客老大 ,擅长取其某一列)
awk '!/george/' /data/kai.txt (显示出排除掉george的行)
e) sed '/george/d' /data/kai.txt (显示出排除掉george的行)(lin ux三剑 客老二,擅长取其某一行)
-
创建多层目录
a) mkdir -pv /data/kai.txt (一次创建多层目录)
-p : 多层创建 -v :并显示出来 -
只查看ett.txt文件(共100行)内第20-30行
先准备测试环境:seq 50 >/data/ett.txt (创建一个50行的目 录)方法一 :head -30 /data/ett.txt | tail -11 (默认为10)
注:head 从头开始显示 tail 从尾部开始
方法二 :a) sed -n '30p' /data/ett.txt(只显示第30行)注:p 表示默认输出(会多显示1个30)
-n 清楚默认输出 (p和n 一般配合使用)
-i 修改文件内容
b) sed -n '20,30p' /data/ett.txt(显示出20-30行)方法三 : a) awk 'NR==30' /data/ett.txt(只显示出第30行)
注:1. 计算机中的“=”,就是“==”- NR在awk中表示行号(number of record)
方法四 :a) grep -A10 "george" /data/ett.txt (显示出包 含george这个字符 的后10行)
b) grep -B10 "george" /data/ett.txt(显示出包 含george字符的前10 行)c) grep -C10 "george" /data/ett.txt(显示包含ge orge字符的前后10 行)
-
find 与|xargs ls /rm cat /sed 的配合使用
a) find /data/ -type f -name ".sh" |xargs sed -i 's#boy#gir l#g'(把/data/ 目录下名字为.sh结尾的文件中包含oldboy的字符 替换成oldgirl)
b) find /data/ -type f -name ".sh" |xargs cat(查看/data/目录.s h结尾的文 件内容)
注:“|”管道符的作用:将前面命令的输出作为后面命令的操 作对象注:“|”和|xargs的区别:
- 处理字符串、文本
- 处理文件
转载于:https://blog.51cto.com/10085711/2061557