zoukankan      html  css  js  c++  java
  • centos linux 因别名问题引起的麻烦及解决技巧

    老男孩儿-19期 L005-13节中分享。自己整理后发到自己微博中留档。

    原文:http://oldboy.blog.51cto.com/2561410/699046

    实例:老男孩linux实战培训第9期(1022)入学考试题第10题:

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

    为了防止用户误操作,所以centos linux操作系统在设计时,默认执行cp的操作是调用了cp的别名(相当于执行cp -i)。所以提示覆盖。此题的思路就是要屏蔽掉系统别名。

    详细说明:

       cp命令默认是不会提示覆盖的,但是cp带-i参数执行时会提示,而Linux的起动文件~/.bashrc中会把cp命名成alias cp='cp -i' 如:

    [root@student tmp]# alias |grep cp

     

    alias cp='cp -i'

    实际测试(不过具体合不合规范还有深入学习后验证了,作为一个备选方法吧)

    [root@student tmp]# alias cp

    也同样会显示为alias cp='cp -i'

    这样在Linux下输入cp命令实际上运行的是cp -i,加上一个”“;符号或者写cp全路径/bin/cp就是让此次的cp命令不使用别名(cp -i)运行。

    此处涉及到alias和unalias两命令的用法,同时大家也想想别名的好处及怎么样利用这个特性为我们服务。

     一些特殊的方法:

    [root@moban ~]# alias rm='echo "rm does not allow to be exec"'

    此方法可以迷惑没用过此服务器的人,使用rm就会提示rm不可以被执行。

    自己使用时要在前面加根路径如/bin/rm 可以使用或者 m,具体看上面。不过此种方法服务器重启后失效,永久的话具体看上面。

    补充一下内容:

    比如经常需要执行一个长命令,那么可以用别名来定义。

    alias oldboy=‘cat etc/sysconfig/network-scripts/ifcfg-eth0’(查看网卡)

    此后输入oldboy就可以直接执行cat etc/sysconfig/network-scripts/ifcfg-eth0的命令了,十分方便。

  • 相关阅读:
    JavaScript设计模式
    《现代操作系统(中文第三版)》课后习题——第一章 绪论
    hadoop基础----hadoop理论(四)-----hadoop分布式并行计算模型MapReduce具体解释
    linux 改动rootpassword以及忘记rootpassword
    Android画图之抗锯齿 paint 和 Canvas 两种方式
    Rect参数的简易理解方式
    关于新建android项目时 appcompat_v7报错问题的一点总结
    关于seo优化的核心思想
    关于 android 读取当前手机号码
    关于 android 返回键 代码实现
  • 原文地址:https://www.cnblogs.com/lcrbg/p/5301501.html
Copyright © 2011-2022 走看看