くれすのFreeBSD日記 このページをアンテナに追加 RSSフィード

只今建設中。。。

CressUnix.org

2008年08月11日(月)コマンドの差異を使いにくいと取るか

[] Linuxだと cp -n が使えない件 15:15  Linuxだと cp -n が使えない件 - くれすのFreeBSD日記 を含むブックマーク はてなブックマーク -  Linuxだと cp -n が使えない件 - くれすのFreeBSD日記

FreeBSDでは、 cp引数に -n をつけると、既にファイル存在したら上書きしないという意味になる。

ディレクトリの中身をまるごとコピーしつつ、既存のファイルを上書きしたくないというときに使う。 -i で常に n を選択しているのと一緒。

$ cp -pn foo/* bar/

しかし、Linuxではこのオプション自体が存在しない。

かなり回りくどいけど、以下のようにしてやる必要がある。

$ yes n | cp -ip foo/* bar/

ものすごくトリッキー

「上書きしますか?」の質問が鬱陶しいときは、標準出力を /dev/null にリダイレクトしちゃうと良いかもしれない。

トラックバック - http://freebsd.g.hatena.ne.jp/Cress/20080811