Linux基本命令练习(2)

1.已知/tmp目录下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让linux系统不提示是否覆盖(root权限下)。

这里写图片描述

两种方法
一种是在cp命令前加一个\
这里写图片描述

另一种是用cp命令的全路径
这里写图片描述

为什么直接用cp,会提示是否覆盖呢?
这就要关注alias了

alias cp='cp -i'

补充:
alias是设置指令的别名,我们可以看到cp是cp -i的别名。-i参数代表在目标文件已经存在,在覆盖时会先询问。

这里写图片描述

取消别名 unalias
这里写图片描述

那么,别名的作用:
(1)通过给危险的命令加一些保护参数,防止人为误操作。
(2)把很多复杂的字符串或命令变成一个简单的字符串。

系统别名的位置:
这里写图片描述

2.在脚本中删除文件或目录时生产环境的使用方法

①和xargs搭配用法

这里写图片描述

xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。
find 在/目录下查找文件
-type f 查找的类型为f(文件)
| (管道 ) : 通过管道把前一个命令的输出交给后一个命令继续处理

补充:
find 查找命令 -type f(文件) -name “名字”(按名字查找) -mtime (按修改时间查找)

[root@muban ~]# find /root/ -type f -name "*.log" -mtime -4

-4代表最近4天,+4代表4天以前,4代表第四天那一天
这里写图片描述

②使用find的-exec
这里写图片描述

{} : find找到的内容
-exec到 \ : 代表find额外动作的开始到结束
rm -f {} : 额外命令
; 是bash的特殊意义,就用反斜杠转义

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

生成ett文件 seq 100 >ett.txt

[root@muban ~]# seq 100 >ett.txt
[root@muban ~]# cat ett.txt
1
2
3
4
5
...
100

三种方法:

[root@muban ~]# head -30 ett.txt|tail -11
20
21
22
23
24
25
26
27
28
29
30

[root@muban ~]# sed -n 20,30p ett.txt
20
21
22
23
24
25
26
27
28
29
30

[root@muban ~]# awk '{if(NR>19 && NR<31)  print $0}' ett.txt
20
21
22
23
24
25
26
27
28
29
30

$0一行内容,print $0 就是把符合条件的内容打印出来
补充:
sed 取各种内容
-n 取消默认输出 p=print d=delete

head [-n] [文件名] :后面直接跟文件名,显示文件前十行。-n表示显示文件前n行。

tail [-nf] [文件名] :后面直接跟文件名,显示文件后十行。-n表示显示文件后n行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值