10 Perintah Unix yang harus diketahui setiap pengguna Mac dan Linux

GUI sangat bagus — kami tidak ingin hidup tanpanya. Tetapi jika Anda adalah pengguna Mac atau Linux dan Anda ingin mendapatkan hasil maksimal dari sistem operasi Anda (dan penekanan tombol Anda), Anda berhutang pada diri Anda sendiri untuk mengenal baris perintah Unix. Arahkan-dan-klik sangat bagus setiap kali Anda perlu melakukan sesuatu sekali atau dua kali. Tetapi jika Anda perlu mengulangi tugas itu berkali-kali, baris perintah adalah penyelamat Anda.

Baris perintah adalah jendela menuju kekuatan penuh dan luar biasa dari komputer Anda. Jika Anda ingin bebas dari kendala GUI atau berpikir bahwa pemrograman atau administrasi mesin jarak jauh adalah masa depan Anda, maka mempelajari baris perintah Unix pasti cocok untuk Anda.

Jangan khawatir jika perintah Unix tampak seperti mantra magis atau bagian dalam sistem yang misterius tampak di luar jangkauan Anda. Mereka tidak terlalu sulit untuk dipelajari, dan artikel ini akan memberi Anda 10 perintah penting yang Anda butuhkan untuk memulai. Tak lama lagi, string samar itu akan menjadi kebiasaan.

Dasar-dasar shell

Shell baris perintah Unix kira-kira setara dengan jendela perintah di Microsoft Windows (cmd atau PowerShell). Perintah yang kami ikuti di bawah ini akan bekerja pada sistem mirip Unix, termasuk Linux, Darwin (dasar dari MacOS), FreeBSD, dan bahkan Windows dengan sesuatu seperti Git Bash atau shell Bash baru di Windows 10. Opsi dan keluarannya bervariasi sedikit, tetapi Anda tidak akan kesulitan memahaminya.

Pertama, Anda harus membuka shell, terkadang disebut jendela terminal. Seringkali distribusi Unix meletakkan ini di bawah menu Administrasi atau Sistem. Di MacOS, Anda akan menemukan terminal di Aplikasi> Utilitas> Terminal. Saat Anda meluncurkannya, Anda akan melihat sesuatu seperti ini:

Layar ini, dari MacOS 10.11, adalah tipikal dari kebanyakan shell di GUI. Di bagian atas jendela kita melihat jenis shell, dalam hal ini Bash (Bourne Again Shell, yang merupakan shell default di MacOS dan sebagian besar distribusi Linux), dan ukuran jendela. Di dalam jendela adalah prompt, dalam hal ini dikonfigurasi untuk menampilkan nama mesin ( Mercury), nama direktori kerja saat ini (di sini tilde ~, yang merupakan singkatan dari direktori home pengguna), nama pengguna, dan terakhir simbol prompt (file$). Perhatikan bahwa prompt Anda akan berubah saat Anda bergerak di sekitar sistem file atau jika Anda menjadi pengguna yang berbeda di mesin Anda (seperti root atau superuser untuk menjalankan perintah administratif). Prompt menampilkan informasi ini, sehingga Anda dapat dengan mudah mengetahui di mana dan siapa Anda di mesin mana pun.

Perlu diketahui bahwa ada dua rasa utama shell Unix: shell Bourne dan C. Bourne dan kawan-kawan berasal dari AT&T Unix yang asli, sedangkan C shell berasal dari University of California di Berkeley dan BSD Unix. Umumnya turunan Bourne dan shell C bagus untuk pekerjaan interaktif di terminal. Shell standar POSIX, shell Korn, adalah yang ingin Anda gunakan untuk menulis program Anda sendiri di shell, yang disebut skrip. Kami menggunakan shell Bash untuk contoh dalam tutorial ini.

Lingkungan shell

Salah satu fakta pertama yang harus dipahami tentang bekerja pada baris perintah Unix adalah bahwa shell beroperasi di lingkungannya sendiri. Memahami cara mengontrol lingkungan shell adalah bagian penting untuk menjadi efisien pada baris perintah. Mari kita lihat lingkungannya menggunakan envperintah:

Jangan khawatir tentang memahami semua variabel lingkungan sekarang, tetapi ketahuilah bahwa mereka ada di sana. Anda harus mengenali beberapa variabel. Misalnya, SHELL=/bin/bashmemberi tahu kami bahwa kami menggunakan shell Bash. HOME=/Users/nunezmenentukan lokasi direktori utama pengguna. Anda dapat mengubah atau membuat variabel lingkungan, dan Anda akan sering melakukannya. Berikut adalah contoh pengaturan variabel lingkungan yang dipanggil FOOdan menampilkan nilainya:

Seperti yang Anda lihat, berdasarkan konvensi kami menempatkan variabel dalam huruf besar. Perhatikan secara khusus bagaimana kita mereferensikan variabel lingkungan ketika kita menggunakannya dalam perintah, dengan yang sebelumnya $. Perintah tersebut $memberi tahu juru bahasa perintah untuk menggunakan nilai variabel. Tanpa $, echoperintah di atas hanya akan mencetak nama variabel FOO,.

Perintah Unix

Terlepas dari shell mana yang Anda gunakan, setiap kali Anda mengetikkan perintah di shell, Anda akan menjalankan program Unix. Filosofi desain Unix adalah untuk membuat program yang melakukan satu hal dengan baik dan menghubungkan (atau "menyalurkan") mereka bersama untuk melakukan pekerjaan yang bermanfaat. Mari kita lihat contoh sederhana untuk menghitung jumlah file di direktori / etc (kita akan melihat bagaimana cara pindah ke direktori / etc nanti):

Urutan perintah ini menggambarkan dua konsep penting: pemipaan dan opsi. The lsperintah (setara dengan dirperintah pada Windows) menampilkan isi dari sebuah direktori, dan  wc(jumlah kata) jumlah kata. Perhatikan bilah vertikal di antara mereka? Itu karakter pipa. Pipa tersebut mengambil keluaran dari perintah pertama dan mengarahkannya sebagai masukan ke perintah kedua. Anda dapat merangkai sejumlah perintah bersama-sama di Unix dengan menghubungkan satu sama lain dengan pipa.

Hal kedua yang perlu diperhatikan adalah opsi yang diberikan untuk setiap perintah. Di Unix, opsi secara tradisional diawali dengan karakter tanda hubung tunggal -,. Opsi baris perintah ini mengubah perilaku perintah. Dalam contoh ini, -l opsi lsberarti menampilkan konten direktori dalam format "panjang", sedangkan –lopsi untuk wcberarti menghitung "baris" alih-alih kata-kata. Dalam bahasa Inggris, perintah ini mungkin dibaca:

Buat daftar jumlah baris di direktori saat ini dan kemudian kirimkan ke program penghitungan kata untuk menghitung jumlah baris.

Seringkali opsi baris perintah ini menggantikan default yang disetel di lingkungan. Jika Anda ingin mengubah cara perintah berperilaku secara permanen, Anda dapat menyetel variabel lingkungan secara otomatis saat Anda log in. Banyak perintah yang memungkinkan Anda menggabungkan opsi dalam satu string — misalnya, ls -la—tetapi yang lain tidak. Anda dapat mempelajari tentang semua opsi untuk sebuah perintah dengan memeriksa manualnya atau “halaman manual” (yang akan kita bahas di bawah).

Mempelajari dan menggunakan opsi baris perintah adalah bagian besar dari menjadi efisien di baris perintah Unix. Beberapa perintah memiliki begitu banyak opsi sehingga dokumentasinya berjalan hingga puluhan halaman. Jangan biarkan hal itu membuatmu khawatir sekarang. Seringkali Anda hanya memerlukan beberapa opsi untuk melakukan tugas tertentu, dan banyak opsi hanya digunakan saat menulis program dalam bahasa shell.

Manualnya

Setelah Anda memahami dasar-dasar baris perintah dan lingkungan, kita dapat mulai mendalami sistem lebih dalam. Tempat pertama untuk memulai adalah dengan manual.

Salah satu aspek bagus dari Unix adalah kualitas dokumentasinya yang tinggi. Ada dokumentasi untuk pengguna, administrator sistem, dan pengembang perangkat lunak. Anda mengakses dokumentasi dengan manperintah. Mari kita mulai dengan membaca manual untuk manual (masuk man manpada baris perintah):

Manual ini dibagi menjadi delapan bagian, yang sedikit berbeda tergantung pada apakah Anda menggunakan jenis Unix BSD / Linux / Mac atau System V. Sangat membantu untuk memulai dengan membaca pendahuluan untuk setiap bagian, dan Anda dapat melakukannya dengan mantra seperti man -s 1 intro, yang berarti melihat di bagian 1 untuk menemukan halaman manual yang disebut "intro":

Jika Anda tidak yakin dengan perintah apa yang Anda cari, Anda dapat mencoba opsi -fdan -k. akan memberi tahu Anda fungsi perintah jika Anda tahu namanya, sementara akan mencantumkan nama-nama perintah yang relevan berdasarkan satu atau lebih kata kunci. Kedua opsi tersebut akan mencari database bawaan (jika telah dikonfigurasi; biasanya memiliki) dan mengembalikan semua kecocokan. Misalnya, akan muncul halaman manual yang diawali dengan string :man –f command man –k hint man –k bzerbz

Sistem file

Ada banyak perintah yang terkait dengan sistem file Unix, karena ini adalah inti dari sistem operasi. Kita telah melihat salah satunya sebelumnya:, lsyang mencantumkan file dalam direktori:

The lsperintah mungkin perintah yang paling sering digunakan dari semua, dan memiliki banyak pilihan untuk menyesuaikan output. Satu opsi yang ingin Anda ketahui segera adalah ls -a(daftar semua). Ini akan menampilkan file "titik" (file atau direktori yang namanya dimulai dengan titik atau titik), yang disembunyikan secara default. File atau direktori ini biasanya berisi informasi konfigurasi atau file log untuk sistem Unix. File .bash_history, misalnya, mencatat semua perintah yang Anda masukkan pada baris perintah.

Perintah lain yang Anda perlukan segera adalah cdperintah, yang Anda gunakan untuk mengubah direktori. Ini mirip dengan perintah yang sama di Windows, tetapi dengan perbedaan penting. Di Unix, semua drive (perangkat) muncul sebagai satu drive. Sedangkan di Windows Anda mungkin memiliki gambar Anda di hard drive eksternal yang muncul sebagai E :, di Unix drive itu mungkin / home / user / pictures. Semua file di sistem Unix diakses melalui jalur yang dimulai dengan / (direktori root), dan Anda dapat memasang hard drive yang berbeda di berbagai titik dalam sistem file sesuai kebutuhan Anda.

Sebelum Anda mulai berkeliaran di sekitar sistem file, izinkan saya memperkenalkan perintah lain yang akan Anda perlukan: pwd(cetak direktori kerja). Karena ada banyak tempat yang berpotensi tersesat dalam sistem file yang sedang berkembang, perintah ini memungkinkan Anda menentukan dengan cepat di mana Anda berada. Mari kita beralih direktori ke lokasi tempat file konfigurasi sistem disimpan dan memverifikasi lokasi kita:

Perhatikan bahwa Anda dapat menggunakan cdperintah tanpa argumen untuk segera kembali ke direktori beranda Anda. Tip lain: The ~dapat digunakan sebagai pintasan untuk merujuk ke direktori home Anda di shell Bash dan C. 

Pada titik ini Anda tahu cara berpindah-pindah sistem file dan daftar isi direktori. Sekarang kita membutuhkan cara untuk membaca file yang disimpan di dalamnya. Hari-hari ini kebanyakan sistem datang dengan lessperintah untuk ini. lessakan menampilkan halaman file demi halaman dan memungkinkan Anda untuk menavigasi menggunakan perintah Vi (tekan juntuk turun, knaik, hmendapatkan bantuan, dan qkeluar dari file).

Mari kita lihat apa yang ada di file / etc / passwd kami dengan memasukkan less /etc/passwd:

File passwd mencantumkan akun pengguna pada sistem Unix, bersama dengan nomor ID pengguna dan grup mereka, direktori home-nya, dan jalur ke perintah atau shell yang sesuai. Namun, di MacOS, Anda hanya akan menemukan akun layanan sistem di passwd. Itu karena pengguna manusia dikonfigurasikan di bawah Pengguna & Grup di Preferensi Sistem MacOS.

Ruang disk

Kehabisan ruang disk adalah proses bertahap yang mungkin memakan waktu bertahun-tahun, tetapi masih dapat membuat Anda lengah. Ada dua perintah yang dapat Anda gunakan untuk memeriksa ruang kosong dan menentukan file mana yang memonopoli disk Anda: du(penggunaan disk) dan df( kosong disk). Mereka berdua mengambil -hopsi (dapat dibaca manusia). Untuk mengetahui seberapa penuh disk Anda, gunakan dfperintah:

Untuk saat ini, fokuslah pada kolom %iuseddan mounted on. Ini menunjukkan bahwa direktori home saya 92 persen penuh, jadi saya mungkin harus membersihkannya. Tapi bagaimana saya tahu di mana semua ruang digunakan? Itulah duuntuk:

Untuk contoh ini, saya menggunakan mantra yang membatasi output ke 10 baris pertama. Jika tidak, duakan mencantumkan setiap direktori di mesin, yang bisa jadi terlalu banyak untuk dipahami. Dari daftar ini Anda dapat melihat berapa banyak ruang yang digunakan oleh setiap direktori. Anda mungkin juga melihat bagaimana, dengan merangkai beberapa perintah bersama-sama, kita dapat dengan mudah menyusun skrip yang akan mencantumkan 10 direktori teratas berdasarkan penggunaan ruang. Perintah yang kita perlukan untuk mengurutkan output tentu saja adalah sortperintah.

Karena versi MacOS sorttidak dapat menangani duoutput yang dapat dibaca manusia, saya menggunakan -mopsi untuk dumenampilkan penggunaan disk dalam megabyte (gunakan opsi -gatau -kuntuk menampilkan dalam gigabyte atau kilobyte). The -ndan -rpilihan untuk sortsemacam output numerik dan dalam urutan terbalik, sehingga direktori terbesar akan muncul di bagian atas daftar.

Superusers, su, dan sudo

Sejumlah perintah terkait dengan administrasi sistem. Cobalah mengetik man -s 8 intrountuk perkenalan mereka. Aku akan memberikan satu perintah penting untuk sistem administrasi di sini: su. Ini adalah singkatan dari "pengguna super" dan mengacu pada pengguna administratif atau akun root. Semua file yang termasuk dalam sistem dimiliki oleh pengguna ini, dan Anda harus menjadi pengguna ini untuk melakukan administrasi.

Perintah terkait sudo,, memungkinkan Anda menjadi pengguna super untuk satu perintah. Mengapa digunakan, sudobukan su? Karena praktik terbaik menyatakan bahwa Anda tidak berlarian sebagai pengguna root, dengan kekuatan untuk melakukan kerusakan yang tidak dapat diperbaiki secara tidak sengaja. Anda akan selalu ingin melakukan semua yang Anda bisa sebagai pengguna biasa dan menjadi pengguna super hanya jika diperlukan. Persisnya bagaimana Anda mendapatkan hak pengguna super akan bergantung pada distribusi Unix Anda. Mari kita lihat cara sukerjanya di MacOS:

Hah? Saya yakin saya mengetik kata sandi dengan benar. Apa yang terjadi di sini adalah bahwa pengguna saya saat ini nunez,, tidak memiliki izin untuk su. Pada beberapa Unix, ini berarti pengguna harus berada di wheelgrup, dan di sistem lain (termasuk MacOS) pengguna harus ada di sudoersfile.

Mari kita selesaikan dengan menambahkan nunezke sudoers, yang akan memberi Anda rasa mengedit file pada baris perintah. Power user menyanyikan pujian dari editor Emacs dan Vi, dan saya mendorong Anda untuk mencobanya, tetapi kami akan menggunakan Nano di sini. Nano mudah dipelajari dan digunakan, dan MacOS serta banyak distro Linux sudah menginstalnya.