三、linux基础命令

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:删除当前输入的命令

猜你喜欢

转载自www.cnblogs.com/dangjingwei/p/10596893.html