内部ファイルまたはディレクトリをcpコピーして除外する方法(rsync –excludeと同等)

フォルダーを別の場所にコピーするコマンドについて言及するように依頼した場合、ほとんどの人が言及します cp.

さて、さらに、1つのファイルを除いて、そのフォルダのすべてのコンテンツをコピーする必要があると言うと、多くの人が考えたままになり、他の人が言及します rsync、次にパラメータを使用 –除外 Xファイルまたはフォルダーを除外して、コピーしないようにすることができます。 しかし... cpでもこれができることをご存知ですか? ..。 O_O …はい、友達、 cp 独自の「除外」heheがあります。

たとえば、フォルダがあります アイソス 含む: ubuntu.iso, debian.iso y アーチLinux.iso :

そして、他のフォルダにコピーしたい場合があります(ディストリビューション-deb、空)ファイル debian.iso y ubuntu.iso、つまり、archlinux.isoを除くすべて

このために、ファイルをコピーしてから別のファイルを手動でコピーすることもできますが、システムが提供するオプションを使用する方がはるかに賢明ですよね? …😀…たとえば、これを行うには:

cp isos/!(archlinux.iso) distros-deb/

そしてこれは、isosディレクトリに含まれるすべてのものをdistros-debにコピーするのに十分です。archlinux.isoを除くすべてのものを😉

しかし、これらの3つのファイルだけでなく、fedora.isoとchakra.isoもあるとします。同じことを実行したい場合は、コピーfedora.isoとchakra.isoからも除外されます。その方法を見てみましょう。

cp isos/!(archlinux.iso|fedora.iso|chakra.iso) distros-deb/

ご覧のとおり、いくつかのファイルまたはフォルダーは除外できます。パイプで区切るだけです(|)そして問題は解決しました😀

これは、cpがrsyncよりもすべてに優れているという意味ではありません...しかし、どちらも優れたツールです。たとえば、...パラメータを知っていましたか -u de cp? ...ふふ、確かにない😉

さて、これ以上追加するものはありません...これは興味深いヒントですか? 😀

よろしく


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   ジョシュ

    私はこの方法を知りませんでした、あなたはいつも何か新しいことを学びます。
    素晴らしいヒント、ありがとう。

    1.    KZKG ^我愛羅

      ありがとう

  2.   クロト

    先端がとても良いです、私はそれを知りませんでした! ArchとFedoraのユーザーにisoのheheを除外した理由を説明するだけです。

    1.    KZKG ^我愛羅

      JAJAJAJAJAJAこの例ではDebディストリビューションのみをコピーしようとしたため、ArchおよびFedoraISOを配置しませんでした…HAHAHAHAHA。

  3.   ヘクスボーグ

    ここで、いくつかの点を指摘する必要があります。 XNUMXつは、これはbashのextglobオプションが有効になっている場合にのみ機能することです。 そうでない場合は、次のコマンドでアクティブ化されます。

    shopt -s extglob

    .bashrcに入れて、常にアクティブにすることができます。

    もうXNUMXつのポイントは、このトリックはcpコマンドのオプションではありませんが、bashレベルで機能することです。 つまり、どのコマンドでも使用できます。 cpだけではありません。 次のように記述してテストを行うことができます。

    エコーファイル:isos /!(archlinux.iso | fedora.iso | chakra.iso)

    そうでなければ、それは非常に便利なトリックです。 cpの-uオプションとともに、これも時々役に立ちます。

    1.    ダニエルロハス

      確かに、それは通常の表現です

      1.    ヘクスボーグ

        これは実際には拡張パターンです。 正規表現は別のものですが、そのように見えます。 🙂

    2.    KZKG ^我愛羅

      はい、cpの-uは本当に興味深いものです。 私はrsyncの大ファンであることを認めます...しかし、私は知りません、私は貧しい警官ハハハに愛着を持っています。

      ショップのアクティベーションについては、私は知りませんでした。ヒントのおかげで、これは自動的に機能すると思いました。

      はい、私はそれがcpよりもBashに関係しているのではないかと思っていましたが、rmや猫などを作成しようとしたことはまだありませんでした:)

      コメントをありがとう、私は本当にします😀

      1.    ヘクスボーグ

        私のビットをすることは喜びです。 🙂

        1.    KZKG ^我愛羅

          実際、私は常に正規表現について学ぶことに興味を持っていました...あなたは興奮してそれについて初心者の投稿をしますか? 😀

          1.    ヘクスボーグ

            笑!! あなたはすでに私を持っています。 🙂コメントなしで私がどれほど幸せだったか…🙂

            まあ、真実は彼が私を呼んでいるということです。 🙂しかし、私はまだ少しそれについて考える必要があります。 説明するのは難しいようです。

            1.    KZKG ^我愛羅

              ハハハハハ何も心配しないでください、あなたはまだアハハハハを学んでいるとコメントし続けます、重要なことは共有することです😀


  4.   トゥファドリン

    非常に良いヒント新しいことを学ばずに寝ることは決してありません。

    1.    KZKG ^我愛羅

      正確に、そして何よりも、私はあなたが投稿に残したコメントで多くを学ぶことです、私は毎日奇妙なことを学ぶのが大好きですHAHAHA。

  5.   ギスカード

    良いトリック。 私は彼を知りませんでした🙂

    1.    KZKG ^我愛羅

      喜び😉

  6.   @jlcmax

    しかし、isosを置くときは、debian.iso ubuntu.iso /!(Etcなど)を置くことを意味しますか? 番号

  7.   ヒーバー

    確かに、それは非常に興味深いヒントであることが判明しました。 記事自体だけでなく、コメントの付加価値もあります。
    <ºLinuxの美しいコミュニティ

  8.   マルタデルポゾ

    あなたの助けは私には役に立たなかったので、あなたは例を挙げるべきです。そうすれば、学生はあなたの素晴らしいテクニックをよりよく理解することができます。
    時間を割いていただきありがとうございます、私はいつもこのページを心に覚えています

  9.   felipe016

    ディレクトリをスキップすると言いますが、例ではファイルのみをスキップします。特定のディレクトリをスキップする方法を知っていますか? よろしく。