cp 提示 overwrite 问题

cp 提示 overwrite 问题
2009-11-11 17:03

copy -f 文件的时候仍然提示覆盖问题,很诧异,咨询SA,让 alias 一下,果然 cp -i 强制要求覆盖文件的时候确认,-f 也不起作用,大大的不爽

[root@erpappdev erp_bak]# alias
alias cp='cp -i'

alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

新建一个测试文件A test_cp.txt,弄点内容进去
[root@erpappdev erp_bak]# touch test_cp.txt
[root@erpappdev erp_bak]# ll >> test_cp.txt 
[root@erpappdev erp_bak]# cat test_cp.txt 
total 4
drwxr-xr-x 4 root root 4096 Nov 10 10:48 20091110
-rw-r--r-- 1 root root    0 Nov 11 16:34 test_cp.txt

新建测试目录和测试文件B test_cp.txt,空文件
[root@erpappdev erp_bak]# mkdir test
[root@erpappdev erp_bak]# ll
total 12
drwxr-xr-x 4 root root 4096 Nov 10 10:48 20091110
drwxr-xr-x 2 root root 4096 Nov 11 16:35 test
-rw-r--r-- 1 root root 111 Nov 11 16:34 test_cp.txt
[root@erpappdev erp_bak]# cd test
[root@erpappdev test]# ll
total 0
[root@erpappdev test]# touch test_cp.txt
[root@erpappdev test]# cd ..
[root@erpappdev erp_bak]# ll
total 12
drwxr-xr-x 4 root root 4096 Nov 10 10:48 20091110
drwxr-xr-x 2 root root 4096 Nov 11 16:35 test
-rw-r--r-- 1 root root 111 Nov 11 16:34 test_cp.txt

测试cp -f ,发现,仍然提示 overwrite
[root@erpappdev erp_bak]# cp -f test_cp.txt test/
cp: overwrite `test/test_cp.txt'? y

满头黑线……,不爽的去 unalias cp,虽然也能实现不提示覆盖,总是感觉怪怪的。

换一个方式 \cp -f,意外发现居然不提示了,嘿嘿:
[root@erpappdev erp_bak]# \cp -f test_cp.txt test/
[root@erpappdev erp_bak]# cd test
[root@erpappdev test]# cat test_cp.txt 
total 4
drwxr-xr-x 4 root root 4096 Nov 10 10:48 20091110
-rw-r--r-- 1 root root    0 Nov 11 16:34 test_cp.txt

SA后来又提供了一种方式绕过 overwrite 提示,直接调用/bin/cp,应该就没有别名的问题了:
[root@erpappdev erp_bak]# /bin/cp -f test_cp.txt test/

偶就是Linux的小菜鸟啊,啥时候才能厉害点呢

猜你喜欢

转载自mark-ztw.iteye.com/blog/980566
cp
今日推荐