Cara Menyalin File Menggunakan Perintah "instal" di Linux

Diterbitkan: 2022-01-29
Konsep seni Bash di desktop Ubuntu Linux
Fatmawati Achmad Zaenuri/Shutterstock.com

install adalah perintah penyalinan file serbaguna di Linux dan macOS. Ini sempurna untuk pengguna daya yang mencari efisiensi. Baca artikel ini untuk mengetahui cara bekerja lebih cerdas—bukan lebih keras.

Tunggu—Bukan Untuk Menginstal Perangkat Lunak?

Perintah install mungkin memiliki nama yang paling menyesatkan dari semua perintah Linux. Itu tidak benar-benar menginstal perangkat lunak apa pun. Jika Anda mencoba menginstal paket perangkat lunak dari baris perintah di Ubuntu atau distribusi berbasis Debian lainnya, gunakan perintah apt-get . Pada distribusi Linux lainnya, gunakan alat manajemen paket distribusi Linux Anda—misalnya, dnf di Fedora atau zypper di openSUSE.

Jadi Apa yang Dilakukan Instal?

Singkatnya, install menggabungkan elemen dari perintah cp (salin), chown (ubah pemilik), chmod (ubah mode), mkdir (buat direktori), dan strip (simbol strip). Ini memungkinkan Anda menggunakan fungsi dari semua itu dalam satu tindakan tunggal.

Perintah install dapat:

  • Salin file seperti perintah cp .
  • Pilih apakah akan menimpa file yang ada.
  • Buat direktori target jika tidak ada, seperti mkdir .
  • Tetapkan flag izin pengguna dari file, seperti perintah chmod .
  • Atur pemilik file, seperti perintah chown .
  • Hapus bagasi yang tidak penting dari file yang dapat dieksekusi, seperti perintah strip .

Terlepas dari semua fungsi itu, perintah install tidak memiliki terlalu banyak opsi untuk dihadapi.

instal halaman manual

Kapan Anda Akan Menggunakannya?

Perintah install mungkin tidak akan digunakan setiap hari. Ini berguna, tetapi hanya untuk situasi tertentu. Satu skenario di mana install menjadi miliknya sendiri adalah pengembangan perangkat lunak. Katakanlah Anda sedang memprogram utilitas baru. Anda harus melakukan pengujian di luar lingkungan pengembangan. Untuk melakukan itu, Anda perlu menyalin file program baru ke direktori pengujian. Direktori pengujian mungkin perlu dibuat, dan Anda perlu mengatur izin dan kepemilikan yang benar untuk file tersebut.

Iklan

Karena pengembangan adalah aktivitas berulang, Anda dapat melakukan urutan tindakan ini berkali-kali. Perintah install melakukan semua pekerjaan berat untuk Anda. Terakhir, ketika utilitas baru Anda siap digunakan, Anda dapat menggunakan install untuk menyalinnya dengan izin yang benar ke lokasi kerja terakhirnya.

Sebuah contoh

Seorang programmer sedang mengerjakan utilitas baru seperti itu, yang disebut ana . Ini terdiri dari file biner yang dapat dieksekusi dan database. Setelah pengujian, itu harus disalin ke /usr/local/bin agar tersedia untuk semua pengguna sistem Linux. Anda harus mengganti nama file dan jalur direktori dalam contoh kami untuk file dan jalur yang Anda gunakan di komputer saat Anda menggunakan install .

Sampai siap untuk dirilis, itu akan diuji di direktori bernama ~/test/ana . Anggota grup geek akan memiliki izin membaca dan mengeksekusi. Pengguna lain juga akan membaca dan menjalankan izin. Perintah install menggunakan representasi numerik yang sama untuk izin seperti yang dilakukan chmod . Programmer kami telah memutuskan bahwa izin harus diatur ke:

  • Pemilik: Baca, tulis, dan jalankan.
  • Grup: Baca dan jalankan.
  • Lainnya: Jalankan saja.

Cara Menggunakan Perintah install

Direktori kerja programmer fiksi kami adalah ~/work . Dia telah menulis program, mengkompilasinya, dan menghasilkan biner yang disebut ana . Dia sudah membuat file database yang bekerja Words.db ana Jadi kedua file siap untuk pengujian. Mari kita lihat mereka:

 ls -l ana Words.db 

Utilitas ana yang baru saja dia tulis membuat anagram dari frasa yang disediakan di baris perintah. Pengujian verifikasi cukup mudah.

uji utilitas ana di direktori kerja

Programmer kami telah memanggil ana dengan frasa "biskuit" dan semuanya tampak baik-baik saja. Dia sekarang ingin menyalin dua file ini ke direktori ~/test/ana untuk melihat apakah utilitas baru berfungsi dengan benar jauh dari lingkungan pengembangan. Dia mengeluarkan perintah berikut:

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

Instal perintah ke /test/ana

Opsi yang digunakan pada baris perintah adalah:

  • D : Buat direktori, termasuk direktori induk, jika diperlukan.
  • v : Verbose, daftar setiap direktori saat dibuat dan setiap salinan file saat dijalankan.
  • t : Direktori sasaran.
Iklan

Kita dapat melihat bahwa install membuat direktori ~/test , dan kemudian membuat direktori ~/test/ana . File terdaftar satu per satu saat disalin ke direktori target.

Mencantumkan file di ~/test/ana mengonfirmasi bahwa mereka telah disalin dengan benar.

 ls -l 

ls di direktori /test/ana

Langkah selanjutnya adalah menguji utilitas ana dengan menjalankannya di direktori ~/test/ana .

uji utilitas ana di direktori /test/ana

Utilitas beroperasi seperti yang diharapkan, yang sangat bagus. Namun, izinnya tidak benar. Persyaratannya adalah menyetel anggota geek grup agar memiliki izin membaca dan mengeksekusi, dan pengguna lain hanya memiliki izin eksekusi.

Kami dapat mengatasi kedua masalah tersebut dengan cukup sederhana dengan perintah berikut. Perhatikan penggunaan sudo untuk menjalankan perintah dengan izin root. Opsi -o dan -g dan opsi memerlukan ini. Kami akan dimintai kata sandi ketika kami mengeluarkan perintah.

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

instal perintah dengan opsi pencadangan dan pengaturan premis

  • Opsi -b (cadangan) membuat cadangan file sebelum ditimpa.
  • Opsi -S (akhiran) menentukan akhiran untuk file cadangan. Jika Anda tidak memberikan akhiran ~ (tilde) digunakan. Kami meminta install untuk menggunakan akhiran .bak .
  • Kami mengatur pemilik file menjadi dave menggunakan opsi -o (pemilik).
  • Opsi -g (grup) memerlukan nama grup. Ini menjadi grup pemilik file. Grup yang akan kita gunakan disebut geek .
  • Opsi -m (mode) mengatur mode file untuk file, menggunakan sintaks numerik chmod standar.

Kita tidak perlu lagi menggunakan opsi -D (buat direktori), karena kita tahu direktori pengujian sudah ada. Kami juga menghilangkan opsi -v (verbose). Mencantumkan file di direktori ~/test/ana kami menunjukkan detail file kepada kami:

 ls -l 

ls di direktori /test/ana

Ini menegaskan bahwa semua persyaratan kami telah dipenuhi.

  • File telah disalin ke direktori pengujian.
  • Izin telah diatur dengan benar.
  • dave adalah pemilik file.
  • Grup geek adalah grup pemilik dari dua file.
  • Salinan cadangan telah dibuat untuk setiap file, yang disebut ana.bak dan Words.db.bak.
Iklan

Semua itu dicapai melalui penggunaan satu perintah. Rapi.

Programmer kami membuat beberapa perubahan terakhir pada utilitas dan mengkompilasi ulang. File yang telah diubah perlu disalin ke direktori ~/test/ana dari direktori ~/work . Kita dapat melakukan ini dengan menggunakan opsi -C (bandingkan). Jika file sumber dan file target sama, file sumber tidak akan disalin.

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

instal perintah dengan opsi -C bandingkan

Daftar file di direktori target menunjukkan kepada kita bahwa ukuran file dari file ana telah berubah. Ini lebih besar dari file ana.bak . Stempel waktu pada ana juga telah berubah. Perubahan ini karena versi baru file telah disalin di sini.

 ls -l 

ls di /test/ana dengan test untuk utilitas ana

Ukuran file dan stempel waktu file Words.db tidak berubah. Tidak ada perubahan yang dilakukan pada file Words.db , jadi file tersebut tidak disalin. Pada proyek dengan banyak file, opsi -C (bandingkan) dapat menghemat banyak waktu dan hard drive churn, dengan hanya menyalin file-file yang telah diubah.

Pemrogram kembali menguji bahwa utilitas ana terus beroperasi.

Saatnya menggunakan install untuk menyalin file ke /usr/local/bin . Ini akan membuat utilitas baru tersedia untuk semua pengguna komputer Linux ini. Kita tahu bahwa /usr/local/bin ada, jadi kita tidak perlu membuat direktori itu. Kita dapat menggunakan versi modifikasi dari perintah terakhir kita.

Iklan

Kami telah mengubah direktori target menjadi /usr/local/bin . Kami telah menghapus opsi -C (bandingkan) karena belum ada salinan file-file ini di direktori target, jadi tidak ada yang bisa dibandingkan. Demikian juga, tidak ada yang perlu dicadangkan, jadi kami dapat menghapus opsi -b (cadangan) dan opsi -S (akhiran).

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

instal menyalin file ke /usr/local/bin

Kami dapat mencantumkan bahwa file telah tiba di /usr/local/bin :

 ls -l 

ls dari /usr/local/bin

Dan sebagai tes terakhir, mari kita ubah direktori ke direktori home kita dan lihat apakah kita dapat memanggil utilitas baru kita dari sana.

tes utilitas ana

Perhatikan bahwa kita tidak perlu mengawali perintah ana dengan ./ yang artinya dijalankan dari /usr/local/bin . Misi selesai.

Kami menyebutkan bahwa instal dapat menghapus tabel simbol yang berlebihan dan bagasi lain dari dalam file biner, untuk mengurangi ukurannya. Ayo lakukan itu sekarang. Perhatikan bahwa perintah di bawah ini tidak termasuk Words.db. Ini karena Words.db adalah file database, bukan biner yang dapat dieksekusi. Untuk menyalin dan mengecilkan file biner ana kita dapat menggunakan perintah berikut. Kami telah menambahkan opsi -s (menyusut) dengan huruf kecil “s.” Kami telah menambahkan kembali opsi -b (cadangan) dan opsi -S (akhiran), dengan huruf besar “S.”

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

opsi instal dengan opsi strip -s

Iklan

Mencantumkan file di /usr/local/bin memungkinkan kita untuk membandingkan ukuran file ana dengan versi cadangannya. File ana telah dikurangi menjadi hampir 60% dari ukuran sebelumnya.

 ls -l /usr/local/bin 

ls di direktori kerja

Kesimpulan

Perintah install melayani penggunaan yang cukup khusus. Bagi banyak orang itu tidak akan digunakan hari demi hari, atau mungkin dari bulan ke bulan. Meskipun demikian, perintah install adalah alat yang baik untuk dikenal dan dimiliki di gudang trik Anda. Untuk saat-saat ketika Anda membutuhkannya, itu menghargai kurva belajar Anda dengan peningkatan efisiensi, kesederhanaan, dan penekanan tombol yang lebih sedikit.

TERKAIT: Laptop Linux Terbaik untuk Pengembang dan Penggemar