day5命令-初识三剑客
2018-07-16 11:02
232 查看
上周五学习的课程 周六周日半学半玩 也没弄
下午要讲新课了 说一下上周五学的
移动 mv
把/data 移动到 /root目录下面
mv /data/ /root/ 移动之后以后源文件不存在
mv 修改文件名 重命名
mv oldboy.txt oldgirl.txt 把oldboy.txt 修改为 oldgirl.txt
备份文件 cp
cp 进入要改文件的目录
cp oldboy.txt oldboy.txt.bak
删除目录 rm
rm -rf /data
-f 强制删除 -r递归删除
最好把-rf 放在最后 以免误删
rm /data -rf
find 命令
查找出 root 中 名字是 oldboy.txt的文件
find /root -type f -name "oldboy.txt"
查找 root 格式 普通文件 名字为 xxxxxx
查找出root下 所有结尾为 .txt 的文件 并详细显示出来
[b]find /root -type f -name "*.txt" |xargs ls -l [/b]
[b]find 接管道的时候 后面要加xargs |xargs 固定格式[/b]
cd
cd.. 进入上一级目录
cd. 进入当前目录
grep 过滤
先创建环境
mkdir -p /data
cat >/data/test.txt<<EOF
test
liyao
oldboy
EOF
请给出输出test.txt文件内容时,不包含oldboy字符串的命令。
方法1
grep -v "oldboy" /data/test.txt
-v参数 反选
方法2
[root@oldboyedu50 data]# head -n2 /data/test.txt
test
liyao
[root@oldboyedu50 data]# head -2 /data/test.txt
test
liyao
#head 显示文件的前几行内容 默认显示前10行
#tail 显示文件的最后几行内容 默认显示最后10行
#显示文件最后一行
[root@oldboyedu50 data]# tail -1 /data/test.txt
oldboy
-n几 显示几行 也可以省略n 直接 -几
方法3 awk
[root@oldboyedu50 data]# awk '/oldboy/' /data/test.txt 取带有 oldboy 的行
oldboy
[root@oldboyedu50 data]# awk '!/oldboy/' /data/test.txt 不显示[b]带有 oldboy 的行 !反选 [/b]
test
liyao
方法4 sed
[root@oldboyedu50 data]# sed '/oldboy/d' /data/test.txt 取不带有oldboy的行 加d 反选
test
liyao
sed 加d 反选 跟grep -v awk加! 一个性质
请用一条命令创建目录 /oldboy/test
mkdir -p /oldboy/test
-p 创建多层目录
只查看ett.txt文件(共100行)内第20到第30行的内容
[root@oldboyedu50 data]# seq 10 显示1-10行
1
2
3
4
5
6
7
8
9
10
seq 40 >/data/ett.txt 显示40行 追加到文件中
#方法1 head + tail
[root@oldboyedu50 data]# head -30 /data/ett.txt |tail -11 [b]先取头30行 然后取后11行 head或tail不加-几时 默认前十或后十行[/b]
20
21
22
23
24
25
26
27
28
29
30
#显示文件的第30到40行
head -40 /data/ett.txt |tail -11
tail -11 /data/ett.txt
#方法2 sed 取行
[root@oldboyedu50 data]# sed -n '3p' /data/ett.txt
3
#-n 取消默认输出(sed命令不会把文件内容都显示出来)
[root@oldboyedu50 data]# sed -n '3p' /data/ett.txt
3
#print
[root@oldboyedu50 data]# sed -n '20p' /data/ett.txt
20
[root@oldboyedu50 data]# sed -n '20,30p' /data/ett.txt
20
21
22
23
24
25
26
27
28
29
30
#方法3 awk
[root@oldboyedu50 data]# awk 'NR==3' /data/ett.txt
3
[root@oldboyedu50 data]# # 'NR行号 等于 3'
[root@oldboyedu50 data]# awk 'NR==20,NR==30' /data/ett.txt
20
21
22
23
24
25
26
27
28
29
30
周五主要讲了 三剑客如何取行 和一些参数 简单总结一下
awk
awk '!/xxxx/' /data
! 反选
'NR==10' 取行
sed
sed 加d 反选
-n 取消默认输出
3p 取第三行
grep
grep -v 反选
head 默认显示前十行
tail 默认显示后十行
下午要讲新课了 说一下上周五学的
移动 mv
把/data 移动到 /root目录下面
mv /data/ /root/ 移动之后以后源文件不存在
mv 修改文件名 重命名
mv oldboy.txt oldgirl.txt 把oldboy.txt 修改为 oldgirl.txt
备份文件 cp
cp 进入要改文件的目录
cp oldboy.txt oldboy.txt.bak
删除目录 rm
rm -rf /data
-f 强制删除 -r递归删除
最好把-rf 放在最后 以免误删
rm /data -rf
find 命令
查找出 root 中 名字是 oldboy.txt的文件
find /root -type f -name "oldboy.txt"
查找 root 格式 普通文件 名字为 xxxxxx
查找出root下 所有结尾为 .txt 的文件 并详细显示出来
[b]find /root -type f -name "*.txt" |xargs ls -l [/b]
[b]find 接管道的时候 后面要加xargs |xargs 固定格式[/b]
cd
cd.. 进入上一级目录
cd. 进入当前目录
grep 过滤
先创建环境
mkdir -p /data
cat >/data/test.txt<<EOF
test
liyao
oldboy
EOF
请给出输出test.txt文件内容时,不包含oldboy字符串的命令。
方法1
grep -v "oldboy" /data/test.txt
-v参数 反选
方法2
[root@oldboyedu50 data]# head -n2 /data/test.txt
test
liyao
[root@oldboyedu50 data]# head -2 /data/test.txt
test
liyao
#head 显示文件的前几行内容 默认显示前10行
#tail 显示文件的最后几行内容 默认显示最后10行
#显示文件最后一行
[root@oldboyedu50 data]# tail -1 /data/test.txt
oldboy
-n几 显示几行 也可以省略n 直接 -几
方法3 awk
[root@oldboyedu50 data]# awk '/oldboy/' /data/test.txt 取带有 oldboy 的行
oldboy
[root@oldboyedu50 data]# awk '!/oldboy/' /data/test.txt 不显示[b]带有 oldboy 的行 !反选 [/b]
test
liyao
方法4 sed
[root@oldboyedu50 data]# sed '/oldboy/d' /data/test.txt 取不带有oldboy的行 加d 反选
test
liyao
sed 加d 反选 跟grep -v awk加! 一个性质
请用一条命令创建目录 /oldboy/test
mkdir -p /oldboy/test
-p 创建多层目录
只查看ett.txt文件(共100行)内第20到第30行的内容
[root@oldboyedu50 data]# seq 10 显示1-10行
1
2
3
4
5
6
7
8
9
10
seq 40 >/data/ett.txt 显示40行 追加到文件中
#方法1 head + tail
[root@oldboyedu50 data]# head -30 /data/ett.txt |tail -11 [b]先取头30行 然后取后11行 head或tail不加-几时 默认前十或后十行[/b]
20
21
22
23
24
25
26
27
28
29
30
#显示文件的第30到40行
head -40 /data/ett.txt |tail -11
tail -11 /data/ett.txt
#方法2 sed 取行
[root@oldboyedu50 data]# sed -n '3p' /data/ett.txt
3
#-n 取消默认输出(sed命令不会把文件内容都显示出来)
[root@oldboyedu50 data]# sed -n '3p' /data/ett.txt
3
[root@oldboyedu50 data]# sed -n '20p' /data/ett.txt
20
[root@oldboyedu50 data]# sed -n '20,30p' /data/ett.txt
20
21
22
23
24
25
26
27
28
29
30
#方法3 awk
[root@oldboyedu50 data]# awk 'NR==3' /data/ett.txt
3
[root@oldboyedu50 data]# # 'NR行号 等于 3'
[root@oldboyedu50 data]# awk 'NR==20,NR==30' /data/ett.txt
20
21
22
23
24
25
26
27
28
29
30
周五主要讲了 三剑客如何取行 和一些参数 简单总结一下
awk
awk '!/xxxx/' /data
! 反选
'NR==10' 取行
sed
sed 加d 反选
-n 取消默认输出
3p 取第三行
grep
grep -v 反选
head 默认显示前十行
tail 默认显示后十行
相关文章推荐
- Linux 目录初识及常用命令
- 关于历史命令和一些简单的快捷键的初识;以及man帮助
- Linux 目录初识及常用命令
- 文本处理三剑客之sed命令
- 初识linux 命令(一)
- linux学习第二篇:初识linux简单命令
- 初识Linux--Linux常用的命令小结
- Linux学习之CentOS(二)--初识linux的一些常用命令
- git学习------>git-rev-parse命令初识
- CentOS(二)--初识linux的一些常用命令
- 【ENSP】之 交换机 初识(命令)
- 初识gdb: 一些命令
- linux初识-02常用命令
- css_day5---初识div+css
- 初识redis之常用Set和ZSet命令
- git初识和常用命令
- Linux学习之CentOS(二)--初识linux的一些常用命令
- Linux基础知识之——初识命令
- 初识 Mac机子 关机命令
- linux 三剑客命令(grep,sed ,awk)