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. 计算机中的“=”,就是“==” 2. 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的区别: 1. 处理字符串、文本 2. 处理文件