linux命令-下部

 

作者:左婷婷

归档:学习笔记

2018/7/13

 

快捷键:

Ctrl + 1    标题1

Ctrl + 2    标题2

Ctrl + 3    标题3

Ctrl + 4    实例

Ctrl + 5    程序代码

Ctrl + 6    正文

格式说明:

蓝色字体:注释

×××背景:重要

绿色背景:注意


 

spacer.gif

老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结

学无止境,老男孩教育成就你人生的起点!

联系方式:

网站运维QQ交流群:

Linux  385168604

架构师 390642196

Python 29215534

大数据 421358633

官方网站:

http://www.oldboyedu.com


 

1.1 /data 移动到 /root目录下面... 1

1.2 进入/root目录下的data目录,删除oldboy.txt文件... 1

1.2.1 #如何备份?... 1

1.2.2 #修改文件名  重命名... 2

1.2.3 #强制删除文件... 2

1.2.4 #强制删除目录... 2

1.2.5 #find命令... 2

1.2.6 找出以.txt结尾的文件... 3

1.2.7 * 所有字符 任意字符... 3

1.3 接第6题,退出到上一级目录删除 data目录。(原来在/root/data. 4

1.3.1 cd  ..   进入当前目录的上一级目录... 4

1.3.2 cd  .    进入当前目录... 4

1.4 请给出输出test.txt文件内容时,不包含oldboy字符串的命令。. 4

1.4.1 方法1 -grep. 4

1.4.2 方法2 -head. 4

1.4.3 #方法3  awk. 5

1.4.4 #方法4  sed. 5

1.5 #9 请用一条命令完成创建目录/oldboy/test,即创建/oldboy目录及/oldboy/test 5

1.6 只查看ett.txt文件(共100行)内第20到第30行的内容... 6

1.6.1 #方法1 head +  tail 6

1.6.2 #方法2 sed 取行... 7

1.6.3 #方法3 awk. 8

1.7 总结:... 8

1.8 预习: 8

 

 

 

 

 


1.1 /data 移动到 /root目录下面

#move   mv

 

[root@oldboyedu50 ~]# mv  /data/ /root/   将data文件移到root文件下

[root@oldboyedu50 ~]# ls -l /data

ls: cannot access /data: No such file or directory       没有这个目录

[root@oldboyedu50 ~]# ls -l /root/

total 44

-rw-------. 1 root root  1124 Jul 10 18:25 anaconda-ks.cfg

drwxr-xr-x. 2 root root  4096 Jul 11 02:13 data

-rw-r--r--. 1 root root 21736 Jul 10 18:25 install.log

-rw-r--r--. 1 root root  5890 Jul 10 18:24 install.log.syslog

1.2  进入/root目录下的data目录,删除oldboy.txt文件

1.2.1 #如何备份?

[root@oldboyedu50 ~]# cd /root/data/

[root@oldboyedu50 data]# pwd

/root/data

[root@oldboyedu50 data]# ls -l

total 12

-rw-r--r--. 1 root root   7 Jul 11 02:13 alex.txt

-rw-r--r--. 1 root root  14 Jul 11 01:16 lidao.txt

-rw-r--r--. 1 root root 254 Jul 11 01:08 oldboy.txt

[root@oldboyedu50 data]# cp oldboy.txt  oldboy.txt.bak     备份

[root@oldboyedu50 data]# ls -l

total 16

-rw-r--r--. 1 root root   7 Jul 11 02:13 alex.txt

-rw-r--r--. 1 root root  14 Jul 11 01:16 lidao.txt

-rw-r--r--. 1 root root 254 Jul 11 01:08 oldboy.txt

-rw-r--r--. 1 root root 254 Jul 11 02:56 oldboy.txt.bak

 

 

.bak  === backup

1.2.2 #修改文件名  重命名

[root@oldboyedu50 data]# mv oldboy.txt  oldgirl.txt      将oldboy.txt文件改名为oldgirl.txt

[root@oldboyedu50 data]# ls -l

total 16

-rw-r--r--. 1 root root   7 Jul 11 02:13 alex.txt

-rw-r--r--. 1 root root  14 Jul 11 01:16 lidao.txt

-rw-r--r--. 1 root root 254 Jul 11 02:56 oldboy.txt.bak

-rw-r--r--. 1 root root 254 Jul 11 01:08 oldgirl.txt

1.2.3 #强制删除文件

[root@oldboyedu50 data]# rm  -f  /root/data/oldgirl.txt    强制删除文件

[root@oldboyedu50 data]# ls -l /root/data/

total 12  

-rw-r--r--. 1 root root   7 Jul 11 02:13 alex.txt

-rw-r--r--. 1 root root  14 Jul 11 01:16 lidao.txt

-rw-r--r--. 1 root root 254 Jul 11 02:56 oldboy.txt.bak

 

1.2.4 #强制删除目录

[root@oldboyedu50 data]# rm -rf  /tmp/data/      删除目录

[root@oldboyedu50 data]# ls -l /tmp/data

ls: cannot access /tmp/data: No such file or directory

 

rm -rf  /tmp/data/

rm -fr /tmp/data/

1.2.5 #find命令

[root@oldboyedu50 data]# #find 在×××  -类型  f   -名字 "oldboy.txt"

[root@oldboyedu50 data]#

[root@oldboyedu50 data]# find /root/     -type  f  -name  "oldboy.txt"

/root/oldboy.txt

 

-type 找什么类型的 f  file      (文件)

                   d  directory (目录)

-name "叫什么名字的"

1.2.6 找出以.txt结尾的文件

oldboy.txt lidao.txt alex.txt

[root@oldboyedu50 data]# find /root/     -type  f  -name  "*.txt"  找出以.txt结尾的所有文件

/root/oldboy.txt

/root/lidao.txt

/root/alex.txt

/root/data/lidao.txt

/root/data/alex.txt

[root@oldboyedu50 data]# #

1.2.7 * 所有字符 任意字符

[root@oldboyedu50 data]# find /root/     -type  f  -name  "*.txt"

/root/oldboy.txt

/root/lidao.txt

/root/alex.txt

/root/data/lidao.txt

/root/data/alex.txt

[root@oldboyedu50 data]# find /root/     -type  f  -name  "*.txt"|xargs ls -l find命令交给了管道xargs处理

-rw-r--r--. 1 root root  0 Jul 11 03:21 /root/alex.txt

-rw-r--r--. 1 root root  7 Jul 11 02:13 /root/data/alex.txt

-rw-r--r--. 1 root root 14 Jul 11 01:16 /root/data/lidao.txt

-rw-r--r--. 1 root root  0 Jul 11 03:21 /root/lidao.txt

-rw-r--r--. 1 root root  0 Jul 11 03:21 /root/oldboy.txt

 

find +|xargs 配合

||xargs区别

老男孩教育每日一题-2017518-说说|(管道)|xargs(管道xargs)的区别

https://blog.51cto.com/lidao/1927347

 

1.3 接第6题,退出到上一级目录删除 data目录。(原来在/root/data

1.3.1 cd ..   进入当前目录的上一级目录

1.3.2 cd .    进入当前目录

#移动xxxxx文件 到当前目录

#复制xxxxx文件 到当前目录

4.8 已知文件test.txt内容

test

lidao

oldboy

创建测试文件:

mkdir -p /data

cat >/data/test.txt<<EOF

test

liyao

oldboy

EOF

1.4 请给出输出test.txt文件内容时,不包含oldboy字符串的命令。

1.4.1 方法1 -grep

[root@oldboyedu50 data]# #grep 过滤 显示你要或不要的内容

[root@oldboyedu50 data]# grep  "oldboy"  /data/test.txt 找出oldboy

oldboy

[root@oldboyedu50 data]# grep -v "oldboy"  /data/test.txt   过滤oldboy

test

liyao

 

 

 

1.4.2 方法2 -head

[root@oldboyedu50 data]# head -n2 /data/test.txt   取出文件前两行

test

liyao

[root@oldboyedu50 data]# head -2 /data/test.txt –n2可以用2替换

test

liyao

#head 显示文件的前几行内容 默认显示前10

#tail 显示文件的最后几行内容 默认显示最后10

#显示文件最后一行

[root@oldboyedu50 data]# tail -1 /data/test.txt

oldboy

1.4.3 #方法3  awk

[root@oldboyedu50 data]# #awk

[root@oldboyedu50 data]# #gawk

[root@oldboyedu50 data]# awk '/oldboy/'  /data/test.txt

oldboy

[root@oldboyedu50 data]# awk '!/oldboy/'  /data/test.txt

test

liyao

 

1.4.4 #方法4  sed

[root@oldboyedu50 data]# sed '/oldboy/d'  /data/test.txt

test

liyao

[root@oldboyedu50 data]# #delete

 

小结:

1.grep 过滤

2.head tail

3.sed awk (了解)

 

1.5 #9 请用一条命令完成创建目录/oldboy/test,即创建/oldboy目录及/oldboy/test

 

[root@oldboyedu50 data]# mkdir -p  /oldboy/test   - p创建多层目录

[root@oldboyedu50 data]# ls /oldboy/

test

#-p 创建多层目录

 

1.6 只查看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

 

1.6.1 #方法1 head + tail 

root@oldboyedu50 data]# head -30 /data/ett.txt |tail     显示前30行

[root@oldboyedu50 data]# head -30 /data/ett.txt |tail -11      显示前三十行的最后十行

20

21

22

23

24

25

26

27

28

29

30

 

#显示文件的第3040

 

 head -40 /data/ett.txt |tail -11

 tail -11 /data/ett.txt

 

 

1.6.2 #方法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

 

 

1.6.3 #方法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

 

 

小结:

1.head+tail

2.sed

3.awk 

 

 

1.7 总结:

1.简单的命令

2.find +|xargs

3.三剑客 grep sed (过滤 取行)  awk 取行

 

1.8 预习:

1.sed替换

2.设置别名

linux基础优化:

1.添加用户

2.劫财劫色(iptables selinux)关闭

3.如何修改系统的字符集