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就是前一个命令的多行结果,才会用到,网友觉得呢。
原文地址:https://www.cnblogs.com/dangjingwei/p/10596893.html