Saya akan belajar cara menggunakan baris perintah. Secara khusus, saya akan menggunakan buku: "The Linux Command Line: A Complete Introduction" . Sekarang, apakah saya harus menggunakan distro Linux untuk membaca buku, atau apakah OS X sudah cukup?
Jika saya memerlukan distro Linux, maka apakah menggunakannya melalui VM sudah cukup atau apakah saya perlu menginstalnya secara asli?
linux
command-line
osx
Utku
sumber
sumber
/proc
sistem file, drive USB cenderung muncul/Volumes
tidak/media/username
seperti pada Ubuntu. CentOS memilikidhclient.conf
file yang berbeda . Dan seterusnya dan seterusnyaJawaban:
Saya sangat merekomendasikan menjalankan Linux dalam VM. Semua perangkat lunak tersedia untuk diunduh secara bebas dan tidak ada perbedaan praktis antara menjalankan VM dan berjalan secara native untuk keperluan mempelajari baris perintah.
Selain itu, baris perintah Linux sebagian besar terdiri dari bash + GNU coreutils , yang sangat berbeda dari BSD Unix (dan OS X adalah pengganti BSD Unix). Ada perbedaan preferensi yang sangat besar dalam menulis argumen di BSD Unix dan GNU Linux. Anda dapat menggigit diri sendiri bahkan sebagai bukan pemula dengan opsi yang berbeda untuk utilitas standar seperti
ps
dantar
jika Anda bekerja pada kedua sistem.Menggunakan OS X saat buku Anda spesifik untuk Linux secara teratur akan memunculkan inkonsistensi dan perbedaan yang akan tampak dangkal ketika Anda lebih berpengalaman, tetapi hanya akan membingungkan ketika Anda sedang belajar. Buat semuanya mudah untuk diri Anda sendiri.
Ini juga akan memungkinkan Anda untuk bereksperimen tanpa khawatir merusak mesin Anda dengan menghapus atau mengubah file penting.
Dan yang terakhir, meskipun tentu tidak sedikit, itu akan memungkinkan Anda untuk mengatur koneksi SSH ke VM Anda dari OS X Terminal Anda, sehingga Anda dapat terbiasa menggunakan kunci SSH, dan dengan gagasan bahwa tidak ada bedanya apakah server Linux Anda adalah mesin asli, VM lokal, atau kehabisan AWS atau Digital Ocean: semuanya bekerja sama!
sumber
OS X cukup untuk mempelajari baris perintah karena merupakan UNIX bersertifikat dan sesuai dengan POSIX. Jika Anda melihat buku baris perintah khusus Linux, Anda harus ingat bahwa alat-alat pengguna di OS X berasal dari BSD sementara alat-alat di Linux adalah GNU dan ada beberapa perbedaan yang halus (dan tidak begitu halus) di antara mereka.
Jika Anda ingin belajar dengan alat-alat GNU, Anda dapat menginstal GNU userland melalui macports atau homebrew, atau dapat melakukan instalasi Linux lengkap dalam VM.
sumber
bash
), Itu akan cocok dengan semua sistem yang menjalankannya. Ini bervariasi ketika Anda mulai menggunakan fitur sistem operasi atau alat khusus di luar shell.ls
harus dari GNU atau BSD (mohon perbaiki jika saya salah). Jadi, saya pikir ini berarti bahwa saya perlu memilih satu toolchain (atau lingkungan) dan mulai belajar baris perintah di sana. Apakah itu benar?Beberapa jawaban bagus sejauh ini, tetapi satu lagi alasan untuk menjauh dari alat baris perintah OS X default adalah mereka adalah versi yang sangat lama. Misalnya, OS X's
grep
berasal dari 2004, danbash
dari 2007! The Alasan adalah bahwa Apple menolak untuk alat kapal berlisensi di bawah GPL3 tersebut.Jika Anda tidak ingin menginstal Linux dengan benar, Anda dapat menginstal versi terbaru secara manual (mungkin melalui beberapa sistem port seperti MacPorts, Fink atau Homebrew).
sumber
Perbedaan pertama:
Bekerja di linux, gagal di mac (parameter harus diutamakan). Gunakan VM atau dapatkan buku untuk mac os. Anda harus mempelajari yang akan Anda gunakan nanti dan kemudian perbedaannya.
sumber
ls * -lah
bekerja di Linux seperti cara kerjanya di Linux, dan bekerja di OS X cara kerjanya di OS X. Cara kerjanya di OS X benar menurut POSIX (12. Konvensi Utilitas / 12.2 Petunjuk Sintaks Utilitas / Pedoman 9) : "Semua opsi harus mendahului operan pada baris perintah." Seperti dijelaskan dalam getopt (3) : "Jika ... variabel lingkungan POSIXLY_CORRECT diatur, maka pemrosesan opsi berhenti segera setelah argumen non-pilihan ditemui."Cara terbaik untuk belajar unix adalah memiliki pekerjaan nyata untuk dilakukan dengannya. Menurut saya ada baiknya menemukan perbedaan antara contoh spesifik Linux dalam buku Anda dan versi Mac dari alat standar, hanya untuk dapat bekerja dengan file dan data Anda sendiri di lingkungan kerja normal Anda (OS X).
Menghadapi perbedaan juga akan menjadi pengalaman belajar yang berharga, meskipun terkadang membuat frustrasi.
Memiliki Linux VM juga untuk dipraktekkan (terutama untuk perintah yang berpotensi berbahaya) juga berguna tetapi tidak ada yang mengalahkan penggunaan dunia nyata untuk belajar.
sumber