老男孩linux58期 day10
思 想
如何让提升自学能力?
人体造血靠骨髓
技术知识更新超快,快速学习知识靠自学。
1,动脑思考 养成主动看书的习惯。
2,养成预习的习惯。(相当于工作中领导分配任务,让你去搞定的模拟)
3,课堂上积极思考,对于老师提问的问题主动回答,对于不会的要主动发问。
4,对老师留的日后拓展的作业要能够完成。
5,对学习的内容要深度编码总结,(包括用思维导图来总结)等
要抓重点学习,知识===>短时记忆===>编码加工===>长时记忆(存储大脑)===>提取
6,课后遇到不会的不要轻易问别人,要学会自己解决问题。
笔记/书===查帮助文档===百度搜索===交流群===身边的人同学,项目经理,老师
7,提升阅读外语能力。
a,通过计算机技术支持反向学习外语,对我们学过的单词记录对应的意思的英文
目录层次标准里去查或man cp 看名字
b,总结一百个报错翻译
command not found
命令 没有 找到
课堂笔记
一,tr 命令
tr 替换或删除字符
tr - translate or delete characters
替换 或者 删除 字符
Linux里严格区分大小写。 所有字符尽量都加双引号。
cat test.txt
Welcome to oldboy training.
we are excellent.
tr "w" "9" < test.txt
Welcome to oldboy training.
9e are excellent.
tr w 9 < test.txt
Welcome to oldboy training.
9e are excellent.
二,grep 文本过滤工具 重要性前三名
grep, egrep, fgrep - print lines matching a pattern
打印 行 匹配 一个 模式/样式
-v (invert )是取反,显示不匹配的行 *****
-i 不区分大小写 ignore (忽略)
[root@zhangxiangyu-58 ~]# grep -i "w" test.txt
Welcome to oldboy training.
we are excellent.
[root@zhangxiangyu-58 ~]# grep "w" test.txt
we are excellent.
-n 对输出的内容显示原文件中的行号. number (数字)
-w (word)按单词为单位过滤 ****
[root@zhangxiangyu-58 ~]# grep -w "oldboy" test.txt
Welcome to oldboy training.
[root@zhangxiangyu-58 ~]# grep "oldboy" test.txt
Welcome to oldboy training.
oldboy1
-o 只输出匹配的内容
[root@zhangxiangyu-58 ~]# grep -o "oldboy" test.txt
oldboy
oldboy
[root@zhangxiangyu-58 ~]# grep "oldboy" test.txt
Welcome to oldboy training.
oldboy1
[root@zhangxiangyu-58 ~]# grep -oi "oldboy" test.txt
oldboy
oldboy
[root@zhangxiangyu-58 ~]# grep -oiw "oldboy" test.txt
oldboy
-E (extend)扩展的grep,即egrep
[root@zhangxiangyu-58 ~]# cat test.txt
Welcome to oldboy training.
we are excellent.
oldboy1
[root@zhangxiangyu-58 ~]# grep -E "to|are" test.txt
Welcome to oldboy training.
we are excellent.
[root@zhangxiangyu-58 ~]# egrep "to|are" test.txt
Welcome to oldboy training.
we are excellent.
考题:在/data目录下创建oldboy.txt,并增加"I am studying linux."一行内容。
该题有多种解题方法,下面来一一分析讲解
[root@zhangxiangyu-58 /]# cd data
[root@zhangxiangyu-58 /data]# vi oldboy.txt
[root@zhangxiangyu-58 /data]# cat oldboy.txt
I am studying linux.
思想:操作后检查的习惯,才能提升正确率
重定向符号的核心知识
>或1> 标准输出重定向,箭头方向就是数据流向,把左边的数据流向到右边,会晴空右边之前的数据。
备份:
[root@zhangxiangyu-58 ~]# cat test.txt
Welcome to oldboy training.
we are excellent.
oldboy1
[root@zhangxiangyu-58 ~]# cp test.txt{,.ori}
[root@zhangxiangyu-58 ~]# cp test.txt test.txt.ori
[root@zhangxiangyu-58 ~]# >test.txt
[root@zhangxiangyu-58 ~]# cat test.txt
[root@zhangxiangyu-58 ~]# cat /data/oldboy.txt
I am studying linux.
[root@zhangxiangyu-58 ~]# > /data/oldboy.txt
[root@zhangxiangyu-58 ~]# cat /data/oldboy.txt
[root@zhangxiangyu-58 ~]# echo "I am studying linux."
I am studying linux.
[root@zhangxiangyu-58 ~]# echo "I am studying linux.">/data/oldboy.txt
[root@zhangxiangyu-58 ~]# cat /data/oldboy.txt
I am studying linux.
[root@zhangxiangyu-58 ~]# echo "oldboy">/data/oldboy.txt
[root@zhangxiangyu-58 ~]# cat /data/oldboy.txt
oldboy
[root@zhangxiangyu-58 ~]# cat /data/oldboy.txt
I am studying linux.
>>或1>>追加输出重定向,内容追加到文件尾部。
[root@zhangxiangyu-58 ~]# echo "I am studying linux.">>/data/oldboy.txt
[root@zhangxiangyu-58 ~]# cat /data/oldboy.txt
I am studying linux.
I am studying linux.
<标准输入重定向,箭头方向就是数据流向
Standard input ,writing to standard output
标准 输出 写 到 标准 输出
[root@zhangxiangyu-58 ~]# cat /data/oldboy.txt
I am studying linux.
I am studying linux.
[root@zhangxiangyu-58 ~]# tr "am" "01"
I 01 studying linux.
I 01 studying linux.
<<或0<<追加输入重定向,箭头方向就是数据的流向
2>标准错误输出重定向,箭头方向就是数据流向,把左边的「报错」输出的右边(覆盖)
2>>标准错误输出重定向,箭头方向就是数据流向,把左边的「报错」输出的右边(追加)
固定定义:
数字1 标准输出(standard output)
数字0 标准输入(standard input)
数字2 错误输出(error output)
> , >>可以理解为把命令输出给文件进行追加或覆盖
< , <<可以理解为把字符串或文件里的内容输入给命令进行操作
[root@zhangxiangyu-58 ~]# cat < > I am oldboy > EOF I am oldboy EOF成对出现,后面这个顶格。 此外还有一个特殊重定向用法:将标准错误重定向到标准输出,即标准错误和标准输出一样从定向到文件中,这个功能有3种实现命令方法。 方法1:echo "I am oldboy" 1>>oldboy.txt 2>>oldboy.txt 方法2:echo "I am oldboy" &>>oldboy.txt 方法3:echo "I am oldboy" 1>>oldboy.txt 2>&1 考题:已知文件test.txt内容为: test liyao oldboy 请给出再屏幕输出test.txt内容时,不包含oldboy字符串的命令。 [root@zhangxiangyu-58 ~]# cat test.txt test liyao oldboy [root@zhangxiangyu-58 ~]# grep -v "oldboy"test.txt [root@zhangxiangyu-58 ~]# grep -v "oldboy" test.txt test liyao [root@zhangxiangyu-58 ~]# head -2 test.txt test liyao 第八章 linux文件类型及查找命令实践 文件的属性:文件大小,时间,类型,权限,属主 索引节点:文件的唯一标识 进程号:进程的唯一标识 [root@zhangxiangyu-58 ~]# ls -lih /etc 总用量 1.1M 17112720 drwxr-xr-x. 3 root root 101 3月 4 18:50abrt 17080298 -rw-r--r--. 1 root root 44 3月 6 14:59 adjtime 16829804 -rw-r--r--. 1 root root 1.5K 6月 7 2013 aliases 16777285 -rw-r--r--. 1 root root 12K 3月 4 19:42 1 2 3 4 5 6 7 8 9 10 第一列:inode索引节点编号(相当于人的身份证,家庭住址,全国唯一的) 系列读取文件时首先通过文件名找到inode号码,然后才能读取到文件 第二列:文件类型及权限,这列共11个字符, 其中第一个字符为文件类型 随后的9个字符为文件的对应权限,最后一个字符点号“ . ” 是和selinux有关的一个标识 第三列:硬连接数 第四列:属主:文件的拥有者,用户 第五列:属组:文件属于的组,用户组 第六列:大小 第七列:月份 第八列:日 第九列:时间 (文件内容最后修改时间) 第十列:文件名 第二列第一个字符:文件类型 一切皆文件。 Windows用扩展名区分文件,linux里有自己的文件类型,linux的里扩展名兼容windows方便区分文件 1. - 文件 (图片 视频 文档 都是文件) 创建:touch vim echo cat 拷贝,移动:cp mv 删除:rm 三种类型: A,纯文本文件 (字符数字等文件) B,数据文件 (存放命令收集的信息) C,二进制文件 (可执行的命令) 查看 [root@zhangxiangyu-58 ~]# file test.txt test.txt: ASCII text [root@zhangxiangyu-58 ~]# file /bin/cat /bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=8ac8b57ae50762a4a0480486839107e87b3c284d, stripped 2, d 目录(directory) 生成: mkdir -p 复制:cp -a/-r 删除:rm -fr 区分目录: a,开头为d B,颜色为蓝色 C,ls -p 目录结尾加斜线,以斜线结尾 D,ls -F 还会给其他文件加特殊字符