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.
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.
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
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
Bir sonraki adım, ana
yardımcı programı ~/test/ana
dizin.
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
-
-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. Soruyoruzinstall
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
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
Hedef dizindeki dosyaları listelemek bize ana
dosya değişti. Daha büyük ana.bak
dosya. 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
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
Dosyaların geldiğini listeleyebiliriz /usr/local/bin
:
ls -l
Son bir test olarak, dizini ana dizinimize değiştirelim ve yeni yardımcı programımızı oradan çağırabilir miyiz bakalım.
Ö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
İç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
Ö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.