一点点补充
1. Linux
- 借助了Unix的很多工具
Linux与Windows区别
- linux主要使用命令,有的版本没有界面
- linux目录结构:/(根目录)/bin /boot /dev(子目录)
- windows目录结构:c:\user
Linux常用命令
- ls:列出目录
- cd:切换目录
- pwd:显示目前的目录
- mkdir:创建文件夹
- rmdir:删除一个空的目录
- cp:复制文件或目录
- rm:移除文件或目录
- mv:移动文件与目录,或修改文件与目录的名称
Linux三剑客
正则
- \bxxxb
- .*
- {}、\d
- . 匹配换行符以外的任意字符
- \w 匹配字母或数字或下划线或汉字
- \s 匹配任意空白符
- \d 匹配任意数组
- \b 匹配单词的开始或结束
- ^ 匹配字符串的开始
- $ 匹配字符串的结束
- *重复零次或更多次
- +重复一次或多次
- ? 重复零次或一次
- {n} 重复n次
- {n,} 重复n次或更多次
- {n,m} 重复n到m次
练习
-
匹配以字母a开头的单词 -
匹配刚好6个字的单词 -
匹配1个或更多连续的数字 -
5位到12位QQ号
管道
awk
sed
- sed是流编辑器,一次处理一行内容,不会对源文件进行处理
sed [-hn..] [-e<script>][-f<script文件>][文本文件] - -h 显示帮助
- -n 仅显示script处理后的结果
-e<script> 以选项中指定的脚本来处理输入的文本文件-f<script文件> 以选项中指定的脚本文件来处理输入的文本文件- a:新增
sed -e '4 a newline' (脚本:在第四行后新增一行newline) - c:取代
sed -e ‘2,5c No 2-5 number’ (脚本:将2-5行的数据替换为No 2-5 number) - d:删除
sed -e '2,5d' (脚本:删除2-5行的数据) - i:插入
sed -e ‘2i newline’ (脚本:在第二行之前插入一行newline) - p:打印
sed -n '/root/p' (脚本:打印所有root的行 正则表达式:root) - s:取代
sed -e 's/old/new/g' (脚本:所有的new替代old 正则表达式:old、new、g全局) - man sed 查询帮助
- sed -h
练习
-
在第四行后添加新字符串 -
第二行前添加newline -
非全局替换 -
全局替换 -
直接修改源文件(****)
grep
- 根据用户指定的模式(pattern)对目标文本进行过滤,显示被模式匹配到的行
grep[options]pattern[file...] - -v 显示不被pattern匹配到的行
- -i 忽略字符大小写
- -n 显示匹配的行号
- -c 统计匹配的行数
- -o 仅显示匹配到的字符串
- -E 使用ere,相当于egrep
- [options]还可以为正则
练习
- 先创建一个test.txt文件,输入内容
- 查找包含root的行
- 查找不包含root的行
- 查找以s开头的行
- 查找以n结尾的行
2. Shell
常见Shell-bash
Bash应用
- /bin/bash 告诉系统使用哪一种shell
- echo “hello” 让shell输入hello字符
- 搞一个windows上的虚拟机
- 新建一个tmp临时文件夹
mkdir 'tmp'
vim test.sh
#!/bin/bash
echo "helllo"
-
esc 退出编辑模式 :wq 写入保存 -
cat test.sh 打印文件 -
./test.sh 执行文件 提示权限不够 -
chmod +x test.sh 修改权限 -
重新执行 ./test…sh -
使用/bin/sh启动
|