ラージビッグバナー(970x90)

Linux

cpコマンドで上書きメッセージが表示されて強制コピー出来ないときの対処

更新日:

ビッグバナー(piglog)728px

バックアップのスクリプトをcronで毎日実行しているがバックアップできていないという相談を受けて調べたときのメモ。

結論から言うと、
標準で設定されているaliasには気をつけましょう、ということとスクリプトに記載するコマンドはフルパスで記載しておくのが無難である、ということです。
開発の人から言わせると当たり前なのかもしれないが、インフラ周り(主に基盤しかみない人間が書いたのでそこまで確認できていなかったということにしときましょう。。。

確認したこと

実際にバックアップするコマンドはCPコマンドを使用していたのでコンソールでコマンドを実行してみる。そもそもcpじゃなくてtarだろ、というつっこみは無しで。
すると、上書きメッセージがでてきた。

なるほど、では強制でコピーできるオプションはないかと調べてみるとありました。

-f,--force コピー先に同名ファイルがあるときも警告せず,上書きを行う

これでやってみよう。

なぜ??
普段からlsコマンドを打つときに ll と打つのでもしかしてalias?と思って確認してみたところ、ありました。

-i,--interactive 上書きされるファイルがあるときは問い合わせする

気をつけるべきは、-f-i の両方がある場合は -i が優先される( -f を付けても意味がない)ということ。

ちなみに、aliasの設定は、以下のどちらかで回避できます。

  • コマンドをフルパスで指定する
  • コマンドの前に をつける(\cp -pr /hoge /foo)

フルパスは、which コマンドで確認できます。aliasも表示されるので便利ですね。

補足

標準で設定されているaliasはaliasコマンドで確認できます。
※以下はCentOS7.2で確認

レクタングル (大)

レクタングル (大)

リンクユニット(レスポンシブ)

-Linux
-, ,

Copyright© ぴぐろぐ , 2018 All Rights Reserved.