1.已知/tmp 目录下已经存放了test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp 下覆盖掉/tmp/test.txt,而让linux系统不提示是否覆盖
答:之所以会出现覆盖命令,我们用别名命令看一下,如图:alias,
常用的rm mv cp命令都用-i ,就是确认是否执行的意思,如果要去掉,有3中方法:
1)unalias 去掉系统中的别名(不推荐,因为企业中有很多人在使用,你方便了,但是别人不方便了)
2)加一个“\”斜线:\cp /tmp/test.txt /mnt/
3) 用命令完整路径,那么命令完整路径在哪呢?(汇报命令自己的位置)
which+命令
/bin/cp /tmp/test.txt /mnt/
2.我们通过man命令可以查看一下命令的使用方法,当看到BASH BUILTIN COMMANDS这个开头的字段,表示的是bash内置命令。
那么什么是bash内置命令,就是命令在执行的时候是不需要额外在开启进程的,直接在当前的bash进程上执行。
当我们在当前bash环境下执行bash内置命令,经过shell的一轮解析之后,发现这是个bash内置命令,于是直接在当前bash进程的内部调用执行它们。所以bash内置命令自身是没有进程的。
3.别名的作用:
1)通过给危险命令加一些保护参数,防止人为的误操作
2)通过别名,可以简化命令
3)其实我们可以自己加一些别名,唬人用也是不错的选择,自己的话,用全命令就可以了,哈哈哈
4)别名永久生效的方法:放在当前用户的.bashrc文件下或者etc/profile,因为直接放在alias上,重启机器就会失效。
4. find查询目录文件的命令:查找cat命令(一般命令就是文件)的位置
find / -type f -name "cat"
5.一般删除用rm -f会有问题,可以通过find命令实现
find / -type f -name test.txt -exec rm -f {} \;
将find查询的通过exec交给rm -f去执行,内容就是{}, 分号;是有bash意义的,用\斜杠进行转义
或者 find -type f -name "test.txt"|xargs rm -f
我认为xargs就是前一个命令的多行结果,才会用到,网友觉得呢。
6.查询五天前的记录test.txt并且删除掉
find -type f -name +mtime 5 "test.txt"|xargs rm -f
7.seq的用法:
类比 字符序列排序:
echo {a..k}
8.只查询ett.txt文件的内第20行到30行的内容
seq 100 >ett.txt
head -30 ett.txt | tail 11
因为有管道命令,所以效率低
set -n 20,30p ett.txt (-n 表示原样输出)
awk ‘{if (NR>20&&NR<30) print $0}‘ ett.txt
其中NR为awk变量参数
小结:sed 擅长行
awk 擅长列
9.把/oldboy目录及其子目录下所有以扩展名.sh结尾的文件包含./hostlist.txt的字符串全部替换为./idctest_iplist.
find /oldboy -type f -name ‘*.sh |xargs ‘ sed -i s#./hostlist.txt#./idctest_iplist#g
10.history 表示查询历史记录,!序列化 执行对应的命令
11.SecureSCR快捷键记录
1)ctrl+d:退出当前环境
2)ctrl+c:终止当前命令输出
3)ctrl+shift+c:复制
4)ctrl+shift+d:粘贴
5)ctrl+u:删除当前输入的命令
原文:https://www.cnblogs.com/dangjingwei/p/10596893.html