Apa yang setara dengan Linux untuk File Program Windows?


179

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?


2
Jika Anda ingin tahu di mana file paket tertentu, Anda dapat menggunakan manajer paket Synaptic. Cukup cari paket, dan lihat file yang diinstal.
Asmerito

6
Saya pikir pertanyaan ini akan diperbaiki dengan alasan menginginkan yang setara. Ada perbedaan antara, misalnya, "mari kita lihat apa yang telah saya instal dan apa yang dapat saya jalankan", dan "Saya mencoba mencari save-game dari perangkat lunak ini / itu, jadi saya bisa bermain-main dengannya" dan mungkin bahkan "Saya curiga beberapa pengaturan-file / ini-file untuk program ini yang dapat saya atur". Itu semua bisa menjadi pertanyaan "Program Files", tetapi memiliki jawaban berbeda di sini.
Nanne

4
Terkait (tetapi mungkin tidak boleh dianggap duplikat): Bagaimana memahami tata letak sistem file Ubuntu?
Eliah Kagan

Jawaban:


104

/bindan di /usr/binsinilah 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.

Nautilus menunjukkan / usr / share

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 /sbindan /usr/sbin. Plus /usr/local/bin, /opt/bindan bahkan /usr/games/. Jadi jelas bukan perbandingan langsung c:\program files!


4
Bagaimana dengan /opt? Saya telah melihat bahwa memegang banyak (biasanya sumber tertutup atau aplikasi berbasis) program sebelumnya dalam cara yang mirip dengan Program Files.
Kupiakos

Tampaknya akan seperti itu, dengan munculnya Ubuntu Software Center memberikan permainannya di sana, tentunya. Tapi meskipun begitu, bukan perbandingan langsung, benarkah? Mungkin hal terdekat hari ini.
Scaine

Lihat askubuntu.com/a/294492/41499 untuk apa /optdirektori itu.
Gerhard Burger

/usr/local/binadalah lokasi semi-umum untuk perangkat lunak yang mungkin tidak umum digunakan oleh pengguna / perusahaan.
Mark Stewart

Dan bagaimana OS ini lebih baik daripada Windows? Saya beralih untuk mencobanya apakah itu bette untuk pengembangan web. Tetapi saya tidak dapat memahami hal-hal hierarki ... Saya telah menginstal PhpStorm dan sekarang berada di folder 1238128 ..
Toma Tomov

84

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.


6
jawaban ini diabaikan itu harus di atas.
voldemort

83

EDIT: Lihat juga jawaban d4nyll di bawah ini untuk peta yang sangat bagus dan ramah-pemula!

Baca jawaban saya di bawah ini untuk info lebih lanjut tentang PATHvariabel lingkungan apa, .desktopfile apa itu, dan bagaimana menemukan program tertentu menggunakan berbagai perintah linux.

Jawaban asli:


Tidak ada jawaban yang mudah.

/bin,, /usr/bindan/usr/share

Seperti yang disebutkan dalam jawaban lain, Anda dapat menemukan sebagian besar file executable di bawah /binatau /usr/bin, dan file dukungan diinstal di /usr/share.

/usr/local dan /opt

Namun ada lebih banyak direktori di mana Ubuntu menginstal aplikasi. The PATHvariabel, yang menentukan di mana untuk mencari perintah masuk, mungkin memberikan petunjuk, saya terlihat seperti ( echo $PATHdi 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/localdan 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 /optdan /usr/localtidak dijelaskan dengan sangat baik, seseorang di unix stackexchange memiliki penjelasan yang lebih rumit:

  • /usr/localadalah 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/fooadalah bagian dari OS sementara /usr/local/bin/foomerupakan alternatif lokal,
  • /optadalah 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 someappakan diinstal di /opt/someapp, salah satu perintahnya akan di /opt/someapp/bin/foo[dan kemudian biasanya link simbolik dibuat di salah satu bindirektori di PATH, atau program dipanggil dari file desktop (lihat di bawah)].

Menemukan program atau perintah tertentu

.desktop file

Untuk mengetahui di mana program tertentu diinstal, Anda dapat melakukan sejumlah langkah. Pertama, Anda perlu mencari .desktopfile -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.desktopdan 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 firefoxharus ada dalam direktori yang ada dalam PATHvariabel (kemungkinan besar a bin), dan kita dapat mencarinya (lihat di bawah).

Mencari perintah

Untuk mencari perintah Anda dapat menggunakan satu atau lebih hal berikut: type, whichdan 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:

    1. alias (alias shell)
    2. fungsi (fungsi shell)
    3. builtin (shell builtin)
    4. file (file disk)
    5. kata kunci (kata milik shell)

    (ketik itu sendiri adalah shell builtin, coba dengan type type: P)

    Eksekusi type firefoxmemberi 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 firefoxmemberi kita

     /usr/bin/firefox
    
  • whereis : temukan file biner, sumber, dan halaman manual untuk sebuah perintah.

    Eksekusi whereis firefoxmemberi 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/firefoxlebih dekat dengan ls -l /usr/bin/firefoxdan 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 :)


Jawaban yang sangat keren. Satu pertanyaan, apa itu Tautan Simbolik? Apakah ini setara dengan pintasan Windows?
Quazi Irfan

@iamcasy, terima kasih! Ya, mereka adalah semacam jalan pintas, tetapi dengan tujuan utama menghindari salinan file. Cara pintas windows lebih sebanding. file desktop, yang dapat digunakan untuk membuat, misalnya, item startmenu.
Gerhard Burger

Mengapa seseorang menggunakan file .desktop di atas tautan simbolis dan sebaliknya?
Quazi Irfan

1
@iamcreasy Dalam file .desktop Anda dapat menambahkan informasi tambahan, seperti deskripsi dan ikon (lihat contoh di sini: standards.freedesktop.org/desktop-entry-spec/latest/apa.html ), ini adalah file 'biasa' . Tautan simbolik adalah file 'khusus' yang hanya menautkan ke file lain. Saya menemukan ini sulit untuk dijelaskan dengan benar tetapi mungkin Anda dapat menemukan jawaban yang lebih baik di sini: superuser.com/questions/253935/…
Gerhard Burger

18

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 .


Apakah ada alasan untuk pengelompokan file ini berdasarkan tujuannya daripada berdasarkan aplikasi file milik? Apakah "gaya pengelompokan file Unix" secara umum lebih nyaman dari sudut pandang administrator sistem?
jojman

1
tidak juga. Itu pilihan desain yang mereka buat menurut saya. Meskipun itu memungkinkan pembuatan utilitas seperti "man", "info" atau banyak lainnya yang bergantung pada struktur file ini. Misalnya "man" tahu di mana harus mencari dokumentasi untuk setiap perintah. Jika tidak ada lokasi standar dokumen, manusia tidak dapat bekerja.
binW

10

The C:\Program Filesfolder akan /usr/bindi Ubuntu. /binlebih 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, ...


5

'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.

  1. Instal synapticdengan mengeluarkan sudo apt-get install synapticpada terminal.
  2. Cari paket yang Anda inginkan, cari pada input teks pencarian.
  3. Klik kanan paket dan pilih Properties.
  4. Pindah ke Installed Filetab. Hasilnya sama dengan dpkg -L package_name.
  5. Di sana Anda akan menemukan semua file yang diinstal untuk paket.

Itu karena linux memindahkan file yang diinstal ke direktori secara terpisah berdasarkan tipenya.

  • Dapat dieksekusi pergi ke /usr/binatau /bin.
  • Ikon beralih ke /usr/share/iconsatau aktif ~/.local/share/iconsuntuk lokal.
  • Seluruh aplikasi (portabel) aktif /opt.
  • Pintasan biasanya aktif /usr/share/applicationsatau aktif~/.local/share/applications
  • Dokumentasi tentang /usr/share/doc
  • Perpustakaan / modul aktif /usr/lib

Dan banyak direktori lainnya. (CMIIW, menerima koreksi)


3

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.


3

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.


2

Jika Anda menginstal program sendiri, saya sarankan 1 folder:


-2

Lihat di /bin, /usr/bin, dan hal lain yang mengatakan bin.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.