压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

centos linux 因別名問題引起的麻煩及解決技巧

  已知/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'

  這樣在Linux下輸入cp命令實際上運行的是cp -i,加上一個“\”符號或者寫cp全路徑/bin/cp就是讓此次的cp命令不使用別名(cp -i)運行。

  此處涉及到alias和unalias兩命令的用法,同時大家也想想別名的好處及怎么樣利用這個特性為我們服務。

  建議:抽時間總結alias和unalias兩命令的用法。

  學生解答及老師批改評價案例:

  提示:

  同樣命令還有mv、rm等。希望大家做事也能盡量的舉一反三,由此及彼,拓寬思路和視野。

  特別說明:腳本里直接寫命令也可以逃避別名,但是我們習慣還是用全路徑。例子:

  [root@oldboy test]# pwd

  /root/test

  [root@oldboy test]# ll

  total 8

  -rw-r–r– 1 root root2 Jun 19 10:51 oldboy.log

  -rwxr-xr-x 1 root root 54 Jun 19 10:51 test.sh

  [root@oldboy test]# cat test.sh

  cp oldboy.log /tmp

  rm oldboy.log

  mv /tmp/oldboy.log .

  [root@oldboy test]# sh test.sh

  [root@oldboy test]# sh -x test.sh

  + cp oldboy.log /tmp

  + rm oldboy.log

  + mv /tmp/oldboy.log .

  [root@oldboy test]# ll

  total 8

  -rw-r–r– 1 root root2 Jun 19 10:52 oldboy.log

  -rwxr-xr-x 1 root root 54 Jun 19 10:51 test.sh

  [root@oldboy test]# ll –full-time

  total 8

  -rw-r–r– 1 root root2 2012-06-19 10:52:25.000000000 +0800 oldboy.log

  -rwxr-xr-x 1 root root 54 2012-06-19 10:51:48.000000000 +0800 test.sh

  [root@oldboy test]# sh test.sh

  [root@oldboy test]# ll –full-time

  total 8

  -rw-r–r– 1 root root2 2012-06-19 10:52:41.000000000 +0800 oldboy.log

  -rwxr-xr-x 1 root root 54 2012-06-19 10:51:48.000000000 +0800 test.sh

 

上一篇:安卓防火墻 PS DroidWall

下一篇:vim使用技巧