Linux'ta “install” Komutunu Kullanarak Dosyaları Kopyalama

Bash'in Ubuntu Linux masaüstünde konsept sanatı
Fatmawati Achmad Zaenuri / Shutterstock.com

install Linux ve macOS'ta çok yönlü bir dosya kopyalama komutudur. Verimliliği arayan uzman kullanıcılar için mükemmeldir. Daha zor değil, nasıl daha akıllı çalışacağınızı keşfetmek için bu makaleyi okuyun.

Bekle — Yazılım Yüklemek İçin Değil mi?

install komutu, Linux komutlarından herhangi birinin en yanıltıcı adına sahip olabilir. Aslında herhangi bir yazılım yüklemez. Ubuntu'daki komut satırından veya başka bir Debian tabanlı dağıtımdan bir yazılım paketi yüklemeye çalışıyorsanız, apt-get Komut. Diğer Linux dağıtımlarında, bunun yerine Linux dağıtımınızın paket yönetimi aracını kullanın; örneğin, dnf Fedora'da veya zypper openSUSE üzerinde.

Peki kurulum ne işe yarar?

Kısaca install öğesindeki öğeleri birleştirir cp (Kopya), chown (sahibini değiştir), chmod (modu değiştir), mkdir (dizin oluştur) ve strip (şerit sembolleri) komutları. Tüm bunların işlevlerini tek bir işlemde kullanmanızı sağlar.

install komut şunları yapabilir:

  • Gibi dosyaları kopyala cp Komut.
  • Mevcut dosyaların üzerine yazılıp yazılmayacağını seçin.
  • Hedef dizini yoksa oluşturun, örneğin mkdir.
  • Dosyaların kullanıcı izin bayraklarını, chmod Komut.
  • Dosyaların sahibini, tıpkı chown Komut.
  • Gerekli olmayan bagajları, tıpkı strip Komut.

Tüm bu işlevlere rağmen, install komutunun üzerinde durmak için çok fazla seçeneği yok.

man sayfasını yükle

Ne Zaman Kullanırsınız

install komutu her gün kullanılmayacaktır. Yararlıdır, ancak yalnızca belirli durumlar için. Bir senaryo install kendi başına yazılım geliştirme geliyor. Yeni bir yardımcı program yaptığınızı varsayalım. Geliştirme ortamının dışında test yapmanız gerekir. Bunu yapmak için yeni program dosyalarını bir test dizinine kopyalamanız gerekir. Test dizininin oluşturulması gerekebilir ve dosyalar için doğru izinleri ve sahipliği ayarlamanız gerekir.

Geliştirme yinelemeli bir etkinlik olduğu için, bu eylem dizisini birçok kez yapabilirsiniz. install komutu tüm ağır kaldırma sizin için yapar. Son olarak, yeni yardımcı programınız dağıtılmaya hazır olduğunda şunu kullanabilirsiniz: install son çalışma yerine doğru izinlerle kopyalamak için.

Bir örnek

Bir programcı yeni bir yardımcı program üzerinde çalışıyor. ana. Yürütülebilir bir ikili dosya ve bir veritabanından oluşur. Testten sonra, /usr/local/bin Linux sisteminin tüm kullanıcıları için kullanılabilir hale getirmek. Örneğimizde, kullandığınız sırada bilgisayarınızda kullandığınız dosyalar ve yollar yerine dosya adlarını ve dizin yollarını değiştirmeniz gerekir install.

Serbest bırakılmaya hazır olana kadar, şu adlı bir dizinde test edilecektir: ~/test/ana. Üyeleri geek grubunun okuma ve yürütme izinleri olacaktır. Diğer kullanıcılar da okuma ve yürütme izinlerine sahip olacaktır. install komutu izinler için aynı sayısal temsili kullanır chmod yapar. Programcımız izinlerin şu şekilde ayarlanması gerektiğine karar verdi:

  • Sahip: Okuma, yazma ve yürütme.
  • Grup: Okuma ve yürütme.
  • Diğerleri: Yalnızca yürütme.

Nasıl Kullanılır install komuta

Kurgusal programcımızın çalışma dizini ~/work. Programı yazdı, derledi ve şu ikili programı üretti: ana. O zaten veritabanı dosyasını yarattı ana ile çalışır, Words.db. Böylece her iki dosya da teste hazırdır. Onlara bir göz atalım:

ls -l ana Words.db

ana Az önce yazdığı yardımcı program, komut satırında sağlanan bir cümlenin anagramlarını oluşturur. Doğrulama testi oldukça basittir.

iş dizinindeki ana hizmet programı testi

Programcı davet etti ana ve “bisküvi” ifadesi ile her şey iyi görünüyor. Şimdi bu iki dosyayı ~/test/ana dizini, yeni yardımcı programın geliştirme ortamından doğru şekilde çalışıp çalışmadığını görmek için kullanılır. Aşağıdaki komutu verir:

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

/ Test / ana komutunu yükle

Komut satırında kullanılan seçenekler:

  • D: Gerekirse üst dizinler de dahil olmak üzere dizinler oluşturun.
  • v: Ayrıntılı olarak, her dizini yapıldığı gibi ve her bir dosyayı kopyalandığı gibi listeleyin.
  • t: Hedef dizin.

Görebiliyoruz install oluşturur ~/test dizinini ve ardından ~/test/ana dizin. Dosyalar, hedef dizine kopyalandıkça tek tek listelenir.

İçindeki dosyaları listeleme ~/test/ana doğru kopyalandıklarını doğrular.

ls -l

/ test / ana dizininde ls

Bir sonraki adım, ana yardımcı programı ~/test/ana dizin.

/ test / ana dizinindeki ana hizmet programı testi

Yardımcı program beklendiği gibi çalışır, bu harika. Ancak, izinler doğru değil. Gereksinim grubun üyelerini ayarlamaktır geek okuma ve yürütme izinlerine sahip olmak ve diğer kullanıcıların yalnızca yürütmesini sağlamaktır.

Bu komutların her ikisini de aşağıdaki komutla oldukça basit bir şekilde çözebiliriz. Kullanımını not sudo komutu root izinleriyle çalıştırmak için. -o ve -g ve seçenekler bunu gerektirir. Komutu verdiğimizde şifremiz istenecektir.

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

yedekleme seçenekleri ve premisyon ayarları ile install komutu

  • -b (backup) seçeneği, dosyaların üzerine yazılmadan önce dosyaların yedeklerini oluşturur.
  • -S (sonek) seçeneği, yedekleme dosyalarının sonekini tanımlar. Bir son ek sunmazsanız ~ (tilde) kullanılır. Soruyoruz install son ekini kullanmak .bak.
  • Dosyanın sahibini dave kullanmak -o (sahip) seçeneği.
  • -g (grup) seçeneği bir grubun adını gerektirir. Bu dosyaların sahip grubu olur. Kullanacağımız grubun adı geek.
  • -m (mode) seçeneği, standartlar kullanılarak dosyalar için dosya modlarını ayarlar. chmod sayısal sözdizimi.

Artık -D (dizinler oluştur) seçeneğini tıklayın, çünkü test dizininin zaten var olduğunu biliyoruz. Ayrıca, -v (ayrıntılı) seçeneği. Dosyaları ~/test/ana dizini bize dosya ayrıntılarını gösterir:

ls -l

/ test / ana dizininde ls

Bu, tüm gereksinimlerimizin karşılandığını doğrular.

  • Dosyalar sınama dizinine kopyalandı.
  • İzinler doğru şekilde ayarlandı.
  • dave dosyaların sahibidir.
  • geek grup iki dosyanın sahibi grubudur.
  • Ana.bak ve Words.db.bak adlı her dosyanın yedek kopyaları oluşturulmuştur.

Tüm bunlara tek bir komut kullanılarak ulaşıldı. Temiz.

Programcımız yardımcı programda bazı son değişiklikleri yapar ve yeniden derler. Değişen dosyaların şuraya kopyalanması gerekir: ~/test/ana dizininden ~/work dizin. Bunu kullanarak -C (karşılaştır) seçeneği. Kaynak dosya ve hedef dosya aynı ise, kaynak dosya kopyalanmaz.

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

-C karşılaştırma seçeneği ile install komutu

Hedef dizindeki dosyaları listelemek bize ana dosya değişti. Daha büyük ana.bakdosya. Zaman damgası ana değişti. Bu değişikliklerin nedeni, dosyanın yeni sürümünün buraya kopyalanmış olmasıdır.

ls -l

ls in / test / ana ile test için ana yarar

Dosya boyutu ve zaman damgası Words.db dosya değişmedi. Üzerinde hiçbir değişiklik yapılmadı Words.db dosya, bu yüzden kopyalanmadı. Çok sayıda dosya içeren bir projede -C (karşılaştırma) seçeneği, yalnızca değiştirilen dosyaları kopyalayarak çok zaman ve sabit disk karmaşasından tasarruf edebilir.

Programcı tekrar test ana hizmet devam ediyor.

Kullanım zamanı install dosyaları /usr/local/bin dizin. Bu, yeni yardımcı programı bu Linux bilgisayarının tüm kullanıcıları için kullanılabilir hale getirecektir. Biz biliyoruz ki /usr/local/bin mevcut olduğundan, bu dizini oluşturmamız gerekmez. Son komutumuzun değiştirilmiş bir sürümünü kullanabiliriz.

Hedef dizini olarak değiştirdik /usr/local/bin. Kaldırdık -C (karşılaştırma) seçeneği, çünkü bu dosyaların hedef dizinde henüz bir kopyası olmadığından, karşılaştırılacak bir şey yoktur. Benzer şekilde, yedeklenecek bir şey yoktur, bu nedenle -b (yedekleme) seçeneği ve -S (sonek) seçeneği.

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

/ usr / local / bin dizinine kopyalanan dosyaları yükle

Dosyaların geldiğini listeleyebiliriz /usr/local/bin:

ls -l

ls / usr / local / bin

Son bir test olarak, dizini ana dizinimize değiştirelim ve yeni yardımcı programımızı oradan çağırabilir miyiz bakalım.

ana fayda testi

Önceden önsöz yapmamız gerekmediğini unutmayın. ana komuta etmek ./ yani onun /usr/local/bin. Görev tamamlandı.

Yüklemenin, dosyayı küçültmek için ikili dosya içindeki gereksiz sembol tablolarını ve diğer bagajları çıkarabildiğinden bahsettik. Şimdi yapalım. Aşağıdaki komutun Words.db içermediğini unutmayın. Bunun nedeni Words.db'nin ikili yürütülebilir bir veritabanı değil bir veritabanı dosyası olmasıdır. İkili dosyayı kopyalamak ve daraltmak için ana aşağıdaki komutu kullanabiliriz. -S (shrink) seçeneğini küçük harf “s” ile ekledik. -B (yedekleme) seçeneğine ve -S (sonek) seçeneğine büyük “S” harfiyle ekledik.

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

-s strip seçeneği ile kurulum seçeneği

İçindeki dosyaları listeleme /usr/local/bin bize boyutunu karşılaştırmak için izin verir ana yedek sürümü ile dosya. ana dosya önceki boyutunun neredeyse% 60'ına küçültüldü.

ls -l /usr/local/bin

iş dizininde ls

Özetle

The install Komut güzel niş bir kullanıma hitap eder. Birçok insan için gün ve gün, ya da muhtemelen aydan aya kullanılmaz. Buna rağmen, install komuta hileler hakkında bilgi sahibi olmak ve sahip olmak için iyi bir araçtır. İhtiyacınız olan durumlar için, öğrenme eğrisinizi verimlilik, basitlik ve daha az tuşa basma ile ödüllendirir.

LEAVE A REPLY

Please enter your comment!
Please enter your name here