Как да копирате файлове с помощта на командата install на Linux

Концептуално изкуство на Bash на работен плот на Ubuntu Linux

Фатмавати Ахмад Заенури/Shutterstock.com



|_+_| е универсална команда за копиране на файлове в Linux и macOS. Той е идеален за опитен потребител, който търси ефективност. Прочетете тази статия, за да разберете как да работите по-интелигентно, а не по-трудно.

Изчакайте – не е за инсталиране на софтуер?

|_+_| командата може да има най-подвеждащото име от която и да е от командите на Linux. Всъщност не инсталира никакъв софтуер. Ако се опитвате да инсталирате софтуерен пакет от командния ред в Ubuntu или друга базирана на Debian дистрибуция, използвайте |_+_| команда. В други дистрибуции на Linux използвайте вместо това инструмента за управление на пакети на вашата Linux дистрибуция — например |_+_| на Fedora или |_+_| на openSUSE.





И така, какво прави инсталирането?

Накратко |_+_| комбинира елементи от |_+_| ( копие ), install ( смени собственика ), install ( промяна на режима ), apt-get ( направи директория ), и |_+_| ( ленти символи ) команди. Позволява ви да използвате функции от всички в едно действие.

|_+_| командата може:



  • Копирайте файлове като |_+_| команда.
  • Изберете дали да презапишете съществуващите файлове.
  • Създайте целевата директория, ако тя не съществува, като |_+_|.
  • Задайте флаговете за потребителски разрешения на файловете, точно като |_+_| команда.
  • Задайте собственика на файловете, точно както |_+_| команда.
  • Премахнете несъществения багаж от изпълними файлове, точно като |_+_| команда.

Въпреки цялата тази функционалност, |_+_| команда също няма много опции да се бори с.

инсталирайте man страница

Кога бихте го използвали

|_+_| командата вероятно няма да се използва всеки ден. Полезно е, но само за определени ситуации. Един сценарий, при който |_+_| идва на свой ред е разработката на софтуер. Да приемем, че програмирате нова помощна програма. Ще трябва да направите тестване извън средата за разработка. За да направите това, трябва да копирате новите програмни файлове в тестова директория. Може да се наложи да се създаде тестовата директория и да зададете правилните разрешения и собственост за файловете.



Реклама

Тъй като разработването е итеративна дейност, в крайна сметка можете да извършите тази последователност от действия много, много пъти. |_+_| командата върши цялата тежест вместо вас. И накрая, когато новата ви помощна програма е готова за внедряване, можете да използвате |_+_| да го копирате с правилните разрешения до крайното му работно място.

Пример

Програмист работи точно върху такава нова помощна програма, наречена |_+_|. Състои се от изпълним двоичен файл и база данни. След тестване той трябва да бъде копиран в |_+_| за да го направи достъпен за всички потребители на системата Linux. Ще трябва да замените имената на файловете и пътищата към директорията в нашия пример за файловете и пътищата, които използвате на вашия компютър, когато използвате |_+_|.

Докато не е готов за пускане, той ще бъде тестван в директория, наречена |_+_|. Членове на |_+_| групата ще има разрешения за четене и изпълнение. Други потребители също ще имат разрешения за четене и изпълнение. |_+_| командата използва същото числово представяне за разрешения като |_+_| прави. Нашият програмист реши, че разрешенията трябва да бъдат настроени на:

  • Собственик: Четете, пишете и изпълнявайте.
  • Група: Прочетете и изпълнете.
  • Други: Изпълнявайте само.

Как да използвате |_+_| Команда

Работната директория на нашия измислен програмист е |_+_|. Той е написал програмата, компилира я и създаде двоичен файл, наречен |_+_|. Той вече създаде файла на базата данни, който |_+_| работи с, |_+_|. Така и двата файла са готови за тестване. Нека да ги разгледаме:

dnf

|_+_| Помощната програма, която току-що е написал, създава анаграми от фраза, предоставена в командния ред. Тестването за проверка е доста лесно.

тест на помощна програма в работната директория

Нашият програмист е извикал |_+_| с фразата бисквита и всичко изглежда добре. Сега той иска да копира тези два файла в |_+_| директория, за да видите дали новата помощна програма функционира правилно далеч от средата за разработка. Той издава следната команда:

zypper

Инсталирайте командата в /test/ana

Опциите, използвани в командния ред, бяха:

    д: Създайте директории, включително родителски директории, ако е необходимо. v: Подробно, избройте всяка директория, както е направена и всяко копие на файл, както се изпълнява. т: Целева директория.
Реклама

Можем да видим, че |_+_| създава |_+_| директория и след това създава |_+_| директория. Файловете са изброени един по един, докато се копират в целевата директория.

Изброяване на файловете в |_+_| потвърждава, че са копирани правилно.

install

ls в директорията /test/ana

Следващата стъпка е да тествате |_+_| помощна програма, като я извикате в |_+_| директория.

тест на помощната програма ana в директорията /test/ana

Помощната програма работи според очакванията, което е страхотно. Разрешенията обаче не са правилни. Изискването е да зададете членове на групата |_+_| да имат разрешения за четене и изпълнение, а други потребители да имат само изпълнение.

Можем да решим и двата проблема съвсем просто със следната команда. Обърнете внимание на използването на |_+_| за да изпълните командата с root права. |_+_| и |_+_| и опциите изискват това. Ще бъдем помолени за нашата парола, когато издадем командата.

cp

команда за инсталиране с опции за архивиране и настройки за предпоставки

  • |_+_| (backup) опцията създава резервни копия на файловете, преди те да бъдат презаписани.
  • |_+_| (suffix) опцията дефинира суфикса за архивните файлове. Ако не предоставите суфикс a |_+_| (тилда) се използва. Питаме |_+_| да се използва суфикс от |_+_|.
  • Задаваме собственика на файла да бъде |_+_| използвайки |_+_| опция (собственик).
  • |_+_| (група) опцията изисква името на група. Това става групата на собствениците на файловете. Групата, която ще използваме, се нарича |_+_|.
  • |_+_| Опцията (mode) задава файловите режими за файловете, използвайки стандартния |_+_| числов синтаксис.

Вече не е необходимо да използваме |_+_| (създайте директории), защото знаем, че тестовата директория вече съществува. Също така сме пропуснали |_+_| (подробна) опция. Изброяване на файловете в нашия |_+_| директория ни показва подробностите за файла:

chown

ls в директорията /test/ana

Това потвърждава, че всички наши изисквания са изпълнени.

  • Файловете са копирани в директорията за тестване.
  • Разрешенията са зададени правилно.
  • |_+_| е собственик на файловете.
  • |_+_| group е групата на собствениците на двата файла.
  • На всеки файл са направени резервни копия, наречени ana.bak и Words.db.bak.
Реклама

Всичко това беше постигнато чрез използването на една команда. чист.

Нашият програмист прави някои последни промени в помощната програма и компилира отново. Променените файлове трябва да бъдат копирани в |_+_| директория от |_+_| директория. Можем да направим това с помощта на |_+_| опция (сравнение). Ако изходният файл и целевият файл са еднакви, изходният файл не се копира.

chmod

команда за инсталиране с опция за сравнение -C

Изброяването на файловете в целевата директория ни показва, че размерът на файла на |_+_| файлът е променен. Той е по-голям от |_+_|файла. Печатът за време на |_+_| също се е променило. Тези промени са защото новата версия на файла е копирана тук.

mkdir

ls в /test/ana с помощната програма test fo ana

Размерът на файла и времевата марка на |_+_| файла не са променени. Не бяха направени промени в |_+_| файл, така че не е копиран. На проект с много файлове |_+_| Опцията (сравнение) може да спести много време и изтичане на твърдия диск, като копира само онези файлове, които са били променени.

Програмистът отново тества, че |_+_| услугата продължава да работи.

Време е да използвате |_+_| за да копирате файловете в |_+_| директория. Това ще направи новата помощна програма достъпна за всички потребители на този Linux компютър. Знаем, че |_+_| съществува, така че не е необходимо да създаваме тази директория. Можем да използваме модифицирана версия на последната ни команда.

Реклама

Променихме целевата директория на |_+_|. Премахнахме |_+_| опция (сравнение), защото все още няма копия на тези файлове в целевата директория, така че няма с какво да се сравнява. По същия начин няма нищо за архивиране, така че можем да премахнем |_+_| (резервно) опция и |_+_| (суфикс) опция.

strip

инсталирайте копиращи файлове в /usr/local/bin

Можем да изброим, че файловете са пристигнали в |_+_|:

install

ls на /usr/local/bin

И като последен тест нека променим директорията към нашата домашна директория и да видим дали можем да извикаме новата си помощна програма от там.

тест за полезност

Обърнете внимание, че не е необходимо да предваряме |_+_| команда с |_+_| което означава, че се изпълнява от |_+_|. Мисията изпълнена.

Споменахме, че инсталацията може да премахне излишните таблици със символи и друг багаж от двоичния файл, за да го намали по размер. Нека направим това сега. Имайте предвид, че командата по-долу не включва Words.db. Това е така, защото Words.db е файл на база данни, а не двоичен изпълним файл. За да копирате и свиете двоичния файл |_+_| можем да използваме следната команда. Добавихме опцията -s (свиване) с малка буква s. Добавихме отново опцията -b (резервно) и опцията -S (суфикс), с главни букви S.

cp

опция за инсталиране с опция за -s лента

Реклама

Изброяване на файловете в |_+_| ни позволява да сравним размера на |_+_| файл с неговата резервна версия. |_+_| файл е намален до почти 60% от предишния си размер.

mkdir

Намира се в работната директория

В обобщение

|_+_| команда обслужва доста нишова употреба. За много хора той няма да се използва ден след ден или евентуално от месец на месец. Въпреки това |_+_| командата е добър инструмент, с който да сте запознати и да имате в арсенала си от трикове. За случаите, когато имате нужда от него, той възнаграждава вашата крива на обучение с повишена ефективност, простота и просто по-малко натискания на клавиши.

Linux команди
Файлове катран · pv · котка · такт · chmod · сцепление · разл · sed · С · човек · pushd · popd · fsck · тестов диск · сек · fd · пандока · CD · $PATH · awk · присъединяване · jq · сгънете · уникален · journalctl · опашка · състояние · ls · fstab · изхвърли · по-малко · chgrp · chown · rev · виж · струни · Тип · преименувайте · цип · разархивирайте · монтиране · umount · Инсталирай · fdisk · mkfs · rm · rmdir · rsync · df · gpg · ние · нано · mkdir · от · вътрешен · кръпка · преобразувам · rclone · накъсайте · SRM
процеси псевдоним · екран · връх · хубаво · renice · напредък · strace · система · tmux · chsh · история · в · партида · Безплатно · който · dmesg · потребителски мод · п.с · chroot · xargs · tty · мизичко · lsof · vmstat · изчакване · стена · да · убиват · сън · sudo · неговата · време · groupadd · потребителски мод · групи · lshw · изключвам · рестартирайте · Спри се · изключване · passwd · lscpu · crontab · дата · bg · fg
Работа в мрежа netstat · пинг · трасиране · ip · ss · кой е · fail2ban · bmon · Вие · пръст на ръката · nmap · ftp · къдрица · wget · Кой · кой съм аз · В · iptables · ssh-keygen · ufw

СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила на Дейв Маккей Дейв Маккей
Дейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография

Интересни Статии