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