Како копирати датотеке помоћу команде „инсталл“ на Линуку

инсталл је свестрана команда за копирање датотека у Линук-у и мацОС-у. Савршен је за напредне кориснике који траже ефикасност. Прочитајте овај чланак да бисте открили како да радите паметније, а не теже.

Сачекајте—није за инсталирање софтвера?

Наредба инсталл може имати најпогрешнији назив од било које од Линук команди. У ствари, не инсталира никакав софтвер. Ако покушавате да инсталирате софтверски пакет из командне линије у Убунту или другој дистрибуцији заснованој на Дебиан-у, користите команду апт-гет. У другим Линук дистрибуцијама, уместо тога користите алатку за управљање пакетима ваше Линук дистрибуције—на пример, днф на Федора или зиппер на опенСУСЕ.

Дакле, шта инсталација ради?

Укратко, инсталација комбинује елементе из цп-а (копија), цховн (промени власника), цхмод (промените режим), мкдир (направи именик), и стрип (тракасти симболи) команде. Омогућава вам да користите све функције у једној акцији.

Команда за инсталацију може:

Копирајте датотеке попут наредбе цп.
Одаберите да ли желите да препишете постојеће датотеке.
Креирајте циљни директоријум ако не постоји, као мкдир.
Подесите ознаке корисничких дозвола за датотеке, баш као и команда цхмод.
Подесите власника датотека, баш као команда цховн.
Уклоните небитни пртљаг из извршних датотека, баш као и команда стрип.

Упркос свој тој функционалности, команда за инсталацију такође нема много опција борити се са.

Када бисте га користили

Команда за инсталацију се вероватно неће користити сваки дан. То је корисно, али само у одређеним ситуацијама. Један сценарио где инсталација долази на своје место је развој софтвера. Рецимо да програмирате нови услужни програм. Мораћете да урадите тестирање ван развојног окружења. Да бисте то урадили, потребно је да копирате нове програмске датотеке у пробни директоријум. Пробни директоријум ће можда морати да буде креиран и потребно је да подесите исправне дозволе и власништво за датотеке.

Пошто је развој итеративна активност, можете завршити да урадите овај низ радњи много, много пута. Команда за инсталацију ради сав тежак посао уместо вас. Коначно, када ваш нови услужни програм буде спреман за примену, можете користити инсталл да га копирате са исправним дозволама на његову коначну радну локацију.

  7 Алати за мапирање токова вредности (ВСМ) за повећање ефикасности и продаје

Пример

Програмер ради управо на таквом новом услужном програму, који се зове ана. Састоји се од извршне бинарне датотеке и базе података. Након тестирања, мора се копирати у /уср/лоцал/бин да би био доступан свим корисницима Линук система. Мораћете да замените имена датотека и путање директоријума у ​​нашем примеру за датотеке и путање које користите на свом рачунару када користите инсталл.

Док не буде спреман за издавање, биће тестиран у директоријуму под називом ~/тест/ана. Чланови групе геек ће имати дозволе за читање и извршавање. Остали корисници ће такође имати дозволе за читање и извршавање. Команда инсталл користи исту нумеричку репрезентацију за дозволе као цхмод. Наш програмер је одлучио да дозволе морају бити подешене на:

Власник: Читање, писање и извршавање.
Група: Читање и извршавање.
Остало: Само изврши.

Како користити команду за инсталирање

Радни директоријум нашег измишљеног програмера је ~/ворк. Написао је програм, компајлирао га и произвео бинарни фајл који се зове ана. Већ је направио датотеку базе података са којом Ана ради, Вордс.дб. Дакле, обе датотеке су спремне за тестирање. Хајде да их погледамо:

ls -l ana Words.db

Услужни програм ана који је управо написао креира анаграме од фразе која се налази у командној линији. Тестирање верификације је прилично једноставно.

Наш програмер је позвао ана са фразом „кекс“ и све изгледа добро. Сада жели да копира ове две датотеке у директоријум ~/тест/ана да види да ли нови услужни програм исправно функционише ван развојног окружења. Он издаје следећу команду:

install -D -v ana Words.db -t ~/test/ana

Опције коришћене на командној линији су биле:

Д: Креирајте директоријуме, укључујући родитељске директоријуме, ако је потребно.
в: Опширно, наведите сваки директоријум како је направљен и сваку копију датотеке како се изводи.
т: Циљни директоријум.

Можемо видети да инсталл креира директоријум ~/тест, а затим креира директоријум ~/тест/ана. Датотеке су наведене једна по једна док се копирају у циљни директоријум.

Навођење датотека у ~/тест/ана потврђује да су исправно копиране.

ls -l

Следећи корак је да тестирате услужни програм ана тако што ћете га позвати у директоријуму ~/тест/ана.

Услужни програм ради како се очекује, што је одлично. Међутим, дозволе нису тачне. Услов је да се чланови групе геек подесе да имају дозволе за читање и извршавање, а да други корисници имају само извршавање.

  8 најбољих сајтова за стриминг спорта уживо

Оба ова питања можемо једноставно решити следећом командом. Обратите пажњу на употребу судо за покретање команде са роот дозволама. -о и -г и опције захтевају ово. Биће нам затражена лозинка када издамо команду.

sudo install -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana

Опција -б (резервна копија) прави резервне копије датотека пре него што буду преписане.
Опција -С (суфикс) дефинише суфикс за датотеке резервне копије. Ако не наведете суфикс, користи се ~ (тилда). Тражимо од инсталл да користи суфикс .бак.
Поставили смо власника датотеке да буде Даве користећи опцију -о (власник).
Опција -г (група) захтева име групе. Ово постаје власничка група датотека. Група коју ћемо користити зове се штребер.
Опција -м (моде) поставља режиме датотека за датотеке, користећи стандардну нумеричку синтаксу цхмод.

Више не морамо да користимо опцију -Д (креирај директоријуме), јер знамо да тестни директоријум већ постоји. Такође смо изоставили опцију -в (вербосе). Навођење датотека у нашем ~/тест/ана директоријуму показује нам детаље датотеке:

ls -l

Ово потврђује да су сви наши захтеви испуњени.

Датотеке су копиране у директоријум за тестирање.
Дозволе су исправно постављене.
даве је власник фајлова.
Група геек је власничка група две датотеке.
Направљене су резервне копије сваке датотеке, назване ана.бак и Вордс.дб.бак.

Све то је постигнуто употребом једне команде. Уредан.

Наш програмер прави неке коначне измене у услужном програму и поново компајлира. Датотеке које су промењене треба да се копирају у директоријум ~/тест/ана из директоријума ~/ворк. То можемо учинити коришћењем опције -Ц (упореди). Ако су изворна и циљна датотека исте, изворна датотека се не копира.

sudo install -C -b -S .bak -o dave -g geek -m 751 ana Words.db -t ~/test/ana

Навођење датотека у циљном директоријуму нам показује да се величина датотеке ана променила. Већи је од ана.бакфиле. Временска ознака на Ани се такође променила. Ове промене су зато што је нова верзија датотеке копирана овде.

ls -l

Величина датотеке и временска ознака датотеке Вордс.дб се нису променили. Нису направљене никакве измене у Вордс.дб датотеци, тако да није копирана. На пројекту са много датотека, опција -Ц (упореди) може уштедети много времена и одлив чврстог диска тако што ће копирати само оне датотеке које су промењене.

  Зашто је филм бољи од дигиталне фотографије: 6 разлога

Програмер је поново тестирао да услужни програм ана наставља да ради.

Време је да користите инсталл за копирање датотека у директоријум /уср/лоцал/бин. Ово ће нови услужни програм учинити доступним свим корисницима овог Линук рачунара. Знамо да /уср/лоцал/бин постоји, тако да не морамо да креирамо тај директоријум. Можемо користити модификовану верзију наше последње команде.

Променили смо циљни директоријум у /уср/лоцал/бин. Уклонили смо опцију -Ц (упореди) јер још увек нема копија ових датотека у циљном директоријуму, тако да нема шта да се пореди. Исто тако, нема ништа за прављење резервне копије, тако да можемо уклонити опцију -б (резервна) и -С (суфикс).

sudo install -o dave -g geek -m 751 ana Words.db -t /usr/local/bin

Можемо навести да су датотеке стигле у /уср/лоцал/бин:

ls -l

И као последњи тест, хајде да променимо директоријум у наш кућни директоријум и видимо да ли можемо да позовемо наш нови услужни програм одатле.

Имајте на уму да нисмо морали да уводимо команду ана са ./ што значи да се покреће из /уср/лоцал/бин. Мисија остварена.

Споменули смо да инсталација може уклонити сувишне табеле симбола и други пртљаг из бинарне датотеке, како би је смањила. Урадимо то сада. Имајте на уму да наредба у наставку не укључује Вордс.дб. То је зато што је Вордс.дб датотека базе података, а не бинарна извршна датотека. Да бисмо копирали и смањили бинарну датотеку ана, можемо користити следећу команду. Додали смо опцију -с (смањивање) са малим словима „с“. Поново смо додали опцију -б (резервна) и опцију -С (суфикс), са великим словима „С“.

sudo install -s -b -S .bak -o dave -g geek -m 751 ana -t /usr/local/bin

Навођење датотека у /уср/лоцал/бин омогућава нам да упоредимо величину ана датотеке са његовом верзијом резервне копије. Ана датотека је смањена на скоро 60% своје претходне величине.

ls -l /usr/local/bin

Укратко

Команда инсталл служи прилично ниској употреби. За многе људе неће се користити из дана у дан, или можда из месеца у месец. Упркос томе, команда за инсталацију је добар алат који треба да будете упознати и да имате у свом арсеналу трикова. За оне прилике када вам затреба, награђује вашу криву учења повећањем ефикасности, једноставности и једноставно мање притиска на тастере.