tag:crieit.net,2005:https://crieit.net/tags/cp%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/feed 「cpコマンド」の記事 - Crieit Crieitでタグ「cpコマンド」に投稿された最近の記事 2022-01-09T23:55:22+09:00 https://crieit.net/tags/cp%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/feed tag:crieit.net,2005:PublicArticle/17929 2022-01-09T23:55:22+09:00 2022-01-09T23:55:22+09:00 https://crieit.net/posts/centos-cp-interactive-evenif-force-20220109 cp コマンドで強制上書きする際に気を付けること <p>CentOS 系で cp コマンドで強制上書きをする際のメモです。</p> <h2 id="経緯"><a href="#%E7%B5%8C%E7%B7%AF">経緯</a></h2> <p>タイムゾーンを変更するために次のようなコマンドを実行しました。</p> <pre><code class="bash"># cp -pf /usr/share/zoneinfo/Japan /etc/localtime cp: overwrite `/etc/localtime'? </code></pre> <p>すると、 <code>-f</code> オプションで強制上書きするはずなのに上書きするかを聞かれてしまいました。</p> <h2 id="原因"><a href="#%E5%8E%9F%E5%9B%A0">原因</a></h2> <p>これは <code>cp</code> コマンドが <code>cp -i</code> のエイリアスとなっているため。</p> <p>つまり、デフォルトでインタラクティブ(対話式)になっているようです。そのため、仮に <code>-f</code> を付けても <code>-i</code> の方が優先され、上書きするか確認してくる、というわけです。</p> <h2 id="対処"><a href="#%E5%AF%BE%E5%87%A6">対処</a></h2> <p><code>cp</code> コマンドの頭に <code>\</code> を付けるとエイリアスが無効になるため、 <code>-i</code> が外れます。</p> <pre><code class="bash"># \cp -pf /usr/share/zoneinfo/Japan /etc/localtime </code></pre> <p>しばらく気付きませんでした……。</p> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/owlbeck/items/6752a6f1b3fb58d0cb17">CentOSのcpコマンドで強制的にファイルを上書きする - Qiita</a></li> <li><a target="_blank" rel="nofollow noopener" href="http://dotnsf.blog.jp/archives/2918928.html">Linux の cp コマンドで強制上書き : まだプログラマーですが何か?</a></li> <li><a target="_blank" rel="nofollow noopener" href="http://blog.livedoor.jp/harukisan7/archives/27306085.html">cp コマンドで強制上書きする時に気をつけること。 : リア充キラキラ系のnoteです。@kuromitsu_ka</a></li> </ul> arm-band