Якби я попросив вас згадати команду для копіювання папки в інше місце, майже всі б згадали cp.
Тепер, якщо я скажу вам, що, крім того, ви повинні скопіювати весь вміст цієї папки, крім 1 файлу, багато хто залишиться замислюватися, а інші згадають rsync, то з параметром –Виключити Ви можете виключити файл або папку X і не копіювати їх. Але ... ви знали, що cp також дозволяє вам це робити? ... O_O ... Так, друзі, cp має своє "виключити" хе-хе.
Наприклад, у нас є папка isos що містить: ubuntu.iso, debian.iso y archlinux.iso :
І трапляється, що ми хочемо скопіювати в іншу папку (дистрос-деб, який порожній) файл 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
JAJAJAJAJAJAJA Я не ставив ISO Arch та Fedora, оскільки приклад намагався скопіювати лише дистрибутиви Deb ... HAHAHAHAHA.
Тут ми повинні сказати пару пунктів. Одне з них полягає в тому, що це працює лише в тому випадку, якщо увімкнено опцію extglob башу. Якщо це не так, це активується за допомогою цієї команди:
shopt -s extglob
Його можна помістити в .bashrc, щоб завжди активувати.
Інший момент полягає в тому, що цей трюк не є можливістю команди cp, але він працює на рівні bash. Що означає, що його можна використовувати з будь-якою командою. Не тільки з cp. Ви можете зробити тест, написавши:
echo Файли: isos /! (archlinux.iso | fedora.iso | chakra.iso)
В іншому випадку це дуже корисний фокус. Поряд з опцією -u для cp, що я також час від часу вважаю корисною.
Звичайно, це регулярний вираз
Це насправді розширений шаблон. Регулярний вираз - це щось інше, але схоже на це. 🙂
Так, -u в cp справді цікавий. Я визнаю, що я великий шанувальник rsync ... але я не знаю, у мене є прихильність до бідного cp ха-ха-ха.
Про активацію shopt я не знав, я припускав, що це спрацювало автоматично, дякую за підказку.
І так, я підозрював, що це більше пов’язано з Башем, ніж cp, але я ще не пробував зробити rm, кота чи щось подібне :)
Дякую за коментар, я справді 😀
З задоволенням зробити свою справу. 🙂
Насправді, мені завжди було цікаво дізнатись про регулярні вислови ... ти захоплюєшся та робиш про це новинку? 😀
ЛОЛ!! Ви мене вже маєте. 🙂 З тим, як я був щасливим без коментарів ... 🙂
Ну, правда в тому, що він телефонує мені. 🙂 Але мені все-таки доведеться трохи подумати над цим. Здається, це важко пояснити.
ха-ха-ха-ха, нічого не хвилюйся, ти продовжуєш коментувати, що все одно вчишся аха-ха-ха, головне поділитися
Дуже хороша порада Ви ніколи не ляжете спати, не дізнавшись чогось нового.
Точно, і найкраще з усіх полягає в тому, що я багато чому навчуся з коментарями, які ви залишаєте на публікаціях, я люблю вчитися дивні речі щодня HAHAHA.
Хороший фокус. Я його не знав 🙂
Задоволення 😉
Але коли ви ставите isos, ви маєте на увазі поставити debian.iso ubuntu.iso /! (Etc тощо)? ні
Справді, це виявилося дуже цікавою підказкою. Не лише для самої статті, але й для доданої вартості коментарів.
Прекрасна спільнота <º Linux
Ваша допомога мені не принесла користі, ви повинні навести приклад, щоб студенти могли краще зрозуміти вашу чудову техніку.
Дякую, що знайшли час, я завжди пам’ятатиму цю сторінку своїм серцем
ви говорите, що пропускаєте каталоги, однак у прикладах ви пропускаєте лише файли, чи знаєте ви, як пропустити певний каталог? З повагою.