#red hat 第二次学习整理

今天上午我们学习了Linux高级语法的使用,令我印象最深的是awk和sed,他们是两个不太好懂的语法,但是学起来尤为有意思,特别是结合管道符之后,下面让我们来看看。
学习准备:

  • 建立个人文件夹
  • 复制etcpasswdroot下配置文件.

sed的用法是对一整行内容进行整理,并显示出用户想要看到的内容,而awk是比sed更好用,也更难用的用法,他可以对一行数据进行切片,然后分块整理,给你看你单独想看某个分区的内容,程老师讲的是,awk更多的是对列的数据进行整理,你也可以这么理解。

[root@localhost lzy]# df -h    查看当前硬盘使用情况
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   17G  3.5G   14G   21% /
devtmpfs                 975M     0  975M    0% /dev
tmpfs                    992M     0  992M    0% /dev/shm
tmpfs                    992M   11M  981M    2% /run
tmpfs                    992M     0  992M    0% /sys/fs/cgroup
/dev/sda1               1014M  157M  858M   16% /boot
tmpfs                    199M  4.0K  199M    1% /run/user/42
tmpfs                    199M   40K  199M    1% /run/user/1000
[root@localhost lzy]# df -h  | awk '{print $3}'   使用awk打印第三列
已用
3.5G
0
0
11M
0
157M
4.0K
40K
[root@localhost lzy]# head -2 passwd  使用head命令查看Passwd文件前两行内容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost lzy]# head -2 passwd | cut -d: -f7     使用管道+cut,-d 是指定分界符,这里为:
/bin/bash
/sbin/nologin

接下来我们来看看awk如何查看,以及他是如何分片的
NR代表定位到第几行,print是打印,$是第几个空格的意思,最后跟上文件passwd

[root@localhost lzy]# head -3 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@localhost lzy]# awk -F: 'NR==2{print $3}' passwd
1
[root@localhost lzy]# awk -F: 'NR==2{print $6}' passwd
/bin
[root@localhost lzy]# awk -F: 'NR==3{print$4}' passwd
2
[root@localhost lzy]# awk -F: 'NR==3{print$5}' passwd
daemon

sed命令是可以对行内容进行处理,例如对某行内的内容进行替换等操作
amazing,我第一次做没有想到直接替换了这个文件中的内容
只以为是临时替换!!!

[root@localhost lzy]# head -1 passwd
root:x:0:0:root:/root:/bin/bash
[root@localhost lzy]# sed -i '/^root/s/root/haha/g' passwd
[root@localhost lzy]# head -1 passwd
haha:x:0:0:haha:/haha:/bin/bash

一个重定向的骚操作,可以使用>输入he <输出来直接写一个小文件

[root@localhost lzy]# cat > lzyhahaha << EOF> 1
> 2
> 3
> 4
> 5
> EOF
[root@localhost lzy]# head lzyhahaha
1
2
3
4
5真的很有趣~~

我们用这种方法来写一个文件,来试试sed替换的用法
解释一下,sed后单引号里面的一些内容,/s代表全局,最后跟上的/g /2的意思是针对于某个单位,g是所有的,2则是每行的第二个单词

[root@localhost lzy]# cat > 123 <<EOF
> hello word
> hello hello word
> hello hello word
> hello hello hello word
> hello hello word
> hello hello word
> OEF      》》》》》是我的一个错误..     > EOF
[root@localhost lzy]# sed 's/hello/haha/2 ' 123
hello word
hello haha word
hello haha word
hello haha hello word
hello haha word
hello haha word
OEF

来看看grep的命令用法,查找符合字段条件的文件

[root@localhost lzy]# touch abc Abc abcd Abcd    创建文件
[root@localhost lzy]# ls |grep 'abc'      告诉他,我只想要包含abc的文件显示给我看
abc
abcd
[root@localhost lzy]# ls |grep '^abc$'        只想看^开头是abc(到此结束)$的文件
abc
[root@localhost lzy]# ls |grep -i 'abc'      如果加上-i  则是不区分大小写
abc
Abc
abcd
Abcd
[root@localhost lzy]# ls |grep -i '^abc$'
abc
Abc

好的,又学到一招,我们来看看一个基于源码的有意思的东西,echo的一个小用法

echo $?    意思是查看上一条命令是否成功执行
[root@localhost lzy]# ls |grep -i '^abc$'
abc
Abc
[root@localhost lzy]# echo $?
0    返回值为0  执行成功
[root@localhost lzy]# ls | grep '123456'   一个不存在的文件
[root@localhost lzy]# echo $?
1     返回值为1  执行失败

find语法
find是liunx中的一个基础且好用的命令,我一般用它来找文件

[root@localhost /]# find /root -name 1
/root/1
[root@localhost /]# find -name /root/1      >  这样用会报错 命令后不能含"/" !!!
find: 警告: Unix 文件名通常不包括 / 符号(但目录名中有这个符号)。这意味着‘-name ‘/root/1’’可能在此系统中永远等同于错误。您可能会发现‘-wholename’参数更有效,或者也许是‘-samefile’。又或者,如果您使用 GNU grep,您可使用‘find ... -print0 | grep -FzZ ‘/root/1’’。
[root@localhost /]# find / -name passwd    查找根目录下所有passwd
/sys/fs/selinux/class/passwd
/sys/fs/selinux/class/passwd/perms/passwd
/etc/passwd
/etc/pam.d/passwd
/usr/bin/passwd
[root@localhost /]# find /etc/pam.d -name passwd    etc文件夹下passwd
/etc/pam.d/passwd
[root@localhost ~]# touch {a..z}
[root@localhost ~]# touch {A..Z}
[root@localhost ~]# find -iname a        i是不区分大小写的寻找a文件
./a
./A
[root@localhost ~]# find -name "1*"    通配符查找1*的文件
./1
./10
./11
./12
./13
./14
./15
./16
./17
./18
./19
./100
[root@localhost ~]# find /home -user tom   根据用户名查找,也可以根据-uid/-group查找文件
/home/tom
/home/tom/.mozilla
/home/tom/.mozilla/extensions
/home/tom/.mozilla/plugins
/home/tom/.bash_logout
/home/tom/.bash_profile
/home/tom/.bashrc
[root@localhost ~]# find /root -type f   根据文件类型f (文件) 查找  同理,也可以加d (文件夹)
/root/v
/root/.bash_logout
/root/.bash_profile
/root/.bashrc
/root/.cshrc
/root/.tcshrc
略

补充一下关于linux文件存储头显标号的小知识

red had第二次学习整理相关推荐

  1. Matplot学习整理

    Matplot学习整理 plot_straight line line tick line annotation kind of plot subplot 1 plot_straight line 等 ...

  2. ACM竞赛学习整理开篇之01背包问题

    ACM竞赛学习整理开篇之01背包问题. 最近,偶然的一次机会让我关注信息奥赛的一些内容.发现其中的内容很有趣,是学习编程的一条很好的路径,又能很好地将数学和编程联系到一起.在csdn里看到了不少同好也 ...

  3. Vanishing Point Detection 消影点/消失点/灭点检测代码学习整理笔记

    VanishingPointDetection 代码学习整理 main.cpp VPDetection.h VPDetection.cpp run() getVPHypVia2Lines getSph ...

  4. HTML CSS 学习整理

    HTML CSS 学习整理 码字不易,转载请务必注明原文出处.常用单位整理,不断学习,后期的新增笔记会继续加到文章上方 点击链接后退页面: 回到上一个网页 这是一个简单的跳转页面操作 --修改plac ...

  5. python基础系统学习整理,自学者可以参考的不二笔记

    前言 博主自己的python学习整理笔记,基础部分的笔记,当然一定还存在很多不足与纰漏,希望各位可以评论区建议让博主来更新 必备理论概念: 计算机基础概念 python基础概念 编辑器与pip安装与基 ...

  6. 20169220 网络攻防实践 第二周学习总结

    20169220 赵京鸣 2016/2017-2 第二周学习总结 进度:1.教材第1-2章/12章 2.Kali教学视频1-5/36 3.查找2个安全工具/5 4.国内外黑客.电影书籍了解 5.lin ...

  7. 排序算法学习整理一(冒泡)

    排序算法顾名思义,给元素排序,无论是从小到大也好还是从大到小也罢,都归属于排序,作为一个刚入坑但又在能力上有所欠缺的萌新来说排序算法是简直难以逾越的天坑,我曾经见过一个朋友冒泡排序敲了一周QAQ,勉强 ...

  8. 阿里云“7天实践训练营”入门班第二期学习笔记 第五天 在线编程挑战

    阿里云"7天实践训练营"入门班第二期学习笔记 第五天 在线编程挑战 吾辈,完全不会编程 以下内容全程来自阿里云社区的大佬分析讲解 原题目 知识点:搜索.字符串.位运算 有一天Jer ...

  9. web前端第二周学习

    第二周学习 二十一.嵌套列表 二十二.表格标签 二十三.表格属性 二十四.表单标签 二十五.表单相关标签 二十六.表格表单组合使用 二十七.div与span 二十八.CSS语法格式 二十九.内联样式与 ...

最新文章

  1. dev应用程序在其他电脑不能运行
  2. 码农创业,6年80万我是这样一步一步实现的,创业朋友共勉[终结篇3年后我再来]...
  3. 学习强制删除正在运行的文件
  4. 南京信息工程大学c语言实验十报告,南京信息工程大学2014年C语言程序设计实验内容(全部).doc...
  5. 想要挑战成功的hongjin2
  6. (转)淘淘商城系列——商品搜索功能Dao实现
  7. python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析
  8. 记一次css载入指定url失败
  9. Struts的文件上传与下载
  10. java中怎么把数字打印在屏幕上_java中如何打印出蜗牛形状的数字
  11. linux导出日志命令_Linux中的导出命令
  12. java获取行政区划编码(省市区县居委5级)
  13. 【艾特淘】淘宝保证金催缴单在哪里,要怎么交?
  14. 什么是电脑pe系统?
  15. VSCode Remote 报错,无法连接??别慌,小二来了!
  16. Windows证书对话框权限提升漏洞-CVE-2019-1388
  17. Double S 曲线轨迹规划——不同速度加速度条件下综合
  18. Swift初步探究-正确导入第三方库
  19. excel shell合成_shell快速合并多个Excel表格
  20. java计算机毕业设计高原特色农产品网站设计源码+mysql数据库+系统+lw文档+部署

热门文章

  1. 使用ViewPager和FragmentPagerAdapter实现Tab
  2. 内部模块化的命令行菜单
  3. hadoop组件---spark----全面了解spark以及与hadoop的区别
  4. Zhong__CentOS7安装MySQL5.7数据库
  5. 汽车SoC全生命周期功能+网络安全架构设计
  6. 施乐700彩机服务器维修,佳铭办公设备:施乐彩机维修代码
  7. 2023中国(上海)国际大豆食品加工及设备展览会
  8. 七彩cms云转码_七彩CMS视频转码 2019云转码彻底开源系统版本号
  9. 达内python学费22000_交钱了,学了3天Python编程,我想放弃了......
  10. 京东云宙斯上传单张图片php,京东api接入的几个坑(宙斯)