要记住的符号:
>
2>>
2>&1
6.1 把 /data 移动到 /root 目录下面
- #move mv
- [root@oldboyedu50 ~]# mv /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
6.2 [管道的概念] 进入 / root 目录下的 data 目录, 删除 oldboy.txt 文件
实例 6-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
实例 6-2 #修改文件名 重命名
- [root@oldboyedu50 data]# mv 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
- 6.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
- 6.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/
- 6.5 #怎么样防止 误删除
- # 创建环境
- touch /root/oldboy.txt /root/alex.txt /root/lidao.txt
- 6.6 #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 "叫什么名字的"
- # 喜欢送 / root 以. txt 结尾的文件
oldboy.txt lidao.txt alex.txt
6.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]# # 所有字符 任意字符
- [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
6.8 管道
- [root@oldboyedu50 data]# find /root/ -type f -name ".txt"|xargs ls -l
- -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 区别
老男孩教育每日一题 - 2017 年 5 月 18 日 - 说说 |(管道)与 | xargs(管道 xargs)的区别
- http://blog.51cto.com/lidao/1927347
- #7 接第 6 题, 退出到上一级目录删除 data 目录.(原来在 / root/data)
cd .. 进入当前目录的上一级目录
cd . 进入当前目录
- # 移动 xxxxx 文件 到当前目录
- # 复制 xxxxx 文件 到当前目录
- [root@oldboy50 tmp]# cp /root/oldboy.txt .
cp: overwrite `./oldboy.txt'? y
- [root@oldboy50 tmp]# ls -l
- total 4
- -rw-r--r--. 1 root root 32 Jul 13 17:01 oldboy.txt
- -rw-------. 1 root root 0 Jul 11 16:19 yum.log
6.9 进入当前目录
- [root@oldboyedu50 /]# cd /root/data/
- [root@oldboyedu50 data]# pwd
- /root/data
- [root@oldboyedu50 data]# cp /root/oldboy.txt .
4.8 已知文件 test.txt 内容
- test
- lidao
- oldboy
创建测试文件:
- mkdir -p /data
- cat>/data/test.txt<<EOF
- test
- liyao
- oldboy
- EOF
6.10 请给出输出 test.txt 文件内容时, 不包含 oldboy 字符串的命令.
实例 6-3 方法 1 -grep
- [root@oldboyedu50 data]# #grep 过滤 显示你要或不要的内容
- [root@oldboyedu50 data]# grep "oldboy" /data/test.txt
- oldboy
- [root@oldboyedu50 data]# grep -v "oldboy" /data/test.txt
- test
- liyao
方法 2 -head
- [root@oldboyedu50 data]# head -n2 /data/test.txt
- test
- liyao
- [root@oldboyedu50 data]# head -2 /data/test.txt
- test
- liyao
- #head 显示文件的前几行内容 默认显示前 10 行
- #tail 显示文件的最后几行内容 默认显示最后 10 行
- 6.11 #显示文件最后一行
- [root@oldboyedu50 data]# tail -1 /data/test.txt
- oldboy
实例 6-4 #方法 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
实例 6-5 #方法 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 (了解)
- 6.12 #9 请用一条命令完成创建目录 / oldboy/test, 即创建 / oldboy 目录及 / oldboy/test
- [root@oldboyedu50 data]# mkdir -p /oldboy/test
- [root@oldboyedu50 data]# ls /oldboy/
- test
- #-p 创建多层目录
- 6.13 #11 只查看 ett.txt 文件 (共 100 行) 内第 20 到第 30 行的内容
- [root@oldboyedu50 data]# seq 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- seq 40>/data/ett.txt
实例 6-6 #方法 1 head + tail
- root@oldboyedu50 data]# head -30 /data/ett.txt |tail
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- [root@oldboyedu50 data]# head -30 /data/ett.txt |tail -11
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 6.14 #显示文件的第 30 到 40 行
重点命令:
- (1).head -40 /data/ett.txt |tail -11
- (2).tail -11 /data/ett.txt
实例 6-7 #方法 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
6.15 取 20 行到 30 行
- [root@oldboyedu50 data]# sed -n '20,30p' /data/ett.txt
实例 6-8 #方法 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
- mv
- [root@oldboy50 ~]# mv oldboy.txt oldgirl.txt
- [root@oldboy50 ~]# ls -l
- total 44
- -rw-------. 1 root root 1133 Jul 11 16:23 anaconda-ks.cfg
- -rw-r--r--. 1 root root 21736 Jul 11 16:23 install.log
- -rw-r--r--. 1 root root 5890 Jul 11 16:22 install.log.syslog
- -rw-r--r--. 1 root root 40 Jul 13 15:29 oldgirl.txt
6.16 如何备份?
cd 备份
6.17 rm 删除文件
rm -f 强制删除文件
rm -r 删除目录
rm -rf 强制 删除目录
rm -fr 强制 删除目录
注意
- [root@oldboyedu50 data]# #""'':.
- [root@oldboyedu50 data]# #""'': <<>> .
6.18 怎么样防止误删
创建环境
find 查找
- [root@oldboy50 ~]# find /root/ -type f -name "oldboy.txt"
- /root/oldboy.txt
- [root@oldboy50 ~]#
find 模糊查找
- [root@oldboy50 ~]# find /root/ -type f -name ".txt"
- /root/oldboy.txt
- /root/oldgirl.txt
-type 找什么类型
- f fire(文件)
- d directory (目录)
- -name (名字)
6.19 管道(防止误删)
- [root@oldboy50 ~]# find /root/ -type f -name ".txt"|xargs ls -l
- -rw-r--r--. 1 root root 0 Jul 13 15:56 /root/oldboy.txt
- -rw-r--r--. 1 root root 40 Jul 13 15:29 /root/oldgirl.txt
6.20 小结:
- head+tail
- sed
- awk
6.21 总结:
1. 简单的命令
2.find +|xargs
3. 三剑客 grep sed (过滤 取行) awk 取行 sed 替换
6.22 预习:
1.sed 替换
2. 设置别名
linux 基础优化:
1. 添加用户
2. 劫财劫色 (iptables selinux) 关闭
3. 如何修改系统的字符集
来源: http://www.bubuko.com/infodetail-2684394.html