フォルダーを別の場所にコピーするコマンドについて言及するように依頼した場合、ほとんどの人が言及します 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? ...ふふ、確かにない😉
さて、これ以上追加するものはありません...これは興味深いヒントですか? 😀
よろしく
私はこの方法を知りませんでした、あなたはいつも何か新しいことを学びます。
素晴らしいヒント、ありがとう。
ありがとう
先端がとても良いです、私はそれを知りませんでした! ArchとFedoraのユーザーにisoのheheを除外した理由を説明するだけです。
JAJAJAJAJAJAこの例ではDebディストリビューションのみをコピーしようとしたため、ArchおよびFedoraISOを配置しませんでした…HAHAHAHAHA。
ここで、いくつかの点を指摘する必要があります。 XNUMXつは、これはbashのextglobオプションが有効になっている場合にのみ機能することです。 そうでない場合は、次のコマンドでアクティブ化されます。
shopt -s extglob
.bashrcに入れて、常にアクティブにすることができます。
もうXNUMXつのポイントは、このトリックはcpコマンドのオプションではありませんが、bashレベルで機能することです。 つまり、どのコマンドでも使用できます。 cpだけではありません。 次のように記述してテストを行うことができます。
エコーファイル:isos /!(archlinux.iso | fedora.iso | chakra.iso)
そうでなければ、それは非常に便利なトリックです。 cpの-uオプションとともに、これも時々役に立ちます。
確かに、それは通常の表現です
これは実際には拡張パターンです。 正規表現は別のものですが、そのように見えます。 🙂
はい、cpの-uは本当に興味深いものです。 私はrsyncの大ファンであることを認めます...しかし、私は知りません、私は貧しい警官ハハハに愛着を持っています。
ショップのアクティベーションについては、私は知りませんでした。ヒントのおかげで、これは自動的に機能すると思いました。
はい、私はそれがcpよりもBashに関係しているのではないかと思っていましたが、rmや猫などを作成しようとしたことはまだありませんでした:)
コメントをありがとう、私は本当にします😀
私のビットをすることは喜びです。 🙂
実際、私は常に正規表現について学ぶことに興味を持っていました...あなたは興奮してそれについて初心者の投稿をしますか? 😀
笑!! あなたはすでに私を持っています。 🙂コメントなしで私がどれほど幸せだったか…🙂
まあ、真実は彼が私を呼んでいるということです。 🙂しかし、私はまだ少しそれについて考える必要があります。 説明するのは難しいようです。
ハハハハハ何も心配しないでください、あなたはまだアハハハハを学んでいるとコメントし続けます、重要なことは共有することです😀
非常に良いヒント新しいことを学ばずに寝ることは決してありません。
正確に、そして何よりも、私はあなたが投稿に残したコメントで多くを学ぶことです、私は毎日奇妙なことを学ぶのが大好きですHAHAHA。
良いトリック。 私は彼を知りませんでした🙂
喜び😉
しかし、isosを置くときは、debian.iso ubuntu.iso /!(Etcなど)を置くことを意味しますか? 番号
確かに、それは非常に興味深いヒントであることが判明しました。 記事自体だけでなく、コメントの付加価値もあります。
<ºLinuxの美しいコミュニティ
あなたの助けは私には役に立たなかったので、あなたは例を挙げるべきです。そうすれば、学生はあなたの素晴らしいテクニックをよりよく理解することができます。
時間を割いていただきありがとうございます、私はいつもこのページを心に覚えています
ディレクトリをスキップすると言いますが、例ではファイルのみをスキップします。特定のディレクトリをスキップする方法を知っていますか? よろしく。