cp在複製文件的時候被提示確認覆蓋

我們在常規使用cp命令的時候,如果目標位置已經有該文件,系統會詢問我們是否覆蓋目標文件,需要輸入y來確認。如果文件過多,可能覺得會很麻煩。

我們先來看一下原因:

sly@fskj-u-sly:~$ cp /var/tmp/test.txt /tmp
cp:是否覆蓋"/tmp/test.txt"? n
sly@fskj-u-sly:~$ alias cp
alias cp='cp -i'
sly@fskj-u-sly:~$ cp --help |grep -A 1 '\-\-interactive'
  -i, --interactive            prompt before overwrite (overrides a previous -n
                                  option)

我們可以看到,這個cp做了alias,而-i的意思是覆蓋前提示。所以我們可以用一下幾種方法跳過提示:

sly@fskj-u-sly:~$ \cp /var/tmp/test.txt /tmp        #1.命令前加反斜線可以忽略alias
sly@fskj-u-sly:~$ /bin/cp /var/tmp/test.txt /tmp  #2.使用命令的全路徑
sly@fskj-u-sly:~$ unalias cp                                    #3.先取消別名再複製(但不推薦這樣做)
sly@fskj-u-sly:~$ cp -n /var/tmp/test.txt /tmp


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章