Dengan merilis Pembaruan Anniversary untuk Windows 10, Microsoft mengumumkan Windows Subsystem untuk Linux (WSL) - cara untuk menjalankan Bash asli yang asli pada Windows 10, yang mendukung eksekusi binari Linux asli. Ini dilakukan dengan menjalankan mode pengguna Ubuntu Linux gambar di atas Windows.
Ini berarti Anda dapat menjalankan alat baris perintah Linux seperti ls
, grep
, top
dan chmod
. Karena Anda menjalankan Ubuntu asli di bawahnya, menjalankan lsb-release -a
akan memberikan Anda hasil sebagai berikut:
Anda dapat menggunakan apt-get
dan teman-teman untuk menginstal utilitas seperti vim
, git
, screen
, tmux
, atau bahkan bermain gim nethack:
Perlu diingat, bagaimanapun, bahwa sistem ini dalam versi beta dan tidak dimaksudkan untuk beban kerja server. Ini hanya alat untuk pengembang (dan penggemar) untuk menguji aplikasi Linux-centric mereka pada Windows tanpa modifikasi. Ini juga bukan alat yang dimaksudkan untuk menjalankan aplikasi atau lingkungan GUI Linux seperti Gnome atau KDE, meskipun itu mungkin juga dengan peretasan tertentu. Setelah membersihkannya, mari kita lihat bagaimana shell Linux bekerja di Windows 10.
Subsistem Windows untuk Linux (WSL)
Menurut dokumentasi resmi, "WSL adalah kumpulan komponen yang memungkinkan binari ELF64 Linux asli berjalan di Windows". Itu dilakukan dengan mengimplementasikan antarmuka kernel Linux tervirtualisasi di atas kernel Windows NT. Artinya, ia tidak menggunakan kode apa pun dari kernel Linux yang sebenarnya - setiap kali aplikasi membuat panggilan sistem khusus Linux (syscall), WSL menerjemahkannya ke Windows syscall yang setara, yang kemudian melakukan semua pekerjaan berat.
Perbedaan dari Mesin Virtual dan Cygwin
Sekarang mari kita lihat bagaimana Linux Bash Shell pada Windows 10 berbeda dibandingkan dengan mesin virtual seperti dan Cygwin.
Mesin virtual
Anda mungkin berpikir, “Baiklah, mengapa menggunakan ini? Mengapa tidak menggunakan VM Linux di Windows saja? ”
Dibandingkan dengan mesin virtual, WSL menggunakan lebih sedikit sumber daya . Ini juga memungkinkan Anda bekerja dengan file Anda seperti yang Anda lakukan di Linux, sambil memberi Anda akses lengkap ke sistem file Windows yang mendasarinya tanpa harus bergantung pada folder bersama atau berbagi jaringan.
Cygwin
Metode populer lainnya untuk menjalankan Linux / Unix-like tools yang populer di Windows adalah Cygwin. Perbedaan terbesar antara kedua pendekatan ini adalah bahwa Cygwin bukan cara untuk menjalankan binari Linux asli di Windows. Ini hanya menyediakan satu set alat GNU dan Open Source yang menyediakan fungsionalitas yang mirip dengan distribusi Linux pada Windows.
Di sisi lain, alat WSL adalah binari yang dikompilasi Linux ELF-64 asli yang berjalan pada Windows. Sebagai contoh, menjalankan perintah apt-get install emacs
di WSL akan mengunduh dan menginstal file yang sama seperti pada instalasi Ubuntu 14.04, dari repositori resmi Ubuntu.
Pengguna, Izin, dan Sistem File di WSL
Hirarki Sistem File
WSL diinstal di bawah direktori %LocalAppData%\lxss\rootfs
pengguna saat ini. Ini dikenal sebagai Lingkungan WSL dan bertindak sebagai direktori Linux " /
" (root). Misalnya, jika nama pengguna Anda pada Windows adalah beebom
, direktori root Linux akan berlokasi di C:\Users\beebom\AppData\Local\lxss\rootfs.
Ini berarti bahwa setiap pengguna Windows dapat memiliki lingkungan WSL mereka sendiri, dan dapat membuat perubahan seperti paket perangkat lunak apt-get install
, tanpa mempengaruhi pengguna Windows lainnya.
Dimungkinkan untuk mengakses sistem file Windows yang mendasarinya di WSL. Semua drive dipasang di bawah /mnt.
Misalnya, C:\
dipasang di bawah /mnt/c
, D:\
dipasang di bawah /mnt/d
, dll.
Pengguna dan Izin
Ketika Anda pertama kali menginstal WSL, itu akan meminta Anda untuk membuat pengguna Linux default baru. Pengguna ini tidak perlu memiliki nama yang sama dengan pengguna Windows saat ini, dan diperlakukan sebagai entitas terpisah secara umum. Anda bahkan dapat membuat banyak pengguna Linux, dikendalikan oleh satu pengguna Windows.
Dimungkinkan untuk mendapatkan hak akses root
menggunakan perintah sudo
. Perlu diingat bahwa menjadi root
di WSL hanya berdampak pada hak pengguna dalam lingkungan Linux dan sistem file - mereka tidak berdampak pada hak istimewa Windows yang diberikan. Misalnya, sesi WSL dengan hak admin Windows mungkin cd /mnt/c/Users/Administrator
sementara sesi Bash tanpa hak admin akan melihat Izin Ditolak. Mengetik sudo cd /mnt/c/Users/Administrator
tidak akan memberikan akses ke direktori Administrator karena izin dibatasi oleh Windows.
Fitur Sistem File Khusus Linux
Linux adalah sistem case-sensitive . Itu berarti bahwa photo.png
dan Photo.png
diperlakukan sebagai dua file berbeda. Meskipun Windows tidak peka huruf besar-kecil, masih case sadar . Yang berarti bahwa sementara photo.png
dan Photo.png
tidak diperlakukan sebagai dua file berbeda, itu pasti menyadari perbedaan dalam hal ini.
WSL menangani sensitivitas kasus seperti di Linux. Bahkan dimungkinkan untuk membuat dua file yang namanya hanya berbeda berdasarkan case di luar lingkungan WSL. Perlu diingat, bahwa banyak aplikasi Windows tidak dapat menangani situasi seperti itu dan mungkin tidak dapat membuka satu atau kedua file.
Demikian pula, tautan simbolik didukung, asalkan Anda menjalankan sistem file NTFS. Namun, tautan simbolik hanya akan berfungsi di dalam WSL dan tidak dapat diselesaikan oleh aplikasi Windows lainnya.
Linux juga mendukung hampir semua karakter khusus di dalam nama file, sementara Windows lebih ketat. WSL, bagaimanapun, memungkinkan menggunakan karakter khusus seperti itu, asalkan mereka dibatasi pada lingkungan sistem Linux.
Siap Jalankan Linux Command Line di Windows?
Jadi, begitulah cara Ubuntu Bash atau Linux Bash Shell, juga dikenal sebagai Subsistem Windows untuk Linux bekerja pada Windows 10 (dengan pembaruan Anniversary). Seiring dengan kerjanya, kami juga belajar bagaimana itu berbeda dan lebih baik daripada metode tradisional menjalankan perintah khusus Linux di Windows. Jadi, jika Anda selalu ingin menggunakan perintah Linux, mulailah dan jika Anda memiliki pertanyaan, komentar, atau tip, pastikan untuk memberi tahu kami di bagian komentar.