Saya baru saja menginstal Ubuntu beberapa hari yang lalu. Sejauh yang saya tahu terminal adalah bagian besar dari setiap distro Linux. Pertanyaan saya saat ini adalah mengapa? Ketika saya mencari sesuatu tentang itu, perintah yang dimasukkan ke terminal semua mudah dilakukan melalui GUI. Jadi, apa kelebihan menggunakan terminal?
Sunting: Terima kasih atas jawaban semua orang. Setelah sedikit mengaduk-aduk, dan dengan bantuan jawaban Anda, sekarang saya bisa mengerti penggunaannya. Dengan bangga saya dapat mengatakan, bahwa selama 3 hari terakhir, saya telah menggunakannya untuk hampir semua hal, dan saya berharap untuk segera memiliki pemahaman yang lebih baik tentang scripting.
command-line
LurkDog
sumber
sumber
Jawaban:
Terminal di Unix adalah alat yang luar biasa dan kuat. Ketika transisi dari dunia Windows sulit untuk menghargai ini karena shell Windows (cmd.exe) lebih tepatnya, bagaimana saya katakan dengan baik, kurang. Kebanyakan * kerang nix default (
bash
,zsh
, dll) memiliki beberapa keunggulan:Ini distandarisasi melalui POSIX dan Spesifikasi Single Unix, jadi skrip yang Anda tulis untuk satu komputer kemungkinan akan berfungsi pada semua mesin yang memenuhi POSIX (dengan asumsi Anda membatasi diri pada perintah standar, yang ada banyak ). Microsoft memiliki kebiasaan memasukkan alat dalam beberapa versi dan tidak pada yang lain, membuat program batch sangat hit atau miss
Karena Unix dibangun dari terminal ke atas, sebagian besar semuanya dapat dikonfigurasi dari baris perintah. Windows seperti ini sampai pada suatu titik, tetapi mereka memilih untuk menjatuhkan subsistem 16-bit dan DOS dengan itu. Sekarang GUI adalah satu-satunya cara untuk mengubah beberapa hal di Windows.
Karena sangat fleksibel. Perintah dapat disalurkan bersama (
ls | grep filename
), dapat ditangkap (gcc program.c > ./standard_out 2> ./standard_error
), dan dapat diganti (ls /home/`whoami`
atauls /home/$(whoami)
)Karena utilitas UNIX dirancang untuk melakukan satu hal, dan melakukannya dengan baik. Hanya melihat ke dalam
awk
,grep
,sed
,wget
atau sejumlah orang lain. Sendiri mereka mencapai satu tugas, tetapi diberi # 3 dan # 2 mereka dapat dibangun menjadi ekspresi yang kuat.Karena kemampuan untuk mengotomatisasi tugas.
cron
dan skrip bash memungkinkan tugas yang panjang, rumit, dan / atau berulang dapat disederhanakan atau diotomatisasi sepenuhnya.Karena manusia cenderung melakukan kesalahan. Script shell yang relatif singkat dapat digunakan untuk mengubah pengaturan secara konsisten. Pemeriksaan keamanan dapat dibangun ke dalam skrip, daripada mengandalkan pengguna untuk mengetahui perintah mana yang aman untuk dijalankan dalam keadaan yang berbeda.
sumber
ls /home/$(whoami)
saat ini :-)cron
, ia akan menemui Anda di pintu ketika Anda kembali dari kantor ...Ada banyak keuntungan menggunakan terminal. Argumen berkisar dari kenyamanan, produktivitas hingga nostalgia. Inilah beberapa:
Ada beberapa hal yang Anda (bukan saya) tidak bisa melakukannya dengan menggunakan GUI. Ini bukan karena itu tidak bisa dilakukan, itu hanya karena tidak ada yang mau repot-repot menulis GUI untuk perintah ini. Sebagai contoh jika saya ingin menggunakan beberapa perintah, katakanlah
mdf2iso
untuk mengonversi sejumlah besar file dalam folder. Saya dapat menyalurkan output menggunakan|
operator dan melakukannya dalam satu pukulan.Bagi banyak dari kita, itu hanya cara yang seharusnya. Perlu diingat bahwa ini tidak ada hubungannya dengan keahlian. Saya bukan ahli linux, saya hanya pengguna biasa, tapi saya lebih suka menggunakan baris perintah sedapat mungkin. Ini bukan argumen tentang mengapa harus digunakan, sebanyak mengapa digunakan.
Naskah adalah hal yang sangat kuat. Anda dapat menggunakan kondisi
if
dan loopfor
dll. Dan melakukan segala macam hal menggabungkan kekuatan di atas. Tidak ada batasan untuk kekuatan skrip. Anda dapat mengotomatiskan tugas-tugas kompleks yang disesuaikan dengan kebutuhan Anda. Untuk hal-hal seperti itu, seringkali sulit untuk menemukan aplikasi GUI yang sesuai dengan kebutuhan Anda.Anda dapat melakukan tugas dengan login jarak jauh, bahkan melalui pengaturan bandwidth yang sangat rendah.
Membantu, menulis tutorial, dll. Jauh lebih mudah jika Anda dapat menentukan perintah kepada orang lain. Dengan cara ini, Anda tidak perlu mengambil tangkapan layar. Ini memiliki keuntungan lain bagi orang yang sedang ditolong juga, yang membawa kita ke poin berikutnya.
Menggunakan baris perintah biasanya memberi Anda pemahaman yang lebih baik tentang apa yang Anda lakukan dan apa yang sedang terjadi.
Dan terakhir, ini lebih cepat. Jauh lebih cepat untuk mengetik beberapa huruf dan menekan TABdaripada mengklik meskipun opsi menu tak berujung. Anda dapat menggunakan
!mo
untuk menjalankan perintah terakhir yang Anda jalankan yang dimulai denganmo
(mis. Mount) dan seterusnya.Saya yakin ada seribu alasan lain yang gagal saya sebutkan.
sumber
Akhirnya? Karena Anda mulai membuat skrip, dan hal yang hebat tentang skrip adalah ini:
Alih-alih mengubah cara Anda melakukan sesuatu, Anda bisa mengubah skrip yang melakukannya.
Anda dapat menulis skrip untuk terminal, dan Anda biasanya tidak bisa untuk program grafis, jadi itu sebabnya orang menggunakan terminal.
Tapi saya merasakan sedikit "Mengapa saya harus menggunakan terminal?" dalam pertanyaan Anda. Saya tidak bisa menjawab itu untuk Anda, Anda adalah Anda dan saya bukan-Anda, tetapi pertanyaan terkait ini mungkin memberi Anda wawasan:
Bagaimana / mengapa orang akhirnya menjadi pengguna baris perintah?
Saya pikir Anda bisa mengidentifikasi tiga tahap: (1) penggunaan enggan; (2) mengetahui kebutuhan minimum untuk kenyamanan; (3) menemukan satu menikmati skrip. Seseorang dapat menggunakan terminal pada ketiga level ini; cari tahu sendiri di mana rasa ingin tahu Anda berhenti. Juga, seseorang dapat melewati tahap-tahap ini dengan sangat cepat jika seseorang hanya memutuskan seseorang ingin belajar skrip shell.
"Aku butuh program ini, jadi kurasa aku akan menggunakan command-line."
Ini dimulai, biasanya, karena orang menemukan bahwa mereka membutuhkan sesuatu yang khusus atau rumit, dan program yang direkomendasikan Google / forum / teman untuk ternyata menjadi program baris perintah. Jadi, mereka membuka terminal, dan mengetik apa yang diperintahkan oleh instruksi kepada mereka untuk mengetik, dan beginilah cara mereka menggunakan terminal. Contoh program seperti itu yang membuat Anda menggunakan command-line:
rename
adalah program kecil yang indah yang memungkinkan Anda mengubah nama banyak file berdasarkan suatu pola. Contoh sederhana:rename s/myfile([0-9]+).txt/$1-myfile.txt/
mengubah semua file dengan nama 'bond007.txt' menjadi '007-bond.txt', tidak peduli berapa jumlahnya. Mungkin Anda ingin mengganti nama beberapa file album musik, Anda tahu.Perhatikan bahwa ada ujung depan grafis untuk banyak sistem ini, tapi itu intinya: doa baris perintah adalah umum dan tradisional, banyak HOWTO mengasumsikan ini, dan beginilah permulaannya. Karena:
"Oke, aku sedikit lebih nyaman sekarang."
Begitu berada di dalam baris perintah, orang-orang mulai berpikir: Bukankah mudah jika saya bisa saja ..
cd mydir
, untuk 'ubah direktori')ls *.txt
, untuk 'daftar')mv myfile newname
,,cp myfile mycopy
danrm myfile
, untuk 'pindah', 'salin', dan 'hapus')gedit myfile
, atauleafpad
, ataunano
, atauvim
, atau apa pun.)Setelah orang mempelajari lima perintah ini, mereka pada dasarnya nyaman di baris perintah: mereka dapat bergerak, melihat, dan berinteraksi. Itu bahkan sedikit kuat: Anda dapat beroperasi pada seluruh kelompok file sekaligus dengan perintah seperti
mv iceland-*.jpg My_Iceland_Pics/
, dan bukankah itu keren?Sekarang, banyak orang dengan senang hati berhenti di sini. Mereka tahu cara menggunakan terminal, mereka akan menggunakannya saat mereka membutuhkannya, dan itu saja. Ini adalah level "terminal berguna". Namun, orang yang lebih menyukai terminal, biasanya melakukannya karena mereka membutuhkan / menginginkan / merasa tidak dapat melakukannya tanpa kekuatan spektakuler yang ditawarkan oleh scripting. Dan itu biasanya dimulai seperti ini:
"Hei, skrip hanyalah beberapa perintah dalam file!"
Realisasi ini dapat menyebabkan beberapa perubahan lebih lanjut, tergantung pada orang tersebut. Banyak yang hanya 'meh', tentu saja; tidak ada gunanya mempelajari apa yang tidak Anda butuhkan. Bagaimanapun, hal-hal seperti ini dapat terjadi:
if something_is_true; then step1a; step2; else step1b; fi
, danfor file in list_of_files; do process1 $file; process2 $file; step3; done
Anda mungkin tidak mengalami semua, atau bahkan apa pun, dari hal-hal ini. Namun, semakin berlaku untuk Anda, semakin baik terminal untuk Anda . Anda akan mengetahui sendiri berapa akhirnya Anda menggunakannya. Selamat bersenang-senang!
Posting scriptum. Dalam pemrograman
script -> run -> result
daninput -> process -> output
alur kerja sangat umum, dan terminal sangat cocok untuk alur kerja ini. Tambahkan ke fakta ini bahwa shell benar-benar tidak lain dari bahasa pemrograman lain, dan Anda akan melihat mengapa ada tumpang tindih yang sangat besar antara pengguna baris perintah dan programmer.sumber
Poin lain untuk ditambahkan: Sangat menyenangkan menggunakan baris perintah! ;)
( http://vladdolezal.com/blog/2008/the-real-reason-we-use-linux/ )
sumber
Saya baru saja menjawab pertanyaan serupa seperti ini tempo hari. Ternyata orang ini tidak pernah menggunakan pintasan keyboard untuk melakukan apa pun, jadi itu menjadi diskusi yang panjang. Saya harap Anda memiliki keakraban dengan itu ... itu akan membuat poin saya lebih dimengerti.
Pertimbangkan menggunakan pengolah kata. Jika Anda menyimpan file, Anda dapat menggunakan pintasan keyboard seperti ctrl-s. Seseorang mungkin berkata, "Saya lebih suka menggunakan menu. Ini tidak menghemat banyak waktu untuk menggunakan pintasan. Dan jika Anda harus menyimpan file baru, Anda harus menavigasi melalui sistem file ke direktori, dan kemudian ketik nama saja. " Jadi penentang ini benar bahwa setiap pintasan keyboard dengan sendirinya tidak menghemat banyak waktu. Penghematan sebenarnya adalah dengan cara merantai pintasan bersama, mis. Pilih semua, potong, tempel. Bahkan pembuat pengolah kata telah menyadari hal ini dan membuatnya lebih mudah untuk mengakses struktur file menggunakan keyboard, misalnya dapat mengakses folder / lokasi terbaru menggunakan tombol tab dan panah.
Tentu saja memilih potongan teks seringkali membutuhkan mouse ... inilah sebabnya mengapa programmer dan orang yang melakukan banyak pengeditan lebih suka menggunakan editor teks yang mendukung penggunaan keyboard penuh sehingga Anda tidak perlu menggunakan mouse. Tidak hanya mouse yang lambat , tetapi juga rentan terhadap kesalahan - sangat mudah untuk memilih atau menghapus teks yang salah.
Sekarang apa hubungannya dengan baris perintah? Keuntungan dari baris perintah adalah ia tidak menggunakan mouse yang lambat dan rawan kesalahan. Sebaliknya, Anda mengetik dan melakukannya dari satu lokasi; Anda tidak perlu mencari-cari menu lain atau mengklik di sana lalu ke sini. Itu alasan yang sama orang suka menggunakan pintasan keyboard browser web (untuk membuka tab / windows baru, menggunakan Gmail, dll.); mereka harus mengetikkan URL (atau email atau apa pun) dengan cara apa pun ... mengapa harus menjauhkan tangan Anda dari kunci?
Tetapi yang paling penting, seperti pintasan keyboard yang paling kuat ketika Anda mulai menggunakan semuanya bersama-sama (bukan hanya satu atau dua), Anda dapat menghubungkan perintah bersama untuk melakukan hal-hal yang lebih kuat yang akan mengambil selamanya melalui GUI atau Anda tidak bisa Bahkan tidak membayangkan melakukan sama sekali. Misalnya, dari baris perintah, Anda dapat memberi tahu browser web Anda, saya ingin terus menyegarkan halaman web ini setiap 30 detik, mencari teks tertentu dan ketika itu terjadi, kirim saya dan sekelompok kontak email yang mengatakan bahwa teks telah muncul di halaman web. Sebagai contoh lain, Anda dapat memberi tahu komputer Anda, saya ingin melihat SEMUA surel yang pernah saya tulis, mencari referensi ke buku ini, membuat daftar tanggal yang saya sebutkan ini dan kepada siapa, memesan daftar sesuai dengan frekuensi, dan masukkan ke email ini yang saya ketikkan sekarang.
sumber
screen
di konsol, saya jarang menggunakan mouse kecuali untuk menavigasi situs web lagi. (Tidak ada yang lebih baik menyebutkan lynx ...)CLI cepat digunakan ketika Anda tahu persis apa yang ingin Anda lakukan dan bagaimana melakukannya. Ini bisa jauh lebih efisien daripada menggunakan gui. Juga, jika Anda ingin menghubungkan dari jarak jauh ke mesin Anda, CLI jauh lebih mudah pada tautan yang lambat. Jika Anda merasa nyaman dengan CLI, Anda dapat memanfaatkan scripting juga.
Jika Anda menggunakan google cli vs gui, Anda akan mendapatkan banyak hits, misalnya:
http://www.computerhope.com/issues/ch000619.htm
Pertanyaan Anda tidak benar-benar spesifik untuk Ubuntu, linux atau bahkan PC - Anda mendapatkan perdebatan tentang hal ini dari sistem apa pun yang mendukung gui dan cli, misalnya mengkonfigurasi router Cisco.
sumber
Ada sejumlah poin bagus yang dibuat dalam jawaban tetapi saya masih punya poin tambahan untuk dibuat. Terkadang setelah menginstal atau atau memperbarui aplikasi GUI tidak akan memulai dan meninggalkan Anda tanpa pesan kesalahan. Dalam kasus ini, akan sangat membantu untuk membuka jendela terminal dan memulai ap dari baris perintah. Hampir selalu ada lebih banyak informasi yang diberikan pada terminal daripada yang disajikan ketika mulai dari GUI.
sumber
Favorit saya kurang mengetik . Bagaimana ini bisa saya dengar Anda bertanya. Yah saya masuk, membalikkan pencarian atau panah atas) untuk perintah yang saya ketik minggu lalu dan tekan carriage return. Alternatifnya adalah lebih banyak klik mouse (dan mencoba mengingat).
Favorit kedua saya adalah membuatnya lebih mudah untuk menjawab pertanyaan tentang stack-overflow; Tidak diperlukan tangkapan layar, hanya teks.
sumber
Bagaimana ketika Anda perlu melakukan sesuatu sebagai "root"? Masuk melalui GUI sebagai root adalah ide yang buruk (dan saya bahkan tidak berpikir Ubuntu akan memungkinkan Anda untuk melakukannya, secara default).
Juga, pertimbangkan bahwa GUI Linux (X11) hanyalah sebuah program yang berjalan seperti yang lainnya. Jika X11 mengalami crash, Anda akan senang mengetahui perintah-baris Anda.
sumber
Saya hanya ingin berkontribusi dengan contoh, yang menurut saya sangat berguna, dari instruksi untuk menambahkan PPA untuk VirtualBox. Ketika Anda menambahkan PPA, Anda juga harus mendaftarkan kunci publik, jadi metode GUI:
Menjelaskan ini dalam buku petunjuk bisa mahal! Sebagai gantinya, itu dapat dilakukan dengan satu baris perintah & sederhana:
sumber
Baris perintah bekerja dengan sangat baik seperti halnya di windows-ingat kotak teks yang masuk msdos dengan latar belakang hitam?
Ini memberi pengguna sarana untuk mengeluarkan perintah langsung ke komputer tanpa menguras sumber daya komputer yang dibawa GUI. Ini juga merupakan cara mengeluarkan perintah yang kuat untuk melakukan hal-hal yang tidak dapat dilakukan melalui GUI.
Saya tidak mengetuk kegunaan cara GUI bekerja tetapi di tangan seorang op yang terampil, cara baris perintah bisa sangat cepat dan efisien. Di tangan seorang penyihir nyata, baris perintah menghasilkan keajaiban. Saya baru saja menggaruk permukaan kemungkinan, belajar sesuatu yang baru setiap hari. Saya tidak akan pernah menjadi penyihir-terlalu tua- tapi saya ingin menjadi op rata-rata suatu hari ...
Selamat datang di Ubuntu dan Tanya Ubuntu. Ini tempat yang bagus !!
sumber
Untuk seorang pemula, terminal adalah tugas yang harus digunakan, tetapi jika Anda mulai belajar bagaimana menggunakannya, itu menjadi lebih mudah. Setelah Anda merasa nyaman dengan itu, itu memberi Anda rasa percaya diri bahwa Anda dapat menangani hal-hal ketika mereka salah.
Misalnya, ketika program gui menolak untuk memulai, dan Anda tidak tahu apa yang salah, Anda dapat menjalankan perintah di terminal, dan sering melihat alasan masalah pada output terminal. Kemudian, Anda dapat menyalin sebagian dari itu ke dalam pencarian, dan menemukan jawabannya, jika perlu.
Anda dapat memasukkan perintah dengan "--help", dan mendapatkan daftar opsi baris perintah yang mungkin berguna untuk beberapa kasus khusus.
Jika ada masalah, dan GUI bahkan tidak akan berjalan sama sekali, Anda sering dapat membuka terminal virtual atau mungkin hanya baris perintah dari bootup, dan memperbaiki masalah dengan mengedit file konfigurasi, atau menjalankan program commandline.
sumber
Sederhananya, Anda memiliki lebih dari seratus tombol yang dapat mengontrol / berbicara / memesan komputer daripada satu mouse tunggal dengan dua atau tiga tombol. Semakin banyak kontrol yang Anda miliki, semakin cepat Anda bisa.
Bagi siapa pun yang tidak tahu mengetik, keyboard di layar mungkin terlihat bagus. Namun lebih cepat Anda bisa menggunakan mouse, Anda tidak bisa mengetik lebih cepat daripada menggunakan keyboard.
Jika Anda menggunakan mouse / windows, itu seperti komputer yang mengendalikan Anda dan menentukan apa yang dapat Anda lakukan. Ketika Anda terbiasa dengan dunia baris perintah, Anda dapat merasakan seluruh sistem di bawah kendali Anda menunggu pesanan Anda. Anda perlu mengalaminya untuk memahami perbedaannya.
sumber
Aku bahkan tidak melihat gunanya mengecek jawaban lol. Bagaimanapun. Terminal seperti CMD Anda di Windows. Kembali pada hari-hari, sebelum GUI muncul, orang memprogram dan bekerja di bawah mode DOS, Terminal cukup banyak. GUI dibuat untuk membuat tugas lebih sederhana dan mudah, tetapi terkadang menggunakan GUI sebenarnya membutuhkan lebih banyak pekerjaan.
Sebagai contoh, sebagai pengembang, jika saya hanya ingin mengkompilasi program C ++, saya tidak harus menggunakan IDE yang canggih. IDE adalah antarmuka GUI yang memiliki banyak fitur canggih yang tidak ditawarkan oleh editor teks sederhana. Jadi, alih-alih mengunduh IDE yang sangat besar untuk tugas sederhana, saya bisa menulis yang berikut ini dan akan menjalankan program C ++ saya, yang file executable-nya dipanggil
main
.Jika Anda menggunakan bahasa juru bahasa seperti Python, Anda dapat memasukkan shell interaktif Python. Iya. Ada kerang interaktif yang dibungkus GUI yang bagus, tetapi lebih lambat dan bermasalah (oh pikirkan IDLE ...)
Terkadang ketika GUI rusak, Anda dapat mencoba menggunakan Terminal untuk membukanya. Terkadang, beberapa perangkat lunak di Linux tidak menawarkan GUI yang baik atau sangat sulit untuk menemukan di mana peluncur GUI, Anda cukup pergi ke Terminal dan mengetik, misalnya:
Ini akan membuka homework.pdf untuk Anda.
Dalam situasi lain, GUI tidak menawarkan kekuatan dan sihir yang cukup untuk melakukan tugas Anda. Beberapa fungsi pencarian sangat mendasar, dan Anda tidak dapat menerapkan pencarian mendalam, atau pola pencarian yang rumit. Tetapi melalui terminal, sebuah perintah dapat dikeluarkan dengan pola yang benar-benar rumit dan panjang.
GUI itu bagus, tetapi kadang-kadang melalui perintah Anda bisa membuat semuanya lebih sederhana juga. Terkadang Anda tidak punya pilihan: Anda harus menggunakan perintah melalui terminal.
sumber
Saya akan menambahkan titik sisi yang tampaknya tidak disebutkan, bahkan jika itu bukan keuntungan sejati.
Pikirkan fakta bahwa GUI seperti "panel" yang memberikan akses ke fungsi-fungsi yang dimiliki oleh program sebenarnya . Banyak perangkat lunak, terutama jika dalam versi awal, tidak memiliki GUI, dan Anda hanya dapat menjalankannya dari terminal. Dan, seperti yang ditunjukkan orang lain, bahkan aplikasi yang memiliki GUI, terkadang tidak memiliki antarmuka untuk semua fungsi; untuk fungsi-fungsi itu, Anda harus menggunakan terminal.
sumber
Semua orang telah menggambarkan keuntungan dengan baik, saya hanya ingin menambahkan bahwa selain dari transparansi di mana Anda bisa melihat semua dependensi terdaftar, kecepatannya. Setelah matinya sinaptik dari Ubuntu, pusat perangkat lunak terlalu lamban terutama pada mesin yang lebih lambat, di sini menginstal dari terminal jauh lebih cepat.
sumber