Saya mencari perbedaan antara adduser
dan useradd
, dan penjelasannya adalah itu useradd
adalah perintah sedangkan adduser
skrip perl. Saya mengerti apa skrip perl, tetapi apa yang saya tidak mengerti adalah apa command
sebenarnya itu.
Saya selalu berpikir bahwa perintah seperti ls
, ln
, cd
dll semua program sederhana yang ditulis dalam bahasa apa pun yang hanya melakukan satu hal. Apa perbedaan antara "program sederhana" dan skrip perl ini?
Saya tentu saja tahu bahwa skrip (perl) tidak dikompilasi tetapi ditafsirkan pada saat runtime, tapi saya kira itu bukan satu-satunya perbedaan?
linux
command-line
bash
perl
kramer65
sumber
sumber
Jawaban:
Secara sederhana, perintah adalah instruksi (atau serangkaian instruksi) yang harus dilakukan oleh komputer.
Perintah yang berdiri sendiri
Utilitas Unix fundamental seperti
ls
,ln
, dll (biasanya) ditulis dalam C dan dikompilasi menjadi executable yang berdiri sendiri program yang tidak memerlukan penerjemah untuk dieksekusi; mereka biasanya memerlukan file pustaka tertentu untuk diinstal pada sistem tetapi itu adalah jawaban untuk pertanyaan lain.Skrip
Sebuah skrip adalah kumpulan perintah dan pada kenyataannya, skrip itu sendiri dianggap sebagai sebuah perintah.
Sebuah Perl Script adalah urutan pernyataan Perl dan membutuhkan
perl
(berdiri sendiri dan dikompilasi) executable program yang menafsirkan pernyataan Perl.Terkadang skrip interpretatif yang besar dan kompleks (dalam bahasa seperti Perl, Python dan Ruby) juga disebut sebagai program yang ditafsirkan sementara skrip istilah dicadangkan untuk skrip yang lebih pendek dan lebih sederhana.
Sebuah shell script adalah urutan perintah lain (semua jenis perintah) dan itu membutuhkan Unix shell seperti Bash untuk menafsirkan script. Dari halaman manual Bash:
Built-in Shell
Kerang biasanya telah built-in perintah yang tidak berdiri sendiri program atau script. Sebaliknya, mereka adalah bagian dari shell itu sendiri dan dijalankan langsung oleh shell.
cd
adalah contoh dari perintah bawaan tersebut.Beberapa kali ada perintah yang ada sebagai shell built-in dan sebagai perintah yang berdiri sendiri pada saat yang sama, misalnya
echo
perintah.echo
pada dirinya sendiri mengeksekusi shell built-in sementara perintah yang berdiri sendiri dapat dieksekusi dengan menyediakan path lengkapnya.Jalankan versi internal gema:
Jalankan
echo
program yang berdiri sendiri :Catatan: Spesifikasi di atas merujuk ke lingkungan Unix tetapi prinsip yang sama berlaku untuk lingkungan Windows.
sumber
.bat
file dalam banyak, bertahun-tahun).Perintah bawaan adalah bagian dari shell. Suatu program dijalankan oleh shell.
http://www.gnu.org/software/bash/manual/bashref.html#Shell-Builtin-Commands
sumber
useradd
bukan shell built-in. Situs web itu hanya mengatakan "perintah", bukan "perintah bawaan". Bagaimana penjelasan ini relevan dengan pertanyaan ini?Perintah hanya berarti cara untuk memberitahu aplikasi atau sistem untuk melakukan sesuatu.
Suatu aplikasi biasanya akan menerima banyak perintah berbeda, baik dari GUI, dari
stdin
, tetapi metode lain dimungkinkan, misalnya soket UNIX atau pipa bernama, semacam API web, koneksi RPC, atau beberapa protokol khusus lainnya.Aplikasi yang hanya melakukan satu hal, lalu keluar, biasanya tanpa GUI, juga dapat disebut sebagai perintah, karena Anda hanya dapat "memberikan" aplikasi ini satu "perintah" yang berarti. Ini adalah bagaimana program kecil suka
ls
dan itu bekerja dan mengapa mereka disebut perintah.Tapi Anda tidak akan menyebut perintah Photoshop, tetapi Anda pasti akan mengeluarkan perintah di dalamnya melalui GUI.
Namun, istilah ini dapat memiliki arti yang berbeda bagi orang yang berbeda. Dalam contoh Anda, perintah sedang digunakan untuk menggambarkan yang dapat dieksekusi yang dijalankan secara langsung, versus file yang membutuhkan penerjemah skrip untuk bekerja. Perbedaannya bisa penting karena ketika Anda menjalankan skrip Perl,
/usr/bin/perl
adalah biner yang benar-benar berjalan (jadi jika Anda ingin membunuh skrip Perl yang berjalan lama, itulah yang harus Anda carips
). Namun, sebagian besar shell memiliki perintah "built-in" yang merupakan perintah untuk shell itu sendiri dan tidak menyebabkan eksekusi eksternal untuk dijalankan. Misalnya,cd
ditanganibash
sendiri dan tidak dipanggil/sbin/cd
atau serupa.sumber