Di bawah Windows, sebagian besar aplikasi dan data aplikasi disimpan dalam direktori khusus yang dikenal sebagai C:\Program Files
(dan kadang-kadang C:\Program Files (x86)
). Apa yang setara dengan Ubuntu / Linux untuk jalur ini? Apakah ada satu?
Di bawah Windows, sebagian besar aplikasi dan data aplikasi disimpan dalam direktori khusus yang dikenal sebagai C:\Program Files
(dan kadang-kadang C:\Program Files (x86)
). Apa yang setara dengan Ubuntu / Linux untuk jalur ini? Apakah ada satu?
Jawaban:
/bin
dan di /usr/bin
sinilah skrip memulai program. Setara langsung dari "Program Files" mungkin /usr/share
( lihat Filesystem Hierarchy Standard ). Direktori itu berisi berbagai file dukungan untuk sebagian besar program.
Namun, mungkin tidak ada padanan langsung, karena, misalnya, file perpustakaan dibagi di seluruh sistem (dalam /lib
) dan opsi ditentukan oleh pengguna (dalam direktori home pengguna) atau secara universal terletak di /etc
.
Jadi menginstal program melalui file deb, repositori, atau build kemungkinan akan menempatkan file di semua lokasi ini.
[EDIT] Dan seperti orang lain dicatat, ada juga /sbin
dan /usr/sbin
. Plus /usr/local/bin
, /opt/bin
dan bahkan /usr/games/
. Jadi jelas bukan perbandingan langsung c:\program files
!
/opt
? Saya telah melihat bahwa memegang banyak (biasanya sumber tertutup atau aplikasi berbasis) program sebelumnya dalam cara yang mirip dengan Program Files
.
/opt
direktori itu.
/usr/local/bin
adalah lokasi semi-umum untuk perangkat lunak yang mungkin tidak umum digunakan oleh pengguna / perusahaan.
Jawaban Terlambat - Saya telah membuat peta jalan untuk diikuti oleh pemula. Jika mereka mencari file tetapi tidak tahu ke mana harus mencari, mereka dapat menggunakan peta untuk navigasi sekitar. Anda dapat mengunduh PNG hi-res di sini . Anda dapat menemukan pos terkait di sini . Saya akan terus memperbarui file dan posting ketika waktu mengizinkan, memasukkan komentar yang bermanfaat.
Baca jawaban saya di bawah ini untuk info lebih lanjut tentang PATH
variabel lingkungan apa, .desktop
file apa itu, dan bagaimana menemukan program tertentu menggunakan berbagai perintah linux.
Jawaban asli:
/bin
,, /usr/bin
dan/usr/share
Seperti yang disebutkan dalam jawaban lain, Anda dapat menemukan sebagian besar file executable di bawah /bin
atau /usr/bin
, dan file dukungan diinstal di /usr/share
.
/usr/local
dan /opt
Namun ada lebih banyak direktori di mana Ubuntu menginstal aplikasi. The PATH
variabel, yang menentukan di mana untuk mencari perintah masuk, mungkin memberikan petunjuk, saya terlihat seperti ( echo $PATH
di terminal):
/usr/local/cuda/bin:/usr/local/texlive/2012/bin/x86_64-linux:/usr/games:/home/gerhard/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Seperti yang Anda lihat, beberapa perangkat lunak diinstal /usr/local
dan memiliki direktori sendiri dan bin
. Tempat lain di mana banyak program diinstal adalah /opt
. Properti dari lokasi ini dijelaskan oleh Filesystem Hierarchy Standard , yang merupakan bacaan yang sangat bagus. Sayangnya, perbedaan antara /opt
dan /usr/local
tidak dijelaskan dengan sangat baik, seseorang di unix stackexchange memiliki penjelasan yang lebih rumit:
/usr/local
adalah tempat untuk menginstal file yang dibangun oleh administrator, biasanya dengan menggunakan perintah make. Idenya adalah untuk menghindari bentrokan dengan file yang merupakan bagian dari sistem operasi yang akan ditimpa atau menimpa yang lokal. misalnya. /usr/bin/foo
adalah bagian dari OS sementara /usr/local/bin/foo
merupakan alternatif lokal,/opt
adalah direktori untuk menginstal paket tidak terikat masing-masing dalam subdirektori mereka sendiri. Mereka sudah membangun seluruh paket yang disediakan oleh distributor perangkat lunak pihak ketiga yang independen. Sebagai contoh someapp
akan diinstal di /opt/someapp
, salah satu perintahnya akan di /opt/someapp/bin/foo
[dan kemudian biasanya link simbolik dibuat di salah satu bin
direktori di PATH
, atau program dipanggil dari file desktop (lihat di bawah)]..desktop
fileUntuk mengetahui di mana program tertentu diinstal, Anda dapat melakukan sejumlah langkah. Pertama, Anda perlu mencari .desktop
file -nya . File desktop serupa dengan cara pintas di Windows, dan untuk aplikasi sistem mereka berada di /usr/share/applications
. File desktop untuk aplikasi yang hanya tersedia untuk pengguna saat ini ada di ~/.local/share/applications
. Ambil contoh Google Chrome, yang memiliki file desktop /usr/share/applications/google-chrome.desktop
dan cari baris yang dimulai dengan Exec=
, ini menentukan cara memulai Google Chrome. Ia mengatakan:
Exec=/opt/google/chrome/google-chrome
Jadi, Anda tahu ada Google Chrome /opt
.
Sekarang untuk Mozilla Firefox yang terletak di /usr/share/applications/firefox.desktop
. Itu hanya mengatakan
Exec=firefox %u
Pada awalnya ini tampaknya tidak banyak membantu, tetapi kemudian Anda menyadari bahwa itu firefox
harus ada dalam direktori yang ada dalam PATH
variabel (kemungkinan besar a bin
), dan kita dapat mencarinya (lihat di bawah).
Untuk mencari perintah Anda dapat menggunakan satu atau lebih hal berikut: type
, which
dan whereis
(saya telah menyertakan link ke halaman manual online mereka).
ketik : itu menggambarkan perintah, dan menunjukkan bagaimana itu akan ditafsirkan jika digunakan sebagai nama perintah. Jenis yang mungkin untuk suatu perintah adalah:
(ketik itu sendiri adalah shell builtin, coba dengan type type
: P)
Eksekusi type firefox
memberi kita
firefox is /usr/bin/firefox
yang ingin kami ketahui
Jika suatu perintah adalah file (yang Anda periksa type
), Anda dapat juga menggunakan:
yang : menunjukkan path lengkap dari perintah,
Eksekusi which firefox
memberi kita
/usr/bin/firefox
whereis : temukan file biner, sumber, dan halaman manual untuk sebuah perintah.
Eksekusi whereis firefox
memberi kita
firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
Bonus
Anda dapat memeriksa /usr/bin/firefox
lebih dekat dengan ls -l /usr/bin/firefox
dan ini memberi:
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
Tampaknya /usr/bin/firefox
'hanya' tautan simbolis ke skrip /usr/lib/firefox/firefox.sh
. Jika Anda memeriksa skrip Anda menemukan bahwa skrip panggilan /usr/lib/firefox/firefox
.
Anda dapat beristirahat dengan tenang sekarang :)
Tidak ada direktori tunggal yang sama persis dengan folder Program Files . Cara Linux mengatur banyak hal berbeda dari Windows.
Di windows, setiap program yang kami instal mendapat direktori sendiri di dalam direktori Program Files. Dalam direktori itu, sub-direktori lebih lanjut dibuat untuk berbagai jenis file. Tidak ada struktur tetap untuk sub-direktori. Program memutuskan sendiri apa yang ingin mereka panggil setiap direktori dan di mana mereka ingin meletakkan apa.
Tetapi di Linux ketika suatu program diinstal, berbagai jenis file disalin ke lokasi yang berbeda. File executable disalin ke / usr / bin , file perpustakaan ke / usr / lib , dokumentasi untuk satu atau lebih dari / usr / man , / usr / info dan / usr / doc . Jika ada file konfigurasi, mereka biasanya di direktori home user atau di / etc .
The C:\Program Files
folder akan /usr/bin
di Ubuntu. /bin
lebih mirip C:\windows
.
Dari halaman manual hirarki sistem file :
/bin This directory contains executable programs which are needed in
single user mode and to bring the system up or repair it.
/usr/bin
This is the primary directory for executable programs. Most
programs executed by normal users which are not needed for
booting or for repairing the system and which are not installed
locally should be placed in this directory.
Ubuntu memiliki struktur yang berbeda dari windows. Ubuntu menempatkan hampir semua aplikasi dalam satu direktori, katakanlah /usr/bin
. Windows akan membuat folder baru, katakan Mozilla Firefox
, dan tambahkan konfigurasi, executable, DLL, gambar, dll di dalamnya. Ubuntu membaginya, executable masuk /usr/bin
, konfigurasi seluruh sistem dalam /etc
, objek bersama /usr/lib
, gambar dalam /usr/share
, ...
'Program Files' Linux ada di seluruh hierarki. Bisa jadi pada /usr/bin
, /bin
, /opt/...
, atau dalam direktori lain.
Saya pikir Anda akan menemukan beberapa file yang terkait dengan aplikasi Anda. Lalu, saya punya ide tentang cara melihat file yang diinstal pada instalasi program.
synaptic
dengan mengeluarkan sudo apt-get install synaptic
pada terminal.Properties
.Installed File
tab. Hasilnya sama dengan dpkg -L package_name
.Itu karena linux memindahkan file yang diinstal ke direktori secara terpisah berdasarkan tipenya.
/usr/bin
atau /bin
./usr/share/icons
atau aktif ~/.local/share/icons
untuk lokal./opt
./usr/share/applications
atau aktif~/.local/share/applications
/usr/share/doc
/usr/lib
Dan banyak direktori lainnya. (CMIIW, menerima koreksi)
Dalam jawaban ini ketika saya mengatakan Unix saya maksud Unix dan juga sistem operasi seperti Unix.
Ubuntu tidak benar-benar memiliki folder program yang berisi semua data untuk setiap program. Dalam sistem operasi Unix dan Unix-like, SEMUA adalah file, bahkan perintah terminal. Mereka juga file. Cara Unix menangani program bisa sangat kacau, dan terorganisir pada saat yang sama.
Ikon untuk program disimpan di / usr / share / icons / *, program executable biasanya disimpan di / usr / bin, / bin, dan tempat-tempat lain dengan direktori bin (bin adalah obv kependekan dari binary). Perpustakaan yang bergantung pada program ada di / lib.
Jadi Anda berakhir dengan bukan direktori yang berisi semua data untuk satu program, tetapi data untuk program menyebar. Meskipun pada awalnya ini tampak sangat tidak teratur, ini memungkinkan untuk berbagi hal-hal standar seperti perpustakaan dan ikon.
Berkat izin untuk setiap file, ide segalanya menjadi file sangat brilian untuk jujur. Itu membuat Unix JAUH lebih aman daripada sistem operasi lain.
Cara menginstal program Linux dan Windows sangat berbeda.
Pola umum pada Windows adalah untuk suatu program; atau banyak program, dari satu vendor masuk ke sub direktori sendiri di C: \ programs \ vendor atau yang serupa.
Di Linux, file Anda dibagi antara sub direktori tertentu tergantung fungsinya. Ada direktori untuk perpustakaan, ikon, halaman manual, Log file, konfigurasi, dan sebagainya. Anda dapat menggunakan beberapa dari mereka, tetapi sistem akan mengatur semuanya. Mereka tidak digabungkan bersama, tetapi ada bersama dengan file yang serupa dari program lain.
Jadi tidak ada yang setara dengan struktur direktori Windows dalam implementasi Linux reguler.